SQL::Statement::Function(3) User Contributed Perl Documentation SQL::Statement::Function(3)
NAME
SQL::Statement::Function - abstract base class for all function executing terms
SYNOPSIS
# this class doesn't have a common constructor, because all derived classes
# have their special requirements
DESCRIPTION
SQL::Statement::Function is an abstract base class providing the interface for all function executing terms.
INHERITANCE
SQL::Statement::Function
ISA SQL::Statement::Term
METHODS
DESTROY
Destroys the term and undefines the weak reference to the owner as well as the reference to the parameter list.
NAME
SQL::Statement::Function::UserFunc - implements executing a perl subroutine
SYNOPSIS
# create an user function term with an SQL::Statement object as owner,
# specifying the function name, the subroutine name (full qualified)
# and the parameters to the subroutine
my $term = SQL::Statement::Function::UserFunc->new( $owner, $name, $sub, @params );
# access the result of that operation
$term->value( $eval );
DESCRIPTION
SQL::Statement::Function::UserFunc implements a term which returns the result of the specified subroutine.
INHERITANCE
SQL::Statement::Function
ISA SQL::Statement::Term
METHODS
new
Instantiates a new "SQL::Statement::Function::UserFunc" instance.
value
Invokes the given soubroutine with the values of the params and return it's result:
my @params = map { $_->value($eval); } @{ $self->{PARAMS} };
return $subpkg->$subname( $self->{OWNER}, @params );
NAME
SQL::Statement::Function::NumericEval - implements numeric evaluation of a term
SYNOPSIS
# create an user function term with an SQL::Statement object as owner,
# specifying the expression to evaluate and the parameters to the subroutine
my $term = SQL::Statement::NumericEval->new( $owner, $expr, @params );
# access the result of that operation
$term->value( $eval );
DESCRIPTION
SQL::Statement::Function::NumericEval implements the numeric evaluation of a term. All parameters are expected to be numeric.
INHERITANCE
SQL::Statement::Function::NumericEval
ISA SQL::Statement::Function
ISA SQL::Statement::Term
METHODS
new
Instantiates a new "SQL::Statement::Function::NumericEval" instance. Takes $owner, $expr and @params as arguments (in specified order).
value
Returns the result of the evaluated expression.
NAME
SQL::Statement::Function::Trim - implements the built-in trim function support
SYNOPSIS
# create an trim function term with an SQL::Statement object as owner,
# specifying the spec, char and the parameters to the subroutine
my $term = SQL::Statement::Trim->new( $owner, $spec, $char, @params );
# access the result of that operation
$term->value( $eval );
DESCRIPTION
SQL::Statement::Function::Trim implements string trimming.
INHERITANCE
SQL::Statement::Function::Trim
ISA SQL::Statement::Function
ISA SQL::Statement::Term
METHODS
new
Instantiates a new "SQL::Statement::Function::Trim" instance. Takes $owner, $spec, $char and @params as arguments (in specified order).
Meaning of the parameters:
$spec
Can be on of 'LEADING', 'TRAILING' 'BOTH'. Trims the leading chars, trailing chars or at both ends, respectively.
Defaults to 'BOTH'.
$char
The character to trim - defaults to ' '
@params
Expected to be an array with exact 1 element (more aren't evaluated).
value
Returns the trimmed value of first parameter argument.
NAME
SQL::Statement::Function::SubString - implements the built-in sub-string function support
SYNOPSIS
# create an substr function term with an SQL::Statement object as owner,
# specifying the start and length of the sub string to extract from the
# first element of @params
my $term = SQL::Statement::SubString->new( $owner, $start, $length, @params );
# access the result of that operation
$term->value( $eval );
DESCRIPTION
SQL::Statement::Function::SubString implements a sub-string extraction term.
INHERITANCE
SQL::Statement::Function::SubString
ISA SQL::Statement::Function
ISA SQL::Statement::Term
METHODS
new
Instantiates a new "SQL::Statement::Function::SubString" instance. Takes $owner, $start, $length and @params as arguments (in specified
order).
Meaning of the parameters:
$start
Specifies the start position to extract the sub-string. This is expected to be a SQL::Statement::Term instance. The first character in
a string has the position 1.
$length
Specifies the length of the extracted sub-string. This is expected to be a SQL::Statement::Term instance.
If omitted, everything to the end of the string is returned.
@params
Expected to be an array with exact 1 element (more aren't evaluated).
value
Returns the extracted sub-string value from first parameter argument.
NAME
SQL::Statement::Function::StrConcat - implements the built-in string concatenation
SYNOPSIS
# create an substr function term with an SQL::Statement object as owner
# and @params to concatenate
my $term = SQL::Statement::StrConcat->new( $owner, @params );
# access the result of that operation
$term->value( $eval );
DESCRIPTION
SQL::Statement::Function::StrConcat implements a string concatenation term.
INHERITANCE
SQL::Statement::Function::StrConcat
ISA SQL::Statement::Function
ISA SQL::Statement::Term
METHODS
new
Instantiates a new "SQL::Statement::Function::StrConcat" instance.
value
Returns the concatenated string composed of the parameter values.
AUTHOR AND COPYRIGHT
Copyright (c) 2009,2010 by Jens Rehsack: rehsackATcpan.org
All rights reserved.
You may distribute this module under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl
README file.
perl v5.12.1 2010-05-06 SQL::Statement::Function(3)