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