Revision history for SQL::Abstract
+1.87 - 2020-06-02
+ - Add runtime dependency on Test::Deep and Test::Builder::Module for
+ SQL::Abstract::Test (RT#131623)
+
+1.86 - 2018-07-09
+ - Remove obsolete documentation about arrayrefref as the $source
+ argument for ->select (removed in version 1.74)
+ - Factor out the field list part of SELECT for subclassability (GH#13)
+ - Do not replace literal '0' with empty string in WHERE clauses (GH#14)
+
+1.85 - 2018-01-27
+ - Restore perl version requirement missed in the Distar port
+ - Factor out the SET ... part of UPDATE for subclassability (GH#12)
+
+1.84 - 2017-04-03
+ - Restore 'dynamic_config => 0' missed in the Distar port
+
+1.83 - 2017-04-03
+ - Support for DELETE ... RETURNING (GH#9)
+ - Port to Distar
+
+revision 1.82 2017-03-20
+-------------------------
+ - Add explicit dependency on Sub::Quote (GH#8)
+ - Fix syntax errors in ORDER BY docs (GH#7)
+
+revision 1.81_01 2017-02-28
+----------------------------
+ - Fix order clauses with bind parameters in ->where
+ - Fix ->insert($table, \@values) with >26 values (RT#112684)
+ - Teach ::Tree that ILIKE (PostgreSQL) and REGEXP (MySQL) are binary ops
+ - Support for UPDATE ... RETURNING
+ - Documentation improvements for ORDER BY
+
+revision 1.81 2014-10-25
+----------------------------
+ - Fix overly-enthusiastic parenthesis unroller (RT#99503)
+
+revision 1.80 2014-10-05
+----------------------------
+ - Fix erroneous behavior of is_literal_value($) wrt { -ident => ... }
+ - Explicitly croak on top-level special ops (they didn't work anyway)
+
+revision 1.79 2014-09-25
+----------------------------
+ - New exportable functions: is_literal_value($) and is_plain_value($)
+ - New attribute 'escape_char' allowing for proper escape of quote_chars
+ present in an identifier
+ - Deprecate { "" => \... } constructs
+ - Treat { -value => undef } as plain undef in all cases
+ - Explicitly throw on { -ident => undef }
+
+revision 1.78 2014-05-28
+----------------------------
+ - Fix parsing of binary ops to correctly take up only a single LHS
+ element, instead of gobbling up the entire parse-to-date
+ - Explicitly handle ROW_NUMBER() OVER as the snowflake-operator it is
+ - Improve signatures/documentation of is_same_sql_bind / eq_sql_bind
+ - Retire script/format-sql - the utility needs more work to be truly
+ end-user convenient
+
+revision 1.77 2014-01-17
+----------------------------
+ - Reintroduce { -not => undef } column operator (regression from 1.75)
+
+revision 1.75 2013-12-27
+----------------------------
+ - *UPCOMING INCOMPATIBLE BUGFIX*: SQLA used to generate incorrect SQL
+ on undef-containing lists fed to -in and -not_in. An exception will
+ be raised for a while before properly fixing this, to avoid quiet
+ but subtle changes to query results in production
+ - Deprecate and warn when supplying an empty arrayref to like/not_like
+ operators (likely to be removed before 2.0)
+
+ - Warn when using an inequality operator with a multi-value array to
+ arrive at what amounts to a 1=1 condition (no pre-2.0 plans to fix
+ this behavior due to backwards comp concerns)
+ - Fix false negative comparison of ORDER BY <function> ASC
+ - More improvements of incorrect parsing (placeholder at end of list
+ element)
+ - Fix typos in POD and comments (RT#87776)
+ - Augment -not_bool example with nesting (RT#89601)
+
+revision 1.74 2013-06-04
+----------------------------
+ - Fix insufficient parenthesis unroll during operator comparison
+ - 'ORDER BY foo' and 'ORDER BY foo ASC' are now considered equal
+ by default (with a switch to reenable old behavior when necessary)
+ - Change parser to not eagerly slurp RHS expressions it doesn't recognize
+
+revision 1.73 2012-07-10
+----------------------------
+ - Fix parsing of ORDER BY foo + ?
+ - Stop filling in placeholders in `format-sql` since it does not support
+ passing values for them anyway
+ - Fix parsing of NOT EXISTS
+ - Fix over-eager parenthesis unrolling
+ - Fix deep recursion warnings while parsing obnoxiously long sql statements
+ - Fix incorrect comparison of malformed lists
+ - Fix incorrect reporting of mismatch-members in SQLA::Test
+ - Migrate the -ident operator from DBIC into SQLA
+ - Migrate the -value operator from DBIC into SQLA
+
+revision 1.72 2010-12-21
+----------------------------
+ - Extra checks of search arguments for possible SQL injection attacks
+ - Remove excess parentheses in debug SQL
+ - Fix parsing of foo.* in SQLA::Tree
+ - Fix bindtype fail when using -between with arrayrefref literals
+ - Add handling for NULL for -in
+ - The -nest operator has entered semi-deprecated status and has been
+ undocumented. Please do not use it in new code
+
+revision 1.71 2010-11-09
+----------------------------
+ - Add EXECUTING for clarity of long running SQL
+ - Add "squash_repeats" option to fix it such that repeated SQL gets ellided
+ except for placeholders
+ - Highlight transaction keywords
+ - Highlight HAVING
+ - Leave quotes from DBIC in bindargs
+ - Add error checking on "profile" for SQLA::Tree
+ - Hide bulk inserts from DBIx::Class
+ - Fix missing doc (RT#62587)
+ - Format functions in MySQL-friendly manner foo( ... ) vs foo ( ... )
+
+revision 1.69 2010-10-22
+----------------------------
+ - Add quotes for populated placeholders and make the background
+ magenta instead of cyan
+ - Color and indent pagination keywords
- Fix a silly bug which broke placeholder fill-in in DBIC
- Installs format-sql to format SQL passed in over STDIN
- Switch the tokenizer to precompiled regexes (massive speedup)
- Special handle IS NOT? NULL
- Make sure unparse() does not destroy a passed in \@bindargs
- Support ops with _'s in them (valid in Oracle)
+ - Properly parse both types of default value inserts
+ - Allow { -func => $val } as arguments to UPDATE
revision 1.68 2010-09-16
----------------------------