package Fey::SQL; use strict; use warnings; our $VERSION = '0.34'; use Fey::SQL::Delete; use Fey::SQL::Insert; use Fey::SQL::Select; use Fey::SQL::Update; use Fey::SQL::Where; use Fey::SQL::Union; use Fey::SQL::Intersect; use Fey::SQL::Except; use Fey::Types; sub new_delete { shift; return Fey::SQL::Delete->new(@_); } sub new_insert { shift; return Fey::SQL::Insert->new(@_); } sub new_select { shift; return Fey::SQL::Select->new(@_); } sub new_update { shift; return Fey::SQL::Update->new(@_); } sub new_where { shift; return Fey::SQL::Where->new(@_); } sub new_union { shift; return Fey::SQL::Union->new(@_); } sub new_intersect { shift; return Fey::SQL::Intersect->new(@_); } sub new_except { shift; return Fey::SQL::Except->new(@_); } 1; __END__ =head1 NAME Fey::SQL - Documentation on SQL generation with Fey and SQL object factory =head1 SYNOPSIS my $sql = Fey::SQL->new_select(); $sql->select( @columns ); =head1 DESCRIPTION This module mostly exists to provide documentation and a factory interface for making SQL statement objects. For convenience, loading this module loads all of the C classes, such as L, L, etc. =head1 METHODS This class acts as a factory for the various SQL statement classes, such as L or L. This is simply sugar which makes it easy to replace C with a subclass, either for your application or for a specific DBMS. =head2 Fey::SQL->new_select() Returns a new C object. =head2 Fey::SQL->new_insert() Returns a new C object. =head2 Fey::SQL->new_update() Returns a new C object. =head2 Fey::SQL->new_delete() Returns a new C object. =head2 Fey::SQL->new_where() Returns a new C object. =head2 Fey::SQL->new_union() Returns a new C object. =head2 Fey::SQL->new_intersect() Returns a new C object. =head2 Fey::SQL->new_except() Returns a new C object. =head1 CREATING SQL This documentation covers the clauses in SQL queries which are shared across different types of queries, including C, C, and C. For SQL clauses that are specific to one type of query, see the appropriate subclass. For example, for C