forked from zetacomponents/PersistentObject
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
390 lines (269 loc) · 14.1 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
1.8.1 - Friday 26 March 2021
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- PHP 7.4/8.0 copmatibility.
1.8 - Saturday 27 September 2014
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed: Adjusted source headers of PersistentObject to Apache license.
- Updated: Moving copyright information to NOTICE files.
- Fixed: Updated copyright dates in NOTICE files.
- Fixed #ZETACOMP-33: Many dead links (404)
- Remove custom test runner.
- Fix autoloading with composer
- Fixed issue #15657: Column names are now converted to lower case to extract
from database results, since this is the setting defined by the Database
component.
- Fixed issue #16135: ezcPersistentCodeManager now supports PHP 5.3
namespaces.
1.7 - Monday 21 December 2009
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- No changes.
1.7rc1 - Monday 07 December 2009
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- No changes.
1.7beta1 - Monday 23 November 2009
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- No changes.
1.7alpha1 - Tuesday 01 September 2009
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Implemented enhancement #11831: ezcPersistentSession and
ezcPersistentSessionIdentityDecorator now provide the method isRelated() to
check if two objects are related to each other.
- Implemented enhancement #13073: The new createSubQuery() method on
persistence sessions can be used to create a sub-select for a find query.
- Implemented enhancement #14154: Property converters are now also called for
null values.
- Implemented enhancement #14158: If an object to be loaded is not found, an
ezcPersistentObjectNotFoundException is thrown.
1.6 - Monday 29 June 2009
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed message in testcase.
1.6rc1 - Monday 22 June 2009
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- No changes.
1.6beta1 - Monday 08 June 2009
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Note: This release changes the indexing of arrays returns by
ezcPersistentSession and its decorators. These arrays are now indexed by
object IDs.
1.6alpha2 - Tuesday 26 May 2009
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Renamed ezcPersistentIdentitySession to
ezcPersistentSessionIdentityDecorator.
- Introduced new ezcPersistentSessionFoundation interface, for
ezcPersistentSession and its decorators.
- Finalized implementation of identity management and relation pre-fetching.
1.6alpha1 - Tuesday 21 April 2009
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Started implementation of #12473: PersistentObject now supports basic
identity management.
1.5.2 - Monday 11 May 2009
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed issue #14736: ezcPersistentSession->createRelationFindQuery() now
supports relation names.
- Fixed issue #14863: ezcPersistentSessionInstance::reset() is now static and
does work correctly.
- Fixed issue #14690: Extracted duplicated code into methods and avoided to
instantiate a new generator object for each save/update (based on a patch by
Benjamin Eberlei).
1.5.1 - Monday 30 March 2009
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed issue #14473: ezcPersistentFindIterator does not overwrite object
instances anymore.
- Fixed issue #14505: Property converters don't break the state of newly saved
objects anymore.
1.5 - Monday 05 January 2009
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- No changes
1.5rc1 - Monday 15 December 2008
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- No changes
1.5beta1 - Monday 01 December 2008
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed issue #13463: Enhanced documentation for clarity about state array
indices.
1.5alpha1 - Monday 10 November 2008
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Implemented issue #13218: Add lazy initialization to PersistentObject
component.
- Implemented issue #13558: Small optimizations in the load handler.
1.4 - Monday 16 June 2008
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- No changes.
1.4rc1 - Tuesday 10 June 2008
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- No changes
1.4beta1 - Tuesday 27 May 2008
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- No changes.
1.4alpha1 - Monday 05 May 2008
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Refactored ezcPersistentSession.
- Implemented enhancement #10151: Improved Database and PersistentObject
datatype support (especially binary data). The object definitions allow to
specify the datatype of the database column assigned to a property.
- Implemented enhancement #10373: Several relations to the same table for
PersistentObject.
- Implemented enhancement #10727: Improved error messages for PersistentObject
with ManualGenerator.
- Fixed issue #10205: Binding variables with an undeclared var doesn't throw
an exception. If getState() on a persistent object does not return an array
an exception is thrown now.
- Fixed issue #12471: PersistentObject misses support for boolean datatype.
1.3.4 - Monday 14 January 2008
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed issue #12053: Optimized substr() call.
- Fixed issue #12108: ezcPersistentStateTransformer::rowToStateArray() relying
on definitions with reverse properties set, but it's not automatic.
1.3.3 - Monday 17 December 2007
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed issue #12214: persistent object documentation error. (Simple mapping
example now uses ezcPersistentNativeGenerator and gives a hint on
ezcPersistentSequenceGenerator.)
1.3.2 - Wednesday 28 November 2007
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Documentation updates and fixes.
- Fixed issue #11405: Ambiguous column names when using
ezcPersistentManyToManyRelation. Column names are now correctly prefixed
with their corresponding table names.
- Fixed issue #12082: Restoring a definition from var_export( $definition )
PHP code.
1.3.1 - Monday 13 August 2007
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Documentation updates and fixes.
1.3 - Monday 02 July 2007
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Documentation updates and fixes.
1.3rc1 - Monday 25 June 2007
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Documentation updates and fixes.
1.3beta2 - Thursday 31 May 2007
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed issue #10152: Persistent Object and manual generator: string primary
keys.
- Fixed issue #10552: ManyToMany relations with multiple columns. Mapping works
correctly now.
- Fixed issue #10331: PersistentObject: Exceptions should become more verbose.
ezcPersistentQueryException now contains the SQL query in its message, if
appropriate.
- Fixed issue #10725: PersistentObject saveOrUpdate() using manualgenerator
will trigger one extra query to check if an object is persistent (save() and
update() do this as well just moments later...).
- Fixed issue #10726: PersistentObject definition should contain type info on
the identifier.
- Fixed issue #10770: PersistentObject throws PDOException in some cases.
Throws correct ezcPersistentQueryException now.
1.3beta1 - Monday 07 May 2007
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed testcase for manual generator giving failure for postgresql on correct
behaviour (INSERT violating NULL contraint does give an error...).
- Fixed issue #9999: idProperty missing in definition file causes unclear
error messages.
- Fixed issue #10106: ezcPersistentManualGenerator does not quote ID
columnName.
- Fixed issue #10112: Lots of failures in PersistentObject tests with
PostgreSQL.
- Fixed issue #10153: Persistent Object and manual generator (negative and
0 primary keys).
- Fixed issue #10369: testAddRelatedBirthdayToPerson3UpdateSuccess fails for
no apparant reason.
- Implemented feature #8487: An interface for Persistent Objects.
- Implemented feature #10166: Cache PO-definitions.
- Implemented feature #9967: PersistentObject: getRelationQuery() method. This
method is now called createRelationFindQuery() and is public now.
- Implemented feature #9089: Make some methods public.
ezcPersistentSession->generateAliasMap() and ->getColumnsFromDefinition()
are public now.
1.2 - Monday 18 December 2006
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed issue #9249: Save/update objects with 1:1 relations that share the
same ID does not work.
- Fixed issue #9489: Check whether the PersistentObject and
PersistentObjectDatabaseSchemaTiein tutorials are interlinked.
- Fixed issue #9493: Convert < and > in exception messages to ' and ' for
Cache, ConsoleTools, ImageAnalysis, ImageConversion, PersistentObject,
PersistentObjectDatabaseSchemaTiein.
- Fixed issue #9591: ezcPersistentSession attempts to throw non existing
exception (typo).
- Fixed issue #9819: Let all components deal with the ezcBaseAutoloadException
properly.
1.2beta2 - Monday 20 November 2006
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed issue #8962: "Sequence Generator" incorrect name for MySQL. MySQL
should use the new "ezcPersistentNativeGenerator" from now, with
auto_increment. "ezcPersistentSequenceGenerator" dispatches to this for BC
reasons.
- Fixed issue #9248: SQLite driver throws wierd exception.
- Fixed issue #9335: PersistentSession should use object->getState() in all
methods rather than accessing objects properties directly.
1.2beta1 - Tuesday 24 October 2006
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed bug #8340: Column names are not escaped.
- Fixed bug #8489: Show the absolute path in the "cannot find definition file"
exception message.
- Fixed bug #8511: @access private for the 'id generator' classes.
- Fixed bug #8663: Undeclared property "type" used instead of "propertyType"
in ezcPersistentObjectProperty. This property is not used until now. And
causes no change in the usage of the system.
- Fixed bug #9059: Incorrect prototype of ezcPersistentSession->__construct().
- Fixed bug #9187: ezcPersistentObjectDefition->__construct() has orphan
parameters.
- Fixed bug #9189: ezcPersistentObjectProperty->__set_state() does not work
correcty.
- Implemented suggestion #8526: Allow retrieving of the database handler and
definition manager through the database and definitionManager properties of
the ezcPersistentObjectSession class to help with transaction support.
- Implemented suggestion #8595: Added the ezcPersistentMultiManager class that
serves as a singleton mechanism for ezcPersistentSession.
- Implemented suggestion #8664: ezcPersistentSession: Cast values and skip
undefined properties. Patch by Joel Arvidsson.
- Added support for several definition managers through
ezcPersistentMultiManager.
- Added the method ezcPersistentFindIterator::flush method that flushes the
rest of the resultset from an iterator. This method must be called if you
decide not to loop over the complete resultset of an iterator.
- Deprecated the constructor parameters $key and $incrementKey to
ezcPersistentObjectDefinition.
1.1 - Monday 12 June 2006
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed small CS issues.
1.1rc1 - Monday 29 May 2006
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Implemented feature request 8248: ezcPersistentSession should throw more
descriptive exceptions.
1.1beta1 - Tuesday 09 May 2006
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed #7884: ezcPersistentSession sometimes triggers PDO "General error:
2014" exceptions.
- Fixed #8042: PersistentObject requires use of database ID counter.
*Note:* The change involves a slight BC incompatible change.
ezcPersistentIdentifierGenerator is no longer an interface but an abstract
class. Implementors must change 'implements' to 'extends' to reflect this.
- Added ezcPersistentManualGenerator which can be used to set the ID's of new
object manually.
1.0.1 - Monday 20 February 2006
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed #7845: Find fetches all columns and not just the required columns.
1.0 - Monday 30 January 2006
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed faulty numeric id check in ezcPersistentSession::loadIntoObject().
1.0rc1 - Monday 16 January 2006
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Added new methods to ezcPersistentSession:
* removeFromQuery()
* updateFromQuery()
* findIterator which returns a ezcResultIterator
- Added support for table and column aliases.
- Added sequence strategy system, which makes this component also work
with PostGreSQL.
- Changed exception behavior. All errors will now throw a different exception
class.
- Added interfaces and classes:
* ezcPersistentIdentifierGenerator that defines the interface between
ezcPersistentSession and the code creating unique ID's for new rows.
* ezcPersistentSequenceGenerator that implements the ID generation
using sequence functionality in the database handlers.
* ezcPersistentGeneratorDefinition to set up what generator to use in the
definition.
1.0beta1 - Friday 23 December 2005
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Initial release of this package.