Provided by: libalzabo-perl_0.92-3_all bug

NAME

       Alzabo::SQLMaker::MySQL - Alzabo SQL making class for MySQL

SYNOPSIS

         use Alzabo::SQLMaker;

         my $sql = Alzabo::SQLMaker->new( sql => 'MySQL' );

DESCRIPTION

       This class implementes MySQL-specific SQL creation.  MySQL does not allow subselects.  Any
       attempt to use a subselect (by passing an "Alzabo::SQMaker" object in as parameter to a
       method) will result in an "Alzabo::Exception::SQL" error.

METHODS

       Almost all of the functionality inherited from Alzabo::SQLMaker is used as is.  The only
       overridden methods are "limit()" and "get_limit()", as MySQL does allow for a "LIMIT"
       clause in its SQL.

EXPORTED SQL FUNCTIONS

       SQL may be imported by name or by tags.  They take arguments as documented in the MySQL
       documentation (version 3.23.39).  The functions (organized by tag) are:

   :math
        PI
        RAND
        MOD
        ROUND
        POW
        POWER
        ATAN2
        ABS
        SIGN
        FLOOR
        CEILING
        EXP
        LOG
        LOG10
        SQRT
        COS
        SIN
        TAN
        ACOS
        ASIN
        ATAN
        COT
        DEGREES
        RADIANS
        TRUNCATE

   :string
        CHAR
        POSITION
        INSTR
        LEFT
        RIGHT
        FIND_IN_SET
        REPEAT
        LEAST
        GREATEST
        CONCAT
        ELT
        FIELD
        MAKE_SET
        LOCATE
        SUBSTRING
        CONV
        LPAD
        RPAD
        MID
        SUBSTRING_INDEX
        REPLACE
        CONCAT_WS
        EXPORT_SET
        INSERT
        ASCII
        ORD
        BIN
        OCT
        HEX
        LENGTH
        OCTET_LENGTH
        CHAR_LENGTH
        CHARACTER_LENGTH
        TRIM
        LTRIM
        RTRIM
        SOUNDEX
        SPACE
        REVERSE
        LCASE
        LOWER
        UCASE
        UPPER

   :datetime
        CURDATE
        CURRENT_DATE
        CURTIME
        CURRENT_TIME
        NOW
        SYSDATE
        CURRENT_TIMESTAMP
        UNIX_TIMESTAMP
        WEEK
        PERIOD_ADD
        PERIOD_DIFF
        DATE_ADD
        DATE_SUB
        ADDDATE
        SUBDATE
        DATE_FORMAT
        TIME_FORMAT
        FROM_UNIXTIME
        DAYOFWEEK
        WEEKDAY
        DAYOFYEAR
        MONTH
        DAYNAME
        MONTHNAME
        QUARTER
        YEAR
        YEARWEEK
        HOUR
        MINUTE
        SECOND
        TO_DAYS
        FROM_DAYS
        SEC_TO_TIME
        TIME_TO_SEC

   :aggregate
       These are functions which operate on an aggregate set of values all at once.

        COUNT
        AVG
        MIN
        MAX
        SUM
        STD
        STDDEV

   :system
       These are functions which return information about the MySQL server.

        DATABASE
        USER
        SYSTEM_USER
        SESSION_USER
        VERSION
        CONNECTION_ID
        LAST_INSERT_ID
        GET_LOCK
        RELEASE_LOCK
        BENCHMARK
        MASTER_POS_WAIT

   :control
       These are flow control functions:

        IFNULL
        NULLIF
        IF

   :misc
       These are functions which don't fit into any other categories.

        ENCRYPT
        ENCODE
        DECODE
        FORMAT
        INET_NTOA
        INET_ATON
        BIT_OR
        BIT_AND
        PASSWORD
        MD5
        LOAD_FILE

   :fulltext
       These are functions related to MySQL's fulltext searching capabilities.

        MATCH
        AGAINST
        IN_BOOLEAN_MODE

       NOTE: In MySQL 4.0 and greater, it is possible to say that a search is in boolean mode in
       order to change how MySQL handles the argument given to AGAINST.  This will not work with
       earlier versions.

   :common
       These are functions from other groups that are most commonly used.

        NOW
        COUNT
        AVG
        MIN
        MAX
        SUM
        DISTINCT

AUTHOR

       Dave Rolsky, <dave@urth.org>