Release 1.63
[dbsrgits/SQL-Abstract.git] / Changes
1 Revision history for SQL::Abstract
2
3 revision 1.63  2010-03-24 09:56 (UTC)
4 ----------------------------
5     - Add ILIKE to the core list of comparision ops
6
7 revision 1.62  2010-03-15 11:06 (UTC)
8 ----------------------------
9     - Fixed open outer parens for a multi-line literal
10     - Allow recursively-nested column-functions in WHERE
11     - Bumped minimum perl to 5.6.2 and changed tests to
12       rely on core dependencies
13
14 revision 1.61  2010-02-05 16:28 (UTC)
15 ----------------------------
16     - Allow INSERT to take additional attributes
17     - Support for INSERT ... RETURNING
18     - Another iteration of SQL::Abstract::Test fixes and improvements
19
20 revision 1.60  2009-09-22 11:03 (UTC)
21 ----------------------------
22     - fix a well masked error in the sql-test tokenizer
23
24 revision 1.59  2009-09-22 08:39 (UTC)
25 ----------------------------
26     - fixed a couple of untrapped undefined warnings
27     - allow -in/-between to accept literal sql in all logical
28       variants - see POD for details
29     - unroll multiple parenthesis around IN arguments to accomodate
30       crappy databases
31
32 revision 1.58  2009-09-04 15:20 (UTC)
33 ----------------------------
34     - expanded the scope of -bool and -not_bool operators
35     - added proper testing support
36
37 revision 1.57  2009-09-03 20:18 (UTC)
38 ----------------------------
39     - added -bool and -not_bool operators
40
41 revision 1.56  2009-05-30 16:31 (UTC)
42 ----------------------------
43     - support for \[$sql, @bind] in order_by clauses e.g.:
44       { -desc => \['colA LIKE ?', 'somestring'] }
45
46 revision 1.55  2009-05-17 22:54 (UTC)
47 ----------------------------
48     - make sure that sql generation does not mutate the supplied
49       where condition structure
50
51 revision 1.54  2009-05-07 17:23 (UTC)
52 ----------------------------
53     - allow special_operators to take both code refs and method names
54       (makes it possible to properly subclass the builtin ones)
55
56 revision 1.53  2009-04-30 14:58 (UTC)
57 ----------------------------
58     - make sure hash keys are sorted in all search sub-conditions
59     - switch installer from EU::MM to M::I
60
61 revision 1.52  2009-04-28 23:14 (UTC)
62 ----------------------------
63     - allow -between to handle [\"", \""] and \["", @bind] 
64     - allow order_by to handle -asc|desc => [qw/colA colB/] (artifact from DBIx::Class)
65     - more tests and clearing up of some corner cases
66     - t/10test.t does not run by default (developer only, too cpu intensive)
67
68 ----------------------------
69 revision 1.51  2009-03-28 10:00 (UTC)
70     - fixed behavior of [-and => ... ] depending on the current
71       condition scope. This introduces backwards comp with 1.24
72
73 ----------------------------
74 revision 1.50  2009-03-10 12:30 (UTC)
75     - fixed the problem with values() not behaving the same as the rest of the code (RT#43483)
76     - fixed interjecting arrayrefref into a where clause
77     - added value-only insert test with a literal SQL snippet
78     - cleanup and enhancement of t/03values.t
79     - better handling of borked SQL in tests
80     - deal properly with parentheses in is_same_sql_bind()
81     - fixed test subs (is_same_*) in SQL::Abstract::Test to return the correct test value
82     - do not version MANIFEST
83
84     Version 1.50 was a major internal refactoring of SQL::Abstract.
85     Great care has been taken to preserve the published behavior
86     documented in previous versions in the 1.* family; however,
87     some features that were previously undocumented, or behaved.
88     differently from the documentation, had to be changed in order
89     to clarify the semantics. Hence, client code that was relying
90     on some dark areas of SQL::Abstract v1.* might behave differently
91     in v1.50.
92
93 ----------------------------
94 revision 1.49_04  2009-03-03
95     - add support for a [\%column_meta => value] bind value format
96
97 ----------------------------
98 revision 1.49_03  2009-02-17
99     - clarify syntax of \['...', @bind] when used with a bindtype
100       of 'columns'
101
102 ----------------------------
103 revision 1.49_02  2009-02-16
104     - added an AST-aware SQL::Abstract::Test library for sql syntax tests
105     - vastly expanded test coverage
106     - support for the { operator => \'...'|\['...', @bind] } syntax
107       allowing to embed arbitrary operators on the LHS
108     - fixed multiple regressions wrt DBIx::Class
109
110 ----------------------------
111 revision 1.49_01  2009-02-11
112     - support for literal SQL through the [$sql, bind] syntax.
113     - added -nest1, -nest2 or -nest_1, -nest_2, ...
114     - optional support for array datatypes
115     - defensive programming : check arguments to functions/methods
116     - fixed bug with global logic of -and/-or (no side-effects any more)
117     - changed logic for distributing an op over arrayrefs
118     - fixed semantics of  _bindtype on array args
119     - dropped the _anoncopy of the %where tree. No longer necessary.
120     - dropped the _modlogic function
121     - Make col => [] and col => {$op => [] } DTRT or die instead of generating
122       broken SQL. Added tests for this.
123     - Added { -desc => 'column' } order by support
124     - Tiny "$_"-related fix for { -desc => 'columns'} order by support
125       tests + docs
126
127 ----------------------------
128 revision 1.20
129 date: 2005/08/18 18:41:58;  author: nwiger;  state: Exp;  lines: +104 -50
130 - added patch from Dan Kubb enabling quote_char and name_sep options
131 - added patch from Andy Grundman to enhance _anoncopy for deep refs
132 ----------------------------
133 revision 1.19
134 date: 2005/04/29 18:20:30;  author: nwiger;  state: Exp;  lines: +34 -20
135 added _anoncopy to prevent destroying original; updated docs
136 ----------------------------
137 revision 1.18
138 date: 2005/03/07 20:14:12;  author: nwiger;  state: Exp;  lines: +201 -65
139 added support for -and, -or, and -nest; see docs for details
140 ----------------------------
141 revision 1.17
142 date: 2004/08/25 20:11:27;  author: nwiger;  state: Exp;  lines: +58 -46
143 added patch from Eric Kolve to iterate over all hashref elements
144 ----------------------------
145 revision 1.16
146 date: 2004/06/10 17:20:01;  author: nwiger;  state: Exp;  lines: +178 -12
147 added bindtype param to allow this to work with Orasuck 9+
148 ----------------------------
149 revision 1.15
150 date: 2003/11/05 23:40:40;  author: nwiger;  state: Exp;  lines: +18 -6
151 several bugfixes, including _convert being applied wrong and
152 the edge case field => { '!=', [qw/this that/] } not working
153 ----------------------------
154 revision 1.14
155 date: 2003/11/04 21:20:33;  author: nwiger;  state: Exp;  lines: +115 -34
156 added patch from Philip Collins, and also added 'convert' option
157 ----------------------------
158 revision 1.13
159 date: 2003/05/21 17:22:29;  author: nwiger;  state: Exp;  lines: +230 -74
160 added "IN" and "BETWEEN" operator support, as well as "NOT"
161 modified where() to support ORDER BY, and fixed some bugs too
162 added PERFORMANCE and FORMBUILDER doc sections
163 fixed several bugs in _recurse_where(), it now works as expected
164 added test suite, many thanks to Chas Owens
165 modified all hash access to return keys sorted, to allow cached queries
166 ----------------------------
167 revision 1.12
168 date: 2003/05/08 20:10:56;  author: nwiger;  state: Exp;  lines: +181 -96
169 1.11 interim checking; major bugfixes and order_by, 1.12 will go to CPAN
170 ----------------------------
171 revision 1.11
172 date: 2003/05/02 00:07:30;  author: nwiger;  state: Exp;  lines: +52 -12
173 many minor enhancements to add querying flexibility
174 ----------------------------
175 revision 1.10
176 date: 2002/09/27 18:06:25;  author: nwiger;  state: Exp;  lines: +6 -2
177 added precatch for messed up where string
178 ----------------------------
179 revision 1.9
180 date: 2002/08/29 18:04:35;  author: nwiger;  state: Exp;  lines: +4 -3
181 CPAN
182 ----------------------------
183 revision 1.8
184 date: 2001/11/07 22:18:12;  author: nwiger;  state: Exp;  lines: +31 -14
185 added embedded SCALAR ref capability to insert() and update()
186 ----------------------------
187 revision 1.7
188 date: 2001/11/07 01:23:28;  author: nwiger;  state: Exp;  lines: +3 -3
189 damn uninit warning
190 ----------------------------
191 revision 1.6
192 date: 2001/11/06 21:09:44;  author: nwiger;  state: Exp;  lines: +14 -6
193 oops, had to actually *implement* the order by for select()!
194 ----------------------------
195 revision 1.5
196 date: 2001/11/06 03:13:16;  author: nwiger;  state: Exp;  lines: +43 -4
197 lots of docs
198 ----------------------------
199 revision 1.4
200 date: 2001/11/06 03:07:42;  author: nwiger;  state: Exp;  lines: +16 -7
201 added extra layer of ()'s to ensure correct semantics on AND
202 ----------------------------
203 revision 1.3
204 date: 2001/11/06 01:16:31;  author: nwiger;  state: Exp;  lines: +11 -10
205 updated all statements so that they use wantarray to just return SQL if asked
206 ----------------------------
207 revision 1.2
208 date: 2001/10/26 22:23:46;  author: nwiger;  state: Exp;  lines: +112 -15
209 added scalar ref for SQL verbatim in where, fixed bugs, array ref, docs
210 ----------------------------
211 revision 1.1
212 date: 2001/10/24 00:26:43;  author: nwiger;  state: Exp;
213 Initial revision