Fix overly-enthusiastic parenthesis unroller (RT#99503)
[dbsrgits/SQL-Abstract.git] / Changes
diff --git a/Changes b/Changes
index e546749..6294384 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,178 @@
 Revision history for SQL::Abstract
 
+    - 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)
+    - Rudimentary handling of quotes ( 'WHERE' vs WHERE )
+    - Fix extended argument parsing by IN/BETWEEN
+    - Add proper handling of lists (foo,bar,?)
+    - Better handling of generic -function's during AST construction
+    - 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
+----------------------------
+    - Document methods on Tree
+    - Add affordances for color coding placeholders
+    - Change ::Tree::whitespace to whitespace_keyword
+
+revision 1.67_03  2010-09-11
+----------------------------
+    - Add docs for SQL::Abstract::Tree->new
+    - correcty merge profile and parameters
+    - added fill_in_placeholders option for excellent copy/pasta
+
+revision 1.67_02  2010-09-08
+----------------------------
+    - rename DBIx::Class::Storage::PrettyPrinter to DBIx::Class::Storage::Debug::PrettyPrint
+    - decreased a lot of indentation from ::Tree
+    - cleaned up handling of newlines inside of parens
+
+revision 1.67_01  2010-09-06
+----------------------------
+    - Add SQL::Abstract::Tree
+    - Add unindexed DBIx::Class::Storage::PrettyPrinter
+    - Better documentation of undef/NULL in where clause
+    - Depend on bugfixed Module::Install (now again installs
+      on old < 5.8.3 perls)
+
+revision 1.67  2010-05-31 14:21 (UTC)
+----------------------------
+    - Fix SQL::Test failure when first chunk is an unrecognized
+      literal
+    - Generic -not operator tests
+    - More columns-bindtype assertion checks
+
+revision 1.66  2010-04-27 02:44 (UTC)
+----------------------------
+    - Optimized the quoting mechanism, winning nearly 10%
+      speedup on repeatable sql generation
+
+revision 1.65  2010-04-11 19:59 (UTC)
+----------------------------
+    - Rerelease last version to not include .svn files
+      and grab MANIFEST.SKIP from DBIx::Class so it
+      won't happen again
+
+revision 1.64  2010-04-11 16:58 (UTC)
+----------------------------
+    - Fix multiple generic op handling regressions by
+      reverting the auto-equality assumption (turned out
+      to be a very very bad idea)
+
+revision 1.63  2010-03-24 09:56 (UTC)
+----------------------------
+    - Add ILIKE to the core list of comparision ops
+
+revision 1.62  2010-03-15 11:06 (UTC)
+----------------------------
+    - Fixed open outer parens for a multi-line literal
+    - Allow recursively-nested column-functions in WHERE
+    - Bumped minimum perl to 5.6.2 and changed tests to
+      rely on core dependencies
+
+revision 1.61  2010-02-05 16:28 (UTC)
+----------------------------
+    - Allow INSERT to take additional attributes
+    - Support for INSERT ... RETURNING
     - Another iteration of SQL::Abstract::Test fixes and improvements
 
 revision 1.60  2009-09-22 11:03 (UTC)
@@ -45,7 +218,7 @@ revision 1.53  2009-04-30 14:58 (UTC)
 
 revision 1.52  2009-04-28 23:14 (UTC)
 ----------------------------
-    - allow -between to handle [\"", \""] and \["", @bind] 
+    - allow -between to handle [\"", \""] and \["", @bind]
     - allow order_by to handle -asc|desc => [qw/colA colB/] (artifact from DBIx::Class)
     - more tests and clearing up of some corner cases
     - t/10test.t does not run by default (developer only, too cpu intensive)