The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DBIx::SQLEngine::Criteria - Struct for database criteria info

SYNOPSIS

  my $crit = DBIx::SQLEngine::Criteria->type_new( $type, ... );
  
  print $crit->sql_where();

DESCRIPTION

DBIx::SQLEngine::Criteria objects hold information about particular query criteria.

REFERENCE

Constructor

Multiple subclasses based on type.

new

Abstract. Implemented in each subclass

type_new
  DBIx::SQLEngine::Criteria->type_new( $type, @args ) : $criteria

Looks up type, then calls new.

type

Multiple subclasses based on type. (See "subclass_name" in Class::MakeMethods::Template::ClassName.)

Generic Argument Parsing

auto
  DBIx::SQLEngine::Criteria->auto( $sql_string ) : $criteria
  DBIx::SQLEngine::Criteria->auto( [ $sql_string, @params ] ) : $criteria
  DBIx::SQLEngine::Criteria->auto( { fieldname => matchvalue, ... } ) : $criteria
  DBIx::SQLEngine::Criteria->auto( $criteria_object ) : $criteria_object

Convert any one of several standard criteria representations into a DBIx::SQLEngine::Criteria object.

auto_and
  DBIx::SQLEngine::Criteria->auto( @any_of_the_above ) : $criteria

Create a single criteria requiring the satisfaction of each of the separate criteria passed in. Supports the same argument forms as auto.

auto_where
  DBIx::SQLEngine::Criteria->auto_where( @any_of_the_above ) : $sql, @params

Create a single criteria requiring the satisfaction of each of the separate criteria passed in, and returns its sql_where results. Supports the same argument forms as auto.

INCLUDED SUBCLASSES

The following criteria subclasses are included in this distribution:

Logical Groupings

And

Requires all of its subclauses to be true.

Or

Requires at least one of its subclauses to be true.

Not

Requires its one subclause to be false.

Comparison

Equality

Requires an exact match with its comparison value.

Greater

Requires a value higher than its comparison value.

Lesser

Requires a value lower than its comparison value.

Like

Requires a value that matches its comparison value, including any SQL wildcards.

StringComparison

Functions as an Equality unless a wildcard is used, in which case it's a Like.

Programmer Convenience

HashGroup

Easy way to create a group of StringComparison criteria.

LiteralSQL

Encapsulates a snippet of literal SQL, optionally with placeholder parameters.

Backwards Compatibility

StringEquality

Empty subclass to support an old name for Equality Criteria.

NumericLesser

Empty subclass to support an old name for Lesser Criteria.

SEE ALSO

See DBIx::SQLEngine for the overall interface and developer documentation.

See DBIx::SQLEngine::Docs::ReadMe for general information about this distribution, including installation and license information.