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