Provided by: libsql-statement-perl_1.414-1_all bug

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.