ChangeLog:
Changes log for Perl extension SQL::Statement
Version 1.15, released 2 February, 2006
----------------------------------------
* fixed placeholder bug in SQL::Statement::UPDATE
thanks for bug report Tanktalus
Version 1.14, released 21 April, 2005
----------------------------------------
* fixed circular dependency in tests (one mistakenly required AnyData)
Version 1.13, released 18 April, 2005
----------------------------------------
* pod fixes
Version 1.12, released 18 April, 2005
----------------------------------------
* added support for GROUP BY
(several people sent suggestions for this in the past, please email me
so I can credit you, sorry I lost the names)
* added support for true LIMIT - if a LIMIT clause is specified and
no ORDER BY clause is specified, the SELECT will stop searching
when the limit is reached; with an ORDER BY clause it will still
search the entire table because we can only ORDER a set; using
LIMIT without an ORDER BY will greatly increase speed
* added support for CREATE/DROP keyword|operator|type|function
* optimized process_predicate to only look up scalars once
* completely re-wrote the POD
* fixed bug in primary key search optimization
thanks for bug report and test scripts: Jim Lambert, <jimlambrtATmac.com>
* fixed problem with all_cols slowing inserts
thanks for patch and test Cosimo Streppone <cosimoATcpan.org>
* cleaned up case of temp table column names
thanks for bug report: Dan Wright
* added a META.YML and extra tests
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
* 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
module directory has changed (eg. "darwin-2level" vs.
"darwin-thread-multi-2level").
binary packages of perl modules need to be distinguishable between
being built against threaded perl and unthreaded perl, so bump the
PKGREVISION of all perl module packages and introduce
BUILDLINK_RECOMMENDED for perl as perl>=5.8.5nb5 so the correct
dependencies are registered and the binary packages are distinct.
addresses PR pkg/28619 from H. Todd Fujinaka.
* 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.
The automatic truncation in gensolpkg doesn't work for packages which
have the same package name for the first 5-6 chars.
e.g. amanda-server and amanda-client would be named amanda and amanda.
Now, we add a SVR4_PKGNAME and use amacl for amanda-client and amase for
amanda-server.
All svr4 packages also have a vendor tag, so we have to reserve some chars
for this tag, which is normaly 3 or 4 chars. Thats why we can only use 6
or 5 chars for SVR4_PKGNAME. I used 5 for all the packages, to give the
vendor tag enough room.
All p5-* packages and a few other packages have now a SVR4_PKGNAME.