table of contents
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 does not 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 subroutine 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 are not 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 are not 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-2020 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.
2020-10-22 | perl v5.40.0 |