|
NAMESQL::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 ); DESCRIPTIONSQL::Statement::Operation is an abstract base class providing the interface for all operation terms. INHERITANCESQL::Statement::Operation ISA SQL::Statement::Term METHODSnewInstantiates new operation term. valueReturn the result of the operation of the term by calling operate operateAbstract method which will do the operation of the term. Must be overridden by derived classes. opReturns the name of the executed operation. leftReturns the left operand (if any). rightReturns the right operand (if any). DESTROYDestroys the term and undefines the weak reference to the owner as well as the stored operation, the left and the right operand. NAMESQL::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 ); DESCRIPTIONSQL::Statement::Operation::Neg INHERITANCE SQL::Statement::Operation::Neg
ISA SQL::Statement::Operation
ISA SQL::Statement::Term
METHODSoperateReturn the logical negated value of the left operand. NAMESQL::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 ); DESCRIPTIONSQL::Statement::Operation::And implements the logical "and" operation between two terms. INHERITANCE SQL::Statement::Operation::And
ISA SQL::Statement::Operation
ISA SQL::Statement::Term
METHODSoperateReturn the result of the logical "and" operation for the values of the left and right operand. NAMESQL::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 ); DESCRIPTIONSQL::Statement::Operation::Or implements the logical "or" operation between two terms. INHERITANCE SQL::Statement::Operation::Or
ISA SQL::Statement::Operation
ISA SQL::Statement::Term
METHODSoperateReturn the result of the logical "or" operation for the values of the left and right operand. NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSoperateReturns true when the left term is null, true or false - based on the requested right value. NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSoperateReturns true when the left term is null, true or false - based on the requested right value. NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSoperateReturns true when the left term is equal to any of the right terms NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSoperateReturns true when the left term is between both right terms NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSoperateReturn the result of the comparison. numcmpAbstract method which will do the numeric comparison of both terms. Must be overridden by derived classes. strcmpAbstract method which will do the string comparison of both terms. Must be overridden by derived classes. NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSnumcmpReturn true when "$left == $right" strcmpReturn true when "$left eq $right" NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSnumcmpReturn true when "$left != $right" strcmpReturn true when "$left ne $right" NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSnumcmpReturn true when "$left < $right" strcmpReturn true when "$left lt $right" NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSnumcmpReturn true when $left $right> strcmpReturn true when "$left gt $right" NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSnumcmpReturn true when "$left <= $right" strcmpReturn true when "$left le $right" NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSnumcmpReturn true when $left = $right> strcmpReturn true when "$left ge $right" NAMESQL::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 ); DESCRIPTIONSQL::Statement::Operation::Regexp implements the comparisons for the "LIKE" operation family. INHERITANCE SQL::Statement::Operation::Regexp
ISA SQL::Statement::Operation
ISA SQL::Statement::Term
METHODSoperateReturn the result of the comparison. rightReturns the regular expression based on the right term. The right term is expected to be constant - so "a LIKE b" in not supported. regexpAbstract method which must return a regular expression ("qr//") from the given string. Must be overridden by derived classes. NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSregexpReturns "qr/^$right$/s" NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSregexpReturns "qr/^$right$/si" NAMESQL::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 ); DESCRIPTIONSQL::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
METHODSregexpReturns "qr/$right$/s" AUTHOR AND COPYRIGHTCopyright (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.
|