Jens Rehsack > SQL-Statement-1.400_002 > SQL::Statement::Function

Download:
SQL-Statement-1.400_002.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  4
Open  8
Stalled  7
View/Report Bugs
Module Version: 1.400   Source   Latest Release: SQL-Statement-1.405

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.

syntax highlighting: