SQL::Statement::Function - abstract base class for all function executing terms

NAME  SYNOPSIS  DESCRIPTION  INHERITANCE  METHODS  DESTROY  NAME  SYNOPSIS  DESCRIPTION  INHERITANCE  METHODS  new  value  NAME  SYNOPSIS  DESCRIPTION  INHERITANCE  METHODS  new  value  NAME  SYNOPSIS  DESCRIPTION  INHERITANCE  METHODS  new  value  NAME  SYNOPSIS  DESCRIPTION  INHERITANCE  METHODS  new  value  NAME  SYNOPSIS  DESCRIPTION  INHERITANCE  METHODS  new  value  AUTHOR AND COPYRIGHT 

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.


Updated 2024-01-29 - jenkler.se | uex.se