manpagez: man pages & more
man SQL::Statement::Operation(3)
Home | html | info | man
SQL::Statement::Operation(3)



NAME

       SQL::Statement::Operation - base class for all operation terms


SYNOPSIS

         # create an operation with an SQL::Statement object as owner, specifying
         # the operation name (for error purposes), the left and the right
         # operand
         my $term = SQL::Statement::Operation->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation is an abstract base class providing the
       interface for all operation terms.


INHERITANCE

         SQL::Statement::Operation
         ISA SQL::Statement::Term


METHODS

   new
       Instantiates new operation term.

   value
       Return the result of the operation of the term by calling operate

   operate
       Abstract method which will do the operation of the term. Must be
       overridden by derived classes.

   op
       Returns the name of the executed operation.

   left
       Returns the left operand (if any).

   right
       Returns the right operand (if any).

   DESTROY
       Destroys the term and undefines the weak reference to the owner as well
       as the stored operation, the left and the right operand.


NAME

       SQL::Statement::Operation::Neg - negate operation


SYNOPSIS

         # create an <not> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and B<no> right operand
         my $term = SQL::Statement::Neg->new( $owner, $op, $left, undef );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::Neg


INHERITANCE

         SQL::Statement::Operation::Neg
         ISA SQL::Statement::Operation
           ISA SQL::Statement::Term


METHODS

   operate
       Return the logical negated value of the left operand.


NAME

       SQL::Statement::Operation::And - and operation


SYNOPSIS

         # create an C<and> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::And->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::And implements the logical "and" operation
       between two terms.


INHERITANCE

         SQL::Statement::Operation::And
         ISA SQL::Statement::Operation
           ISA SQL::Statement::Term


METHODS

   operate
       Return the result of the logical "and" operation for the values of the
       left and right operand.


NAME

       SQL::Statement::Operation::Or - or operation


SYNOPSIS

         # create an C<or> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::Or->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::Or implements the logical "or" operation
       between two terms.


INHERITANCE

         SQL::Statement::Operation::Or
         ISA SQL::Statement::Operation
           ISA SQL::Statement::Term


METHODS

   operate
       Return the result of the logical "or" operation for the values of the
       left and right operand.


NAME

       SQL::Statement::Operation::Is - is operation


SYNOPSIS

         # create an C<is> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::Is->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::Is supports: "IS NULL", "IS TRUE" and "IS
       FALSE".  The right operand is always evaluated in boolean context in
       case of "IS TRUE" and "IS FALSE". "IS NULL" returns true even if the
       left term is an empty string ('').


INHERITANCE

         SQL::Statement::Operation::Is
         ISA SQL::Statement::Operation
           ISA SQL::Statement::Term


METHODS

   operate
       Returns true when the left term is null, true or false - based on the
       requested right value.


NAME

       SQL::Statement::Operation::ANSI::Is - is operation


SYNOPSIS

         # create an C<is> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::Is->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::ANSI::Is supports: "IS NULL", "IS TRUE" and
       "IS FALSE".  The right operand is always evaluated in boolean context
       in case of "IS TRUE" and "IS FALSE". "IS NULL" returns true if the
       right term is not defined, false otherwise.


INHERITANCE

         SQL::Statement::Operation::Is
         ISA SQL::Statement::Operation
           ISA SQL::Statement::Term


METHODS

   operate
       Returns true when the left term is null, true or false - based on the
       requested right value.


NAME

       SQL::Statement::Operation::Contains - in operation


SYNOPSIS

         # create an C<in> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::Contains->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::Contains expects the right operand is an
       array of SQL::Statement::Term instances. It checks whether the left
       operand is in the list of the right operands or not like:

         $left->value($eval) ~~ map { $_->value($eval) } @{$right}


INHERITANCE

         SQL::Statement::Operation::Contains
         ISA SQL::Statement::Operation
           ISA SQL::Statement::Term


METHODS

   operate
       Returns true when the left term is equal to any of the right terms


NAME

       SQL::Statement::Operation::Between - between operation


SYNOPSIS

         # create an C<between> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::Between->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::Between expects the right operand is an
       array of 2 SQL::Statement::Term instances. It checks whether the left
       operand is between the right operands like:

            ( $left->value($eval) >= $right[0]->value($eval) )
         && ( $left->value($eval) <= $right[1]->value($eval) )


INHERITANCE

         SQL::Statement::Operation::Between
         ISA SQL::Statement::Operation
           ISA SQL::Statement::Term


METHODS

   operate
       Returns true when the left term is between both right terms


NAME

       SQL::Statement::Operation::Equality - abstract base class for
       comparisons


SYNOPSIS

         # create an C<equality> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::Equality->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::Equality implements compare operations
       between two terms - choosing either numerical comparison or string
       comparison, depending whether both operands are numeric or not.


INHERITANCE

         SQL::Statement::Operation::Equality
         ISA SQL::Statement::Operation
           ISA SQL::Statement::Term


METHODS

   operate
       Return the result of the comparison.

   numcmp
       Abstract method which will do the numeric comparison of both terms.
       Must be overridden by derived classes.

   strcmp
       Abstract method which will do the string comparison of both terms. Must
       be overridden by derived classes.


NAME

       SQL::Statement::Operation::Equal - implements equal operation


SYNOPSIS

         # create an C<equal> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::Equal->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::Equal implements compare operations between
       two numbers and two strings.


INHERITANCE

         SQL::Statement::Operation::Equal
         ISA SQL::Statement::Operation::Equality
           ISA SQL::Statement::Operation
             ISA SQL::Statement::Term


METHODS

   numcmp
       Return true when "$left == $right"

   strcmp
       Return true when "$left eq $right"


NAME

       SQL::Statement::Operation::NotEqual - implements not equal operation


SYNOPSIS

         # create an C<not equal> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::NotEqual->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::NotEqual implements negated compare
       operations between two numbers and two strings.


INHERITANCE

         SQL::Statement::Operation::NotEqual
         ISA SQL::Statement::Operation::Equality
           ISA SQL::Statement::Operation
             ISA SQL::Statement::Term


METHODS

   numcmp
       Return true when "$left != $right"

   strcmp
       Return true when "$left ne $right"


NAME

       SQL::Statement::Operation::Lower - implements lower than operation


SYNOPSIS

         # create an C<lower than> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::Lower->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::Lower implements lower than compare
       operations between two numbers and two strings.


INHERITANCE

         SQL::Statement::Operation::Lower
         ISA SQL::Statement::Operation::Equality
           ISA SQL::Statement::Operation
             ISA SQL::Statement::Term


METHODS

   numcmp
       Return true when "$left < $right"

   strcmp
       Return true when "$left lt $right"


NAME

       SQL::Statement::Operation::Greater - implements greater than operation


SYNOPSIS

         # create an C<greater than> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::Greater->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::Greater implements greater than compare
       operations between two numbers and two strings.


INHERITANCE

         SQL::Statement::Operation::Greater
         ISA SQL::Statement::Operation::Equality
           ISA SQL::Statement::Operation
             ISA SQL::Statement::Term


METHODS

   numcmp
       Return true when $left  $right>

   strcmp
       Return true when "$left gt $right"


NAME

       SQL::Statement::Operation::LowerEqual - implements lower equal
       operation


SYNOPSIS

         # create an C<lower equal> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::LowerEqual->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::LowerEqual implements lower equal compare
       operations between two numbers and two strings.


INHERITANCE

         SQL::Statement::Operation::LowerEqual
         ISA SQL::Statement::Operation::Equality
           ISA SQL::Statement::Operation
             ISA SQL::Statement::Term


METHODS

   numcmp
       Return true when "$left <= $right"

   strcmp
       Return true when "$left le $right"


NAME

       SQL::Statement::Operation::GreaterEqual - implements greater equal
       operation


SYNOPSIS

         # create an C<greater equal> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::GreaterEqual->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::GreaterEqual implements greater equal
       compare operations between two numbers and two strings.


INHERITANCE

         SQL::Statement::Operation::GreaterEqual
         ISA SQL::Statement::Operation::Equality
           ISA SQL::Statement::Operation
             ISA SQL::Statement::Term


METHODS

   numcmp
       Return true when $left = $right>

   strcmp
       Return true when "$left ge $right"


NAME

       SQL::Statement::Operation::Regexp - abstract base class for comparisons
       based on regular expressions


SYNOPSIS

         # create an C<regexp> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::Regexp->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::Regexp implements the comparisons for the
       "LIKE" operation family.


INHERITANCE

         SQL::Statement::Operation::Regexp
         ISA SQL::Statement::Operation
           ISA SQL::Statement::Term


METHODS

   operate
       Return the result of the comparison.

   right
       Returns the regular expression based on the right term. The right term
       is expected to be constant - so "a LIKE b" in not supported.

   regexp
       Abstract method which must return a regular expression ("qr//") from
       the given string.  Must be overridden by derived classes.


NAME

       SQL::Statement::Operation::Like - implements the like operation


SYNOPSIS

         # create an C<like> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::Like->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::Like is used to the comparisons for the
       "LIKE" operation.


INHERITANCE

         SQL::Statement::Operation::Like
         ISA SQL::Statement::Operation::Regexp
           ISA SQL::Statement::Operation
             ISA SQL::Statement::Term


METHODS

   regexp
       Returns "qr/^$right$/s"


NAME

       SQL::Statement::Operation::Clike - implements the clike operation


SYNOPSIS

         # create an C<clike> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::Clike->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::Clike is used to the comparisons for the
       "CLIKE" operation.


INHERITANCE

         SQL::Statement::Operation::Clike
         ISA SQL::Statement::Operation::Regexp
           ISA SQL::Statement::Operation
             ISA SQL::Statement::Term


METHODS

   regexp
       Returns "qr/^$right$/si"


NAME

       SQL::Statement::Operation::RLike - implements the rlike operation


SYNOPSIS

         # create an C<rlike> operation with an SQL::Statement object as owner,
         # specifying the operation name, the left and the right operand
         my $term = SQL::Statement::RLike->new( $owner, $op, $left, $right );
         # access the result of that operation
         $term->value( $eval );


DESCRIPTION

       SQL::Statement::Operation::RLike is used to the comparisons for the
       "RLIKE" operation.


INHERITANCE

         SQL::Statement::Operation::RLike
         ISA SQL::Statement::Operation::Regexp
           ISA SQL::Statement::Operation
             ISA SQL::Statement::Term


METHODS

   regexp
       Returns "qr/$right$/s"


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.



perl v5.30.3                      2020-10-21      SQL::Statement::Operation(3)

sql-statement 1.101.0 - Generated Sat Oct 24 10:59:08 CDT 2020
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.