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