* added support for CREATE TABLE AS SELECT ... and CREATE TABLE AS IMPORT()
* added support for in-memory tables and heterogeneous operations
* added many new built-in functions see SQL::Statement::Functions.pm
* added support for user-defined functions, see SQL::Statement::Functions.pm
* added support for column name aliases
* added support for comparison to empty string (e.g. WHERE col1='')
currently returns the same as WHERE col1 IS NULL
* clean up a number of bugs in parentheses parsing and in the
predicates IN and BETWEEN as well as speed things up considerably
* fixed function detection regex in SQL::Parser::ROW_VALUE
to accomodate arbitrary spacing
* support concat operator '||' expressions
* added following functions to SQL::Statement::Functions:
- COALESCE/NVL
- DECODE (same as Oracle DECODE)
- CONCAT
- REPLACE/SUBSTITUTE
* fixed/adapted SQL::Statement::get_row_value(),
SQL::Statement::SELECT(), for join'ed
resultsets
* fixed infinite recursion bug with empty IN() predicate
* fixed case issues with table aliases in joins
* column and table name hashes now default to case sensitive
* where() method now supported as per the docs
* added support for MySQL-like "DROP TABLE IF EXISTS"
* fixed bug in dotted column names e.g. tableA.colB
* fixed bug in MAX and MIN
* fixed bug in ORDER BY (when col names not in SELECT list)
* added support for delimited identifiers (inside double quotes);
these are case sensitive and can contain spaces and other
special chars
* added support for two forms of escaping single quotes inside
quoted values: 'O\'Brien' or 'O''Brien'
* added support for both C-Style and SQL-Style double-hypen
comments, e.g. /* comment */ or -- comment
* added GetInfo.pm for use with $dbh->get_info()
* fixed bug in update that refers to its own columns
(e.g. SET num = num + 2)
* fixed bug in MIN and MAX when used with strings
* identifiers (names of columns, tables, and table name
aliases) are now all case insensitive as required by the SQL
standard. all older versions including the XS versions used
case sensitive column names
* added numerous examples to test.pl
* improved and/or fixed bugs in:
* placeholder support
* ORDER BY clause
* LIKE/CLIKE/RLIKE/IN predicates
* table name aliases in explicit joins
Added backwards compatiblity: both SQL::Statement and SQL::Parser now
work in perl version 5.004 and above.
Changed defaults for DBD::CSV so it now accepts new SQL without adding
extra flags to scripts
Added support for SQL comments
Fixed bugs in qualified column names (e.g. tableA.*), and in joins
using ON or WHERE
Fixed bug in UPDATE that caused the new value to be a hash rather
than a scalar.
New features:
Explicit and implicit joins
Table name aliases
Set functions
String functions
String concatenation
Numeric expressions
IN predicate
BETWEEN predicate
Alphabetic comparison in WHERE clauses
Ordering of text that looks like a number
Verbose error messages for both Parsing and Execution errors
Pure perl, new maintainer.