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 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 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.