File: News3.rst

package info (click to toggle)
sqlobject 3.10.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,660 kB
  • sloc: python: 17,348; makefile: 162; sh: 95
file content (385 lines) | stat: -rw-r--r-- 10,942 bytes parent folder | download | duplicates (4)
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
++++
News
++++

.. contents:: Contents:
   :backlinks: none

SQLObject 0.10.9
================

* The cache culling algorithm was enhanced to eliminate memory leaks by
  removing references to dead objects; tested on a website that runs around
  4 million requests a day.

SQLObject 0.10.8
================

Released 30 Sep 2009.

* Fixed a bug in logging to console - convert unicode to str.

* Fixed an obscure bug in ConnectionHub triggered by an SQLObject class
  whose instances can be coerced to boolean False.

SQLObject 0.10.7
================

Released 20 Sep 2009.

* Fixed a bug: Sybase tables with identity column fire two identity_inserts.

* Fixed a bug: q.startswith(), q.contains() and q.endswith() escape (with a
  backslash) all special characters (backslashes, underscores and percent
  signs).

SQLObject 0.10.6
================

Released 18 May 2009.

* Better support for Python 2.6: do not import the deprecated sets module.

* A number of changes ported from `SQLObject 0.9.11`_.

SQLObject 0.10.5
================

Released 6 May 2009.

* A number of changes ported from `SQLObject 0.9.10`_.

* sqlmeta.getColumns() becomes classmethod.

SQLObject 0.10.4
================

Released 8 Dec 2008.

* Fixed createSQL constrains generation under MySQL when the table's name
  includes the database's name (contains a dot).

SQLObject 0.10.3
================

Released 1 Dec 2008.

* A number of changes ported from `SQLObject 0.9.8`_.

SQLObject 0.10.2
================

Released 30 May 2008.

* A number of changes ported from `SQLObject 0.9.7`_.

SQLObject 0.10.1
================

Released 4 May 2008.

* Fixed a bug: limit doesn't work in sqlbuilder.Select.

* A number of changes ported from `SQLObject 0.9.6`_.

SQLObject 0.10.0
================

Released 11 Mar 2008.

Features & Interface
--------------------

* Dropped support for Python 2.2. The minimal version of Python for
  SQLObject is 2.3 now.

* Removed actively deprecated attributes;
  lowered deprecation level for other attributes to be removed after 0.10.

* SQLBuilder Select supports the rest of SelectResults options (reversed,
  distinct, joins, etc.)

* SQLObject.select() (i.e., SelectResults) and DBConnection.queryForSelect()
  use SQLBuilder Select queries; this make all SELECTs implemented
  internally via a single mechanism.

* SQLBuilder Joins handle SQLExpression tables (not just str/SQLObject/Alias)
  and properly sqlrepr.

* Added SQLBuilder ImportProxy. It allows one to ignore the circular import
  issues with referring to SQLObject classes in other files - it uses the
  classregistry as the string class names for FK/Joins do, but specifically
  intended for SQLBuilder expressions. See
  tests/test_sqlbuilder_importproxy.py.

* Added SelectResults.throughTo. It allows one to traverse relationships
  (FK/Join) via SQL, avoiding the intermediate objects. Additionally, it's
  a simple mechanism for pre-caching/eager-loading of later FK
  relationships (i.e., going to loop over a select of somePeople and ask
  for aPerson.group, first call list(somePeople.throughTo.group) to preload
  those related groups and use 2 db queries instead of N+1). See
  tests/test_select_through.py.

* Added ViewSQLObject.

* Added sqlmeta.getColumns() to get all the columns for a class (including
  parent classes), excluding the column 'childName' and including the column
  'id'. sqlmeta.asDict() now uses getColumns(), so there is no need to
  override it in the inheritable sqlmeta class; this makes asDict() to work
  properly on inheritable sqlobjects.

* Allow MyTable.select(MyTable.q.foreignKey == object) where object is
  an instance of SQLObject.

* Added rich comparison methods; SQLObjects of the same class are
  considered equal is they have the same id; other methods return
  NotImplemented.

* RowDestroySignal is sent on destroying an SQLObject instance; postfunctions
  are run after the row has been destroyed.

* Changed the implementation type in BoolCol under SQLite from TINYINT to
  BOOLEAN and made fromDatabase machinery to recognize it.

* MySQLConnection (and DB URI) accept a number of SSL-related parameters:
  ssl_key, ssl_cert, ssl_ca, ssl_capath.

* Use sets instead of dicts in tablesUsed. Dropped tablesUsedDict function;
  instead there is tablesUsedSet that returns a set of strings.

* SQLBuilder tablesUsedSet handles sqlrepr'able objects.

* Under MySQL, PickleCol no longer used TEXT column types; the smallest
  column is now BLOB - it is not possible to create TINYBLOB column.

SQLObject 0.9.11
================

Released 18 May 2009.

* Two bugs in SQLiteConnection.columnsFromSchema() were fixed: use
  sqlmeta.idName instead of 'id'; convert default 'NULL' to None.

* Use sqlmeta.idName instead of 'id' in all connection classes.

* Fixed a bug that prevented to override per class _connection if there is
  sqlhub.processConnection.

SQLObject 0.9.10
================

Released 6 May 2009.

* Another unicode-related patch for MySQL; required because different
  versions of MySQLdb require different handling::

   - MySQLdb < 1.2.1: only ascii
   - MySQLdb = 1.2.1: only unicode
   - MySQLdb > 1.2.1: both ascii and unicode

* Setup requires FormEncode version 1.1.1+.

* A minor bug was fixed in creating a DecimalValidator - pass the column name
  to it.

* A bug was fixed in InheritableIteration - pass connection to child
  klass.select().

* A bug was fixed in PostgresConnection.columnsFromSchema() - foreign keys
  are now recognized and created as proper ForeignKey with correct
  column name and table name.

* Bugs in PostgresConnection and MSSQLConnection related to properties was
  fixed. A note for developers: from now on properties in DBConnection
  classes are forbidden as they don't work with Transaction -
  Transaction.__getattr__() cannot properly wrap 'self' so a property is
  called with wrong 'self'.

* Transaction instances now explicitly raises TypeError on close() -
  without this calling Transaction.close() calls connection.close() which
  is wrong.

* A bug in SQLiteConnection.columnsFromSchema() that led to an infinite
  loop was fixed.

SQLObject 0.9.9
===============

* Backported from the trunk: under MySQL use the connection's dbEncoding
  instead of ascii, when converting a unicode value from python to database
  for a StringCol.

SQLObject 0.9.8
===============

Released 1 Dec 2008.

* Changed interpretation of strings in the DB URI for boolean parameters:
  '0', 'no', 'off' and 'false' are now interpreted as False.

* Fixed a bug with incorrect handling of calls like
  connectionForURI(dburi, cache=False) when dburi already contains some
  parameters in the URI.

* Convert decimal.to_eng_string() to str to work around a bug in Python 2.5.2;
  see https://mail.python.org/pipermail/python-dev/2008-March/078189.html

* Added test_default_style.py.

* Fixed a minor bug in SQLiteConnection that fails to parse Enum columns.

SQLObject 0.9.7
===============

Released 30 May 2008.

Small Features
--------------

* Use VARCHAR(MAX) and VARBINARY(MAX) for MSSQL >= 9.0.

* Run post_funcs after RowDestroySignal.

Bug Fixes
---------

* Fixed a minor bug in Set column.

* A bug fixed for RowCreatedSignal together with InheritableSQLObject:
  run post_funcs after the entire hierarchy has been created.

* Aggregate functions now honors 'distinct'.

SQLObject 0.9.6
===============

Released 4 May 2008.

* A bug in inheritable delColumn() that doesn't remove properties was fixed.

* A minor bug was fixed in col.py - the registry must be passed to findClass().

* Reverted the patch declarative.threadSafeMethod() - it causes more harm
  then good.

SQLObject 0.9.5
===============

Released 10 Mar 2008.

* Fixed a minor bug in SQLiteConnection.columnsFromSchema() - set dbName.

* A bug in delColumn() that removes all properties was fixed by recreating
  properties.

SQLObject 0.9.4
===============

Released 3 Mar 2008.

* Use list.reverse() in manager/command.py for Python 2.2 compatibility.

* Prevent MultipleJoin from removing the intermediate table if it was not
  created by the Join.

* Fixed a bug with no default when defaultSQL is defined for the column.

* Recognize POINT data type as string in PostgresConnection.columnsFromSchema().

SQLObject 0.9.3
===============

Released 10 Jan 2008.

* A number of changes ported from SQLObject 0.7.10.

SQLObject 0.9.2
===============

Released 30 Oct 2007.

* Fixed a bug in Versioning - do not copy "alternateID" and "unique"
  attributes from the versioned table.

* Fixed a misspelled 'zerofill' option's name.

* Fixed bugs in SQLiteConnection.guessColumn().

* A number of changes ported from SQLObject 0.7.9 and SQLObject 0.8.6.

SQLObject 0.9.1
===============

Released 25 July 2007.

Bug Fixes
---------

* Fixed misspelled methods in col.py.

* A number of bugfixes ported from SQLObject 0.7.8 and SQLObject 0.8.5.

SQLObject 0.9.0
===============

Released 10 May 2007.

Features & Interface
--------------------

* Support for Python 2.2 has been declared obsolete.

* Removed actively deprecated attributes;
  lowered deprecation level for other attributes to be removed after 0.9.

* SQLite connection got columnsFromSchema(). Now all connections fully support
  fromDatabase. There are two version of columnsFromSchema() for SQLite -
  one parses the result of "SELECT sql FROM sqlite_master" and the other
  uses "PRAGMA table_info"; the user can choose one over the other by using
  "use_table_info" parameter in DB URI; default is False as the pragma is
  available only in the later versions of SQLite.

* Changed connection.delColumn(): the first argument is sqlmeta, not
  tableName (required for SQLite).

* SQLite connection got delColumn(). Now all connections fully support
  delColumn(). As SQLite backend doesn't implement "ALTER TABLE DROP COLUMN"
  delColumn() is implemented by creating a new table without the column,
  copying all data, dropping the original table and renaming the new table.

* Versioning_.

.. _Versioning: Versioning.html

* MySQLConnection got new keyword "conv" - a list of custom converters.

* Use logging if it's available and is configured via DB URI.

* New columns: TimestampCol to support MySQL TIMESTAMP type;
  SetCol to support MySQL SET type;
  TinyIntCol for TINYINT; SmallIntCol for SMALLINT;
  MediumIntCol for MEDIUMINT; BigIntCol for BIGINT.

Small Features
--------------

* Support for MySQL INT type attributes: UNSIGNED, ZEROFILL.

* Support for DEFAULT SQL attribute via defaultSQL keyword argument.

* cls.tableExists() as a shortcut for conn.tableExists(cls.sqlmeta.table).

* cls.deleteMany(), cls.deleteBy().

Bug Fixes
---------

* idName can be inherited from the parent sqlmeta class.

`Older news`__

.. __: News2.html

.. footer:: Get SQLObject at Sourceforge.net_. Fast, secure and Free Open Source software downloads

.. _Sourceforge.net: http://sourceforge.net/projects/sqlobject