squash_repeats > no_repeats
[scpubgit/Q-Branch.git] / Changes
1 Revision history for SQL::Abstract
2
3     - Hide bulk inserts from DBIx::Class
4     - Highlight transaction keywords
5     - Add EXECUTING for clarity of long running SQL
6     - Add "squash_repeats" option to fix it such that repeated SQL gets ellided
7       except for placeholders
8
9 revision 1.69  2010-10-22
10 ----------------------------
11     - Add quotes for populated placeholders and make the background
12       magenta instead of cyan
13     - Color and indent pagination keywords
14     - Fix a silly bug which broke placeholder fill-in in DBIC
15     - Installs format-sql to format SQL passed in over STDIN
16     - Switch the tokenizer to precompiled regexes (massive speedup)
17     - Rudimentary handling of quotes ( 'WHERE' vs WHERE )
18     - Fix extended argument parsing by IN/BETWEEN
19     - Add proper handling of lists (foo,bar,?)
20     - Better handling of generic -function's during AST construction
21     - Special handle IS NOT? NULL
22     - Make sure unparse() does not destroy a passed in \@bindargs
23     - Support ops with _'s in them (valid in Oracle)
24     - Properly parse both types of default value inserts
25     - Allow { -func => $val } as arguments to UPDATE
26
27 revision 1.68  2010-09-16
28 ----------------------------
29     - Document methods on Tree
30     - Add affordances for color coding placeholders
31     - Change ::Tree::whitespace to whitespace_keyword
32
33 revision 1.67_03  2010-09-11
34 ----------------------------
35     - Add docs for SQL::Abstract::Tree->new
36     - correcty merge profile and parameters
37     - added fill_in_placeholders option for excellent copy/pasta
38
39 revision 1.67_02  2010-09-08
40 ----------------------------
41     - rename DBIx::Class::Storage::PrettyPrinter to DBIx::Class::Storage::Debug::PrettyPrint
42     - decreased a lot of indentation from ::Tree
43     - cleaned up handling of newlines inside of parens
44
45 revision 1.67_01  2010-09-06
46 ----------------------------
47     - Add SQL::Abstract::Tree
48     - Add unindexed DBIx::Class::Storage::PrettyPrinter
49     - Better documentation of undef/NULL in where clause
50     - Depend on bugfixed Module::Install (now again installs
51       on old < 5.8.3 perls)
52
53 revision 1.67  2010-05-31 14:21 (UTC)
54 ----------------------------
55     - Fix SQL::Test failure when first chunk is an unrecognized
56       literal
57     - Generic -not operator tests
58     - More columns-bindtype assertion checks
59
60 revision 1.66  2010-04-27 02:44 (UTC)
61 ----------------------------
62     - Optimized the quoting mechanism, winning nearly 10%
63       speedup on repeatable sql generation
64
65 revision 1.65  2010-04-11 19:59 (UTC)
66 ----------------------------
67     - Rerelease last version to not include .svn files
68       and grab MANIFEST.SKIP from DBIx::Class so it
69       won't happen again
70
71 revision 1.64  2010-04-11 16:58 (UTC)
72 ----------------------------
73     - Fix multiple generic op handling regressions by
74       reverting the auto-equality assumption (turned out
75       to be a very very bad idea)
76
77 revision 1.63  2010-03-24 09:56 (UTC)
78 ----------------------------
79     - Add ILIKE to the core list of comparision ops
80
81 revision 1.62  2010-03-15 11:06 (UTC)
82 ----------------------------
83     - Fixed open outer parens for a multi-line literal
84     - Allow recursively-nested column-functions in WHERE
85     - Bumped minimum perl to 5.6.2 and changed tests to
86       rely on core dependencies
87
88 revision 1.61  2010-02-05 16:28 (UTC)
89 ----------------------------
90     - Allow INSERT to take additional attributes
91     - Support for INSERT ... RETURNING
92     - Another iteration of SQL::Abstract::Test fixes and improvements
93
94 revision 1.60  2009-09-22 11:03 (UTC)
95 ----------------------------
96     - fix a well masked error in the sql-test tokenizer
97
98 revision 1.59  2009-09-22 08:39 (UTC)
99 ----------------------------
100     - fixed a couple of untrapped undefined warnings
101     - allow -in/-between to accept literal sql in all logical
102       variants - see POD for details
103     - unroll multiple parenthesis around IN arguments to accomodate
104       crappy databases
105
106 revision 1.58  2009-09-04 15:20 (UTC)
107 ----------------------------
108     - expanded the scope of -bool and -not_bool operators
109     - added proper testing support
110
111 revision 1.57  2009-09-03 20:18 (UTC)
112 ----------------------------
113     - added -bool and -not_bool operators
114
115 revision 1.56  2009-05-30 16:31 (UTC)
116 ----------------------------
117     - support for \[$sql, @bind] in order_by clauses e.g.:
118       { -desc => \['colA LIKE ?', 'somestring'] }
119
120 revision 1.55  2009-05-17 22:54 (UTC)
121 ----------------------------
122     - make sure that sql generation does not mutate the supplied
123       where condition structure
124
125 revision 1.54  2009-05-07 17:23 (UTC)
126 ----------------------------
127     - allow special_operators to take both code refs and method names
128       (makes it possible to properly subclass the builtin ones)
129
130 revision 1.53  2009-04-30 14:58 (UTC)
131 ----------------------------
132     - make sure hash keys are sorted in all search sub-conditions
133     - switch installer from EU::MM to M::I
134
135 revision 1.52  2009-04-28 23:14 (UTC)
136 ----------------------------
137     - allow -between to handle [\"", \""] and \["", @bind]
138     - allow order_by to handle -asc|desc => [qw/colA colB/] (artifact from DBIx::Class)
139     - more tests and clearing up of some corner cases
140     - t/10test.t does not run by default (developer only, too cpu intensive)
141
142 ----------------------------
143 revision 1.51  2009-03-28 10:00 (UTC)
144     - fixed behavior of [-and => ... ] depending on the current
145       condition scope. This introduces backwards comp with 1.24
146
147 ----------------------------
148 revision 1.50  2009-03-10 12:30 (UTC)
149     - fixed the problem with values() not behaving the same as the rest of the code (RT#43483)
150     - fixed interjecting arrayrefref into a where clause
151     - added value-only insert test with a literal SQL snippet
152     - cleanup and enhancement of t/03values.t
153     - better handling of borked SQL in tests
154     - deal properly with parentheses in is_same_sql_bind()
155     - fixed test subs (is_same_*) in SQL::Abstract::Test to return the correct test value
156     - do not version MANIFEST
157
158     Version 1.50 was a major internal refactoring of SQL::Abstract.
159     Great care has been taken to preserve the published behavior
160     documented in previous versions in the 1.* family; however,
161     some features that were previously undocumented, or behaved.
162     differently from the documentation, had to be changed in order
163     to clarify the semantics. Hence, client code that was relying
164     on some dark areas of SQL::Abstract v1.* might behave differently
165     in v1.50.
166
167 ----------------------------
168 revision 1.49_04  2009-03-03
169     - add support for a [\%column_meta => value] bind value format
170
171 ----------------------------
172 revision 1.49_03  2009-02-17
173     - clarify syntax of \['...', @bind] when used with a bindtype
174       of 'columns'
175
176 ----------------------------
177 revision 1.49_02  2009-02-16
178     - added an AST-aware SQL::Abstract::Test library for sql syntax tests
179     - vastly expanded test coverage
180     - support for the { operator => \'...'|\['...', @bind] } syntax
181       allowing to embed arbitrary operators on the LHS
182     - fixed multiple regressions wrt DBIx::Class
183
184 ----------------------------
185 revision 1.49_01  2009-02-11
186     - support for literal SQL through the [$sql, bind] syntax.
187     - added -nest1, -nest2 or -nest_1, -nest_2, ...
188     - optional support for array datatypes
189     - defensive programming : check arguments to functions/methods
190     - fixed bug with global logic of -and/-or (no side-effects any more)
191     - changed logic for distributing an op over arrayrefs
192     - fixed semantics of  _bindtype on array args
193     - dropped the _anoncopy of the %where tree. No longer necessary.
194     - dropped the _modlogic function
195     - Make col => [] and col => {$op => [] } DTRT or die instead of generating
196       broken SQL. Added tests for this.
197     - Added { -desc => 'column' } order by support
198     - Tiny "$_"-related fix for { -desc => 'columns'} order by support
199       tests + docs
200
201 ----------------------------
202 revision 1.20
203 date: 2005/08/18 18:41:58;  author: nwiger;  state: Exp;  lines: +104 -50
204 - added patch from Dan Kubb enabling quote_char and name_sep options
205 - added patch from Andy Grundman to enhance _anoncopy for deep refs
206 ----------------------------
207 revision 1.19
208 date: 2005/04/29 18:20:30;  author: nwiger;  state: Exp;  lines: +34 -20
209 added _anoncopy to prevent destroying original; updated docs
210 ----------------------------
211 revision 1.18
212 date: 2005/03/07 20:14:12;  author: nwiger;  state: Exp;  lines: +201 -65
213 added support for -and, -or, and -nest; see docs for details
214 ----------------------------
215 revision 1.17
216 date: 2004/08/25 20:11:27;  author: nwiger;  state: Exp;  lines: +58 -46
217 added patch from Eric Kolve to iterate over all hashref elements
218 ----------------------------
219 revision 1.16
220 date: 2004/06/10 17:20:01;  author: nwiger;  state: Exp;  lines: +178 -12
221 added bindtype param to allow this to work with Orasuck 9+
222 ----------------------------
223 revision 1.15
224 date: 2003/11/05 23:40:40;  author: nwiger;  state: Exp;  lines: +18 -6
225 several bugfixes, including _convert being applied wrong and
226 the edge case field => { '!=', [qw/this that/] } not working
227 ----------------------------
228 revision 1.14
229 date: 2003/11/04 21:20:33;  author: nwiger;  state: Exp;  lines: +115 -34
230 added patch from Philip Collins, and also added 'convert' option
231 ----------------------------
232 revision 1.13
233 date: 2003/05/21 17:22:29;  author: nwiger;  state: Exp;  lines: +230 -74
234 added "IN" and "BETWEEN" operator support, as well as "NOT"
235 modified where() to support ORDER BY, and fixed some bugs too
236 added PERFORMANCE and FORMBUILDER doc sections
237 fixed several bugs in _recurse_where(), it now works as expected
238 added test suite, many thanks to Chas Owens
239 modified all hash access to return keys sorted, to allow cached queries
240 ----------------------------
241 revision 1.12
242 date: 2003/05/08 20:10:56;  author: nwiger;  state: Exp;  lines: +181 -96
243 1.11 interim checking; major bugfixes and order_by, 1.12 will go to CPAN
244 ----------------------------
245 revision 1.11
246 date: 2003/05/02 00:07:30;  author: nwiger;  state: Exp;  lines: +52 -12
247 many minor enhancements to add querying flexibility
248 ----------------------------
249 revision 1.10
250 date: 2002/09/27 18:06:25;  author: nwiger;  state: Exp;  lines: +6 -2
251 added precatch for messed up where string
252 ----------------------------
253 revision 1.9
254 date: 2002/08/29 18:04:35;  author: nwiger;  state: Exp;  lines: +4 -3
255 CPAN
256 ----------------------------
257 revision 1.8
258 date: 2001/11/07 22:18:12;  author: nwiger;  state: Exp;  lines: +31 -14
259 added embedded SCALAR ref capability to insert() and update()
260 ----------------------------
261 revision 1.7
262 date: 2001/11/07 01:23:28;  author: nwiger;  state: Exp;  lines: +3 -3
263 damn uninit warning
264 ----------------------------
265 revision 1.6
266 date: 2001/11/06 21:09:44;  author: nwiger;  state: Exp;  lines: +14 -6
267 oops, had to actually *implement* the order by for select()!
268 ----------------------------
269 revision 1.5
270 date: 2001/11/06 03:13:16;  author: nwiger;  state: Exp;  lines: +43 -4
271 lots of docs
272 ----------------------------
273 revision 1.4
274 date: 2001/11/06 03:07:42;  author: nwiger;  state: Exp;  lines: +16 -7
275 added extra layer of ()'s to ensure correct semantics on AND
276 ----------------------------
277 revision 1.3
278 date: 2001/11/06 01:16:31;  author: nwiger;  state: Exp;  lines: +11 -10
279 updated all statements so that they use wantarray to just return SQL if asked
280 ----------------------------
281 revision 1.2
282 date: 2001/10/26 22:23:46;  author: nwiger;  state: Exp;  lines: +112 -15
283 added scalar ref for SQL verbatim in where, fixed bugs, array ref, docs
284 ----------------------------
285 revision 1.1
286 date: 2001/10/24 00:26:43;  author: nwiger;  state: Exp;
287 Initial revision