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