sqlobject-cvs Mailing List for SQLObject (Page 58)
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
(9) |
Apr
(74) |
May
(29) |
Jun
(16) |
Jul
(28) |
Aug
(10) |
Sep
(57) |
Oct
(9) |
Nov
(29) |
Dec
(12) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(7) |
Feb
(14) |
Mar
(6) |
Apr
(3) |
May
(12) |
Jun
(34) |
Jul
(9) |
Aug
(29) |
Sep
(22) |
Oct
(2) |
Nov
(15) |
Dec
(52) |
| 2005 |
Jan
(47) |
Feb
(78) |
Mar
(14) |
Apr
(35) |
May
(33) |
Jun
(16) |
Jul
(26) |
Aug
(63) |
Sep
(40) |
Oct
(96) |
Nov
(96) |
Dec
(123) |
| 2006 |
Jan
(159) |
Feb
(144) |
Mar
(64) |
Apr
(31) |
May
(88) |
Jun
(48) |
Jul
(16) |
Aug
(64) |
Sep
(87) |
Oct
(92) |
Nov
(56) |
Dec
(76) |
| 2007 |
Jan
(94) |
Feb
(103) |
Mar
(126) |
Apr
(123) |
May
(85) |
Jun
(11) |
Jul
(130) |
Aug
(47) |
Sep
(65) |
Oct
(70) |
Nov
(12) |
Dec
(11) |
| 2008 |
Jan
(30) |
Feb
(55) |
Mar
(88) |
Apr
(20) |
May
(50) |
Jun
|
Jul
(38) |
Aug
(1) |
Sep
(9) |
Oct
(5) |
Nov
(6) |
Dec
(39) |
| 2009 |
Jan
(8) |
Feb
(16) |
Mar
(3) |
Apr
(33) |
May
(44) |
Jun
(1) |
Jul
(10) |
Aug
(33) |
Sep
(74) |
Oct
(22) |
Nov
|
Dec
(15) |
| 2010 |
Jan
(28) |
Feb
(22) |
Mar
(46) |
Apr
(29) |
May
(1) |
Jun
(1) |
Jul
(27) |
Aug
(8) |
Sep
(5) |
Oct
(33) |
Nov
(24) |
Dec
(41) |
| 2011 |
Jan
(4) |
Feb
(12) |
Mar
(35) |
Apr
(29) |
May
(19) |
Jun
(16) |
Jul
(32) |
Aug
(25) |
Sep
(5) |
Oct
(11) |
Nov
(21) |
Dec
(12) |
| 2012 |
Jan
(3) |
Feb
(4) |
Mar
(20) |
Apr
(4) |
May
(25) |
Jun
(13) |
Jul
|
Aug
|
Sep
(2) |
Oct
(25) |
Nov
(9) |
Dec
(1) |
| 2013 |
Jan
(6) |
Feb
(8) |
Mar
|
Apr
(10) |
May
(31) |
Jun
(7) |
Jul
(18) |
Aug
(33) |
Sep
(4) |
Oct
(16) |
Nov
|
Dec
(27) |
| 2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
(11) |
May
(39) |
Jun
(8) |
Jul
(11) |
Aug
(4) |
Sep
|
Oct
(27) |
Nov
|
Dec
(71) |
| 2015 |
Jan
(17) |
Feb
(47) |
Mar
(33) |
Apr
|
May
|
Jun
(9) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(8) |
| 2016 |
Jan
(4) |
Feb
(4) |
Mar
|
Apr
|
May
(12) |
Jun
(7) |
Jul
(9) |
Aug
(31) |
Sep
(8) |
Oct
(3) |
Nov
(15) |
Dec
(1) |
| 2017 |
Jan
(13) |
Feb
(7) |
Mar
(14) |
Apr
(8) |
May
(10) |
Jun
(4) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(8) |
Nov
(4) |
Dec
(5) |
| 2018 |
Jan
(2) |
Feb
(8) |
Mar
|
Apr
(4) |
May
|
Jun
(6) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2019 |
Jan
(1) |
Feb
(16) |
Mar
(1) |
Apr
(3) |
May
(5) |
Jun
(1) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
(1) |
Dec
(3) |
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(2) |
Nov
|
Dec
(2) |
| 2021 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
| 2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
(4) |
| 2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(3) |
Sep
(2) |
Oct
(2) |
Nov
(4) |
Dec
|
| 2024 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(9) |
| 2025 |
Jan
|
Feb
(4) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(2) |
Dec
(2) |
|
From: <sub...@co...> - 2009-07-25 11:01:20
|
Author: phd
Date: 2009-07-25 05:01:07 -0600 (Sat, 25 Jul 2009)
New Revision: 3926
Removed:
SQLObject/branches/0.9/docs/FAQ.comments.txt
SQLObject/branches/0.9/docs/index.comments.txt
SQLObject/branches/0.9/docs/sqlobject-admin.comments.txt
Modified:
SQLObject/branches/0.9/docs/rebuild
Log:
Removed old (almost) empty doc files; build all *.txt.
Deleted: SQLObject/branches/0.9/docs/FAQ.comments.txt
===================================================================
--- SQLObject/branches/0.9/docs/FAQ.comments.txt 2009-07-25 10:50:07 UTC (rev 3925)
+++ SQLObject/branches/0.9/docs/FAQ.comments.txt 2009-07-25 11:01:07 UTC (rev 3926)
@@ -1,9 +0,0 @@
-==== $(how-can-i-do-a-left-join) c +
-----------------------------------------
-date: 2006-01-03T14:32:21
-email: b.n...@rl...
-id: 1
-ip: 86.143.215.248
-username: bryan
-
-Ian, this works fine from Mozilla, but not from konqueror ... what exactly
Deleted: SQLObject/branches/0.9/docs/index.comments.txt
===================================================================
--- SQLObject/branches/0.9/docs/index.comments.txt 2009-07-25 10:50:07 UTC (rev 3925)
+++ SQLObject/branches/0.9/docs/index.comments.txt 2009-07-25 11:01:07 UTC (rev 3926)
@@ -1,16 +0,0 @@
-==== $(example) c
-----------------------------------------
-date: 2006-01-31T06:42:16
-id: 2
-ip: 84.190.227.75
-username: MB
-
-Sie werden jeweils nach Doppelklick gespeichert.
-==== $(example) c +
-----------------------------------------
-date: 2006-01-31T06:42:36
-id: 3
-ip: 84.190.227.75
-username: MB
-
-Auch an unterschiedlichen Stellen geht das
Modified: SQLObject/branches/0.9/docs/rebuild
===================================================================
--- SQLObject/branches/0.9/docs/rebuild 2009-07-25 10:50:07 UTC (rev 3925)
+++ SQLObject/branches/0.9/docs/rebuild 2009-07-25 11:01:07 UTC (rev 3926)
@@ -5,10 +5,9 @@
echo "Adding $parent to \$PYTHONPATH"
export PYTHONPATH=$parent:$PYTHONPATH
-NORMAL="Authors DeveloperGuide FAQ Inheritance News SQLBuilder
- SQLObject TODO Versioning
- web/index web/links web/repository web/community
- index community sqlobject-architecture sqlobject-admin"
+NORMAL="Authors DeveloperGuide FAQ Inheritance News
+ SQLBuilder SQLObject SQLObject.comments TODO Versioning
+ community download index links sqlobject-admin sqlobject-architecture"
for NAME in $NORMAL ; do
if [ -e "$NAME.html" -a ! "$NAME.html" -ot "$NAME.txt" ] ; then
@@ -19,5 +18,3 @@
rst2html.py --no-toc-backlinks --stylesheet=default.css --link-stylesheet \
-- "$NAME.txt" > "$NAME.html"
done
-
-source-highlight -f html interface.py
Deleted: SQLObject/branches/0.9/docs/sqlobject-admin.comments.txt
===================================================================
|
|
From: <sub...@co...> - 2009-07-25 10:50:18
|
Author: phd Date: 2009-07-25 04:50:07 -0600 (Sat, 25 Jul 2009) New Revision: 3925 Removed: SQLObject/trunk/docs/News1.txt Modified: SQLObject/trunk/docs/News.txt SQLObject/trunk/docs/rebuild SQLObject/trunk/setup.cfg Log: Removed old news. Modified: SQLObject/trunk/docs/News.txt =================================================================== --- SQLObject/trunk/docs/News.txt 2009-07-25 10:44:06 UTC (rev 3924) +++ SQLObject/trunk/docs/News.txt 2009-07-25 10:50:07 UTC (rev 3925) @@ -311,7 +311,7 @@ Released 10 Jan 2008. -* A number of changes ported from `SQLObject 0.7.10`_. +* A number of changes ported from SQLObject 0.7.10. SQLObject 0.9.2 =============== @@ -325,7 +325,7 @@ * Fixed bugs in SQLiteConnection.guessColumn(). -* A number of changes ported from `SQLObject 0.7.9`_ and `SQLObject 0.8.6`_. +* A number of changes ported from SQLObject 0.7.9 and SQLObject 0.8.6. SQLObject 0.9.1 =============== @@ -337,7 +337,7 @@ * Fixed misspelled methods in col.py. -* A number of bugfixes ported from `SQLObject 0.7.8`_ and `SQLObject 0.8.5`_. +* A number of bugfixes ported from SQLObject 0.7.8 and SQLObject 0.8.5. SQLObject 0.9.0 =============== @@ -396,596 +396,6 @@ * idName can be inherited from the parent sqlmeta class. -SQLObject 0.8.7 -=============== - -Released 10 Jan 2008. - -* A number of changes ported from `SQLObject 0.7.10`_. - -SQLObject 0.8.6 -=============== - -Released 30 Oct 2007. - -* Removed SelectResults.__nonzero__, which was a design mistake. Raising an - exception in __nonzero__() is inconsistent with other iterators - (bool(iter([])) => True). - -* A number of changes ported from `SQLObject 0.7.9`_. - -SQLObject 0.8.5 -=============== - -Released 25 July 2007. - -Bug Fixes ---------- - -* Suppress the second RowUpdateSignal in .set() called from ._SO_setValue(). - -SQLObject 0.8.4 -=============== - -Released 10 May 2007. - -Bug Fixes ---------- - -* A number of bugfixes forward-ported from 0.7.7. - -SQLObject 0.8.3 -=============== - -Released 3 May 2007. - -Bug Fixes ---------- - -* A number of bugfixes forward-ported from 0.7.6. - -SQLObject 0.8.2 -=============== - -Released 11 Apr 2007. - -Bug Fixes ---------- - -* Fixed ConnectionHub.doInTransaction() - if the original connection was - processConnection - reset processConnection, not threadConnection. - -SQLObject 0.8.1 -=============== - -Released 19 Mar 2007. - -Bug Fixes ---------- - -* ID columns are reverted back from INT UNSIGNED to INT for MySQL to be in - accord with FOREIGN KEYs. - -* Fixed return value from Firebird/MaxdbConnection.createTable(). - -* Fixed and simplified DatabaseIndex.get(). - -* Fixed ConnectionHub.doInTransaction() - close low-level connection on - commit() to prevent connections leaking. - -SQLObject 0.8.0 -=============== - -Released 12 Feb 2007. - -Features & Interface --------------------- - -* It is now possible to create tables that reference each other. - Constraints (in the DBMSes that support constraints) are added after the - tables have been created. - -* Added ``createSQL`` as an option for sqlmeta. Here you can add - related SQL you want executed by sqlobject-admin create after table - creation. createSQL expects a string, list, or dictionary. If using - a dictionary the key should be a dbName value (ex. 'postgres') and - the value should be a string or list. Examples in - sqlobject/tests/test_sqlobject_admin.py or at - <http://sqlobject.org/sqlobject-admin.html#the-create-command> - -* Added method ``sqlhub.doInTransaction(callable, *args, **kwargs)``, - to be used like:: - - sqlhub.doInTransaction(process_request, os.environ) - - This will run ``process_request(os.environ)``. The return - value will be preserved. - -* Added method ``.getOne([default])`` to ``SelectResults`` (these are - the objects returned by ``.select()`` and ``.selectBy()``). This - returns a single object, when the query is expected to return only - one object. The single argument is the value to return when zero - results are found (more than one result is always an error). If no - default is given, it is an error if no such object exists. - -* Added a WSGI middleware (in ``sqlobject.wsgi_middleware``) for - configuring the database for the request. Also handles - transactions. Available as ``egg:SQLObject`` in Paste Deploy - configuration files. - -* New joins! ManyToMany and OneToMany; not fully documented yet, but still - more sensible and smarter. - -* SELECT FOR UPDATE - -* New module dberrors.py - a hierarchy of exceptions. Translation of DB API - module's exceptions to the new hierarchy is performed for SQLite and MySQL. - -* SQLiteConnection got a new keyword "factory" - a name or a reference to - a factory function that returns a connection class; useful for - implementing functions or aggregates. See test_select.py and - test_sqlite_factory.py for examples. - -* SQLObject now disallows columns with names that collide with existing - variables and methods, such as "_init", "expire", "set" and so on. - -Small Features --------------- - -* Configurable client character set (encoding) for MySQL. - -* Added a close option to .commit(), so you can close the transaction as - you commit it. - -* DecimalValidator. - -* Added .expireAll() methods to sqlmeta and connection objects, to expire - all instances in those cases. - -* String IDs. - -* FOREIGN KEY for MySQL. - -* Support for sqlite3 (a builtin module in Python 2.5). - -* SelectResults cannot be queried for truth value; in any case it was - meaningless - the result was always True; now __nonzero__() raises - NotImplementedError in case one tries bool(MyTable.select()) or - "if MyTable.select():..." - -* With empty parameters AND() and OR() returns None. - -* Allows to use set/frozenset sets/Set/ImmutableSet sets as sequences - passed to the IN operator. - -* ID columns are now INT UNSIGNED for MySQL. - -Bug Fixes ---------- - -* Fixed problem with sqlite and threads; connections are no longer shared - between threads for sqlite (except for :memory:). - -* The reference loop between SQLObject and SQLObjectState eliminated using - weak references. - -* Another round of bugfixes for MySQL errors 2006 and 2013 (SERVER_GONE, - SERVER_LOST). - -* Fixed a bug in MSSQLConnection caused by column names being unicode. - -* Fixed a bug in FirebirdConnection caused by column names having trailing - spaces. - -* Order by several columns with inheritance. - -* Fixed aggregators and accumulators with inheritance. - -SQLObject 0.7.10 -================ - -Released 10 Jan 2008. - -* With PySQLite2 do not use encode()/decode() from PySQLite1 - always use - base64 for BLOBs. - -* MySQLConnection doesn't convert query strings to unicode (but allows to - pass unicode query strings if the user build ones). DB URI parameter - sqlobject_encoding is no longer used. - -SQLObject 0.7.9 -=============== - -Released 30 Oct 2007. - -Bug Fixes ---------- - -* Remove 'limit' from SelectResults after setting start/end so .clone() - never sees limit again. - -* Fixed a bug in sqlbuilder._LikeQuoted() - call sqlrepr() on the - expression to escape single quotes if the expression is a string. - -* Fixed StringCol and UnicodeCol: use sqlType with MSSQL. - -* Fixed startswith/endswith/contains for UnicodeCol. - -Other Changes -------------- - -* Changed the default value for 'varchar' in BLOBColumns from 'auto' to False - (so that the default type for the columns in MySQL is BLOB, not TEXT). - -* Changed the implementation type in BoolCol under MySQL from TINYINT to - BOOL (which is a synonym for TINYINT(1)). - -SQLObject 0.7.8 -=============== - -Released 25 July 2007. - -Bug Fixes ---------- - -* Replaced calls to style.dbColumnToPythonAttr() in joins.py by name/dbName - lookup in case the user named columns differently using dbName. - -* Minor correction in the tests: we fully support EnumCol in Postgres. - -* MySQLConnection now recognizes Enum, Double and Time columns when drawing the - database scheme from DB. - -* Minor fix in FirebirdConnection.fromDatabase. - -* Fixed a bug with default field values for columns for Firebird connection. - -* Fixed a bug in col.createSQL(). - -* Fixed a bug in converting date/time for years < 1000 (time.strptime() - requires exactly 4 digits for %Y, hence a year < 1000 must be 0-padded). - -Other Changes -------------- - -* Changed string quoting style for PostgreSQL and MySQL from \\' to ''. - -SQLObject 0.7.7 -=============== - -Released 10 May 2007. - -Bug Fixes ---------- - -* Fixed a bug in SQLRelatedJoin that ignored per-instance connection. - -* Fixed a bug in MySQL connection in case there is no charset in the DB URI. - -SQLObject 0.7.6 -=============== - -Released 3 May 2007. - -Bug Fixes ---------- - -* Fixed a longstanding bug with .select() ignoring 'limit' parameter. - -* Fixed a bug with absent comma in JOINs. - -* Fixed sqlbuilder - .startswith(), .endswith() and .contains() assumed - their parameter must be a string; now you can pass an SQLExpression: - Table.q.name.contains(func.upper('a')), for example. - -* Fixed a longstanding bug in sqlbuilder.Select() with groupBy being a - sequence. - -* Fixed a bug with Aliases in JOINs. - -* Yet another patch to properly initialize MySQL connection encoding. - -* Fixed a minor comparison problem in test_decimal.py. - -* More documentation about orderBy. - -SQLObject 0.7.5 -=============== - -Released 11 Apr 2007. - -Bug Fixes ---------- - -* Fixed test_deep_inheritance.py - setup classes in the correct order - (required for Postgres 8.0+ which is strict about referential integrity). - -* Fixed a bug in DateValidator caused by datetime being a subclass of date. - -SQLObject 0.7.4 -=============== - -Released 19 Mar 2007. - -Small Features --------------- - -* For MySQLdb 1.2.2+ call ping(True) on the connection to allow - autoreconnect after a timeout. - -Bug Fixes ---------- - -* Another round of changes to create/drop the tables in the right order - in the command-line client `sqlobject-admin`. - -* Fixed a bug in UnicodeField - allow comparison with None. - -SQLObject 0.7.3 -=============== - -Released 30 Jan 2007. - -Bug Fixes ---------- - -* Allow multiple MSSQL connections. - -* Psycopg1 requires port to be a string; psycopg2 requires port to be an int. - -* Fixed a bug in MSSQLConnection caused by column names being unicode. - -* Fixed a bug in FirebirdConnection caused by column names having trailing - spaces. - -* Fixed a missed import in firebirdconnection.py. - -* Remove a leading slash in FirebirdConnection. - -* Fixed a bug in deep Inheritance tree. - -SQLObject 0.7.2 -=============== - -Released 20 Nov 2006. - -Features & Interface --------------------- - -* sqlbuilder.Select now supports JOINs exactly like SQLObject.select. - -* destroySelf() removes the object from related joins. - -Bug Fixes ---------- - -* Fixed a number of unicode-related problems with newer MySQLdb. - -* If the DB API driver returns timedelta instead of time (MySQLdb does - this) it is converted to time; but if the timedelta has days an exception - is raised. - -* Fixed a number of bugs in InheritableSQLObject related to foreign keys. - -* Fixed a bug in InheritableSQLObject related to the order of tableRegistry - dictionary. - -* A bug fix that allows to use SQLObject with DateTime from Zope. - -Documentation Added -------------------- - -* Added "How can I define my own intermediate table in my Many-to-Many - relationship?" to FAQ. - -SQLObject 0.7.1 -=============== - -Released 25 Sep 2006. - -Features & Interface --------------------- - -* Added support for psycopg2_ - -.. _psycopg2: http://initd.org/projects/psycopg2 - -* Added support for MSSQL. - -* Added ``TimeCol``. - -* ``RelatedJoin`` and ``SQLRelatedJoin`` objects have a - ``createRelatedTable`` keyword argument (default ``True``). If - ``False``, then the related table won't be automatically created; - instead you must manually create it (e.g., with explicit SQLObject - classes for the joins). - -* Implemented ``RLIKE`` (regular expression LIKE). - -* Moved _idSequence to sqlmeta.idSequence. - -Small Features --------------- - -* Select over RelatedJoin. - -* SQLite foreign keys. - -* Postgres DB URIs with a non-default path to unix socket. - -* Allow the use of foreign keys in selects. - -* Implemented addColumn() for SQLite. - -* With PySQLite2 use encode()/decode() from PySQLite1 for BLOBCol if available; else use base64. - -Bug Fixes ---------- - -* Fixed a longstanding problem with UnicodeCol - at last you can use unicode - strings in .select() and .selectBy() queries. There are some limitations, - though; see the description of the UnicodeCol_. - -.. _UnicodeCol: SQLObject.html#column-types - -* Cull patch (clear cache). - -* .destroySelf() inside a transaction. - -* Synchronize main connection cache during transaction commit. - -* Ordering joins with NULLs. - -* Fixed bugs with plain/non-plain setters. - -* Lots of other bug fixes. - -SQLObject 0.7.0 -=============== - -Features & Interface --------------------- - -* Inheritance. See Inheritance.html_ - -.. _Inheritance.html: Inheritance.html - -* Date/time validators, converters, tests. - -* Both `mxDateTime - <http://www.egenix.com/files/python/mxDateTime.html>`_ and `datetime - <http://python.org/doc/current/lib/module-datetime.html>`_ supported - for ``DateTimeCol``. - -* Added ``BLOBCol``, for binary data. - -* Added ``PickleCol``, to transparently pickle and unpickle data from - column. - -* New `documented reflection interface - <http://svn.colorstudy.com/SQLObject/docs/interface.py>`_, using the - new ``.sqlmeta`` class/instance. Most special attributes that - started with ``_`` were moved into ``sqlmeta`` (with leading - underscore removed). - -* New aggregate functions for select results, like - ``cls.select().max(columnName)``: ``.max()``, ``.min()``, - ``.avg()``. - -* ``ConnectionHub`` aka ``sqlhub`` (@@: Needs documentation) - -* Command-line client `sqlobject-admin - <http://sqlobject.org/docs/sqlobject-admin.html>`_. - -* ``StringCol`` has ``char_binary`` attribute, for explicit case - handling in MySQL. - -* Various joins now supported (LEFT, RIGHT, STRAIGHT, INNER, OUTER, - CROSS): see `documentation - <http://sqlobject.org/docs/SQLObject.html#left-join-and-other-joins>`_. - Aliases for joining a table with itself. - -* Subqueries/subselects (`see docs - <http://sqlobject.org/docs/SQLObject.html#subqueries-subselects>`_). - -* Select results support ``.filter(extra_query)`` - -* ``SQLMultipleJoin`` and ``SQLRelatedJoin``, like ``MultipleJoin`` - and ``RelatedJoin``, except return select results (@@: Document). - -* `SingleJoin - <http://sqlobject.org/docs/SQLObject.html#singlejoin-one-to-one>`_. - -* Columns retain their order from the class definition to table - creation. - -* SQLObject now depends on the `FormEncode <http://formencode.org>`_ - library, and internal conversion/validation is done through - FormEncode (was previously using old fork of FormEncode). - -* Column instances can have attributes set on them (generally for - annotating columns with extra data). - -Other Changes -------------- - -* When iterating over select results, a list is now immediately - created with the full list of instances being selected. Before - instances were created on demand, as select results were - pulled out row-by-row. The previous lazy behavior is available with - the method ``lazyIter``, used like ``for obj in - MyClass.select().lazyIter(): ...``. - -* Test framework now uses `py.test - <http://codespeak.net/py/current/doc/test.html>`_. - -* SQLObject now uses a simpler metaclass - (``sqlobject.declarative.DeclarativeMeta``). - -* autoCommit and queryIns ?? (@@: expand) - -* Deprecation (@@: document) - -* Use `setuptools - <http://peak.telecommunity.com/DevCenter/setuptools>`_ for packaging - and installation. - -Small Features --------------- - -* ``IntValidator`` for testing ``IntCol`` inputs. - -* Base style (``sqlobject.styles.Style``) is now a usable no-op style. - -* SQLite in-memory databases allowed with ``sqlite:/:memory:`` - -* Keyword parameters allowed to ``connectionForURI`` (like - ``debug=True``). - -* More parameters passed to MySQL connections (unix_socket, - named_pipe, init_command, read_default_file, read_default_group, - connect_time, compress, named_pipe, use_unicode, client_flag, - local_infile). - -* ``DateTimeCol.now`` is a function for producing the current date, - using whatever date/time module you are using (good for use as a - default). - -* Inherited classes fetched more efficiently (fewer queries). - -* Decimal converter to create `decimal objects - <http://python.org/doc/current/lib/module-decimal.html>`_. - -* Repository rearranged (now in - ``http://svn.colorstudy.com/SQLObject/trunk``). - -Bug Fixes ---------- - -* Tables with no columns can work. Why would you have a table without - a column? We do not know, we try only to serve. - -* Sybase ``_fromDatabase`` fixed. - -* Various fixes to support most recent ``MySQLdb`` adapter, and - ``pysqlite`` adapters. - -* URI parsing improved, including Windows paths (for use with SQLite). - -* ``selectBy(column=None)`` creates ``IS NULL`` query. - -* ``selectBy(foreignKey=value)`` now supported (not just selecting by - foreign key ID). - -* ``cascade='null'`` wasn't working properly (was cascading all - deletes, not nullifying!). - -* Lots of other bug fixes. - -`Older news`__ - -.. __: News1.html - .. image:: http://sflogo.sourceforge.net/sflogo.php?group_id=74338&type=10 :target: http://sourceforge.net/projects/sqlobject :class: noborder Deleted: SQLObject/trunk/docs/News1.txt =================================================================== --- SQLObject/trunk/docs/News1.txt 2009-07-25 10:44:06 UTC (rev 3924) +++ SQLObject/trunk/docs/News1.txt 2009-07-25 10:50:07 UTC (rev 3925) @@ -1,465 +0,0 @@ -++++ -News -++++ - -.. contents:: Contents: - :backlinks: none - -.. _start: - -SQLObject 0.6.1 -=============== - -Interface Changes ------------------ - -* The long broken and unused ``DBMConnection`` has been removed. - -* Added a connection parameter to all class methods (patch 974755) - -* Connection objects have a ``.module`` attribute, which points to - the DB-API module. This is useful for getting access to the - exception objects. - -Features --------- - -* New ``UnicodeCol()`` that converts to and from Unicode - in the database. See docs_. - -.. _docs: SQLObject.html#subclasses-of-col - -* Added indexing (from Jeremy Fitzhardinge). See `the - documentation`__ for more. - -.. __: SQLObject.html#indexes - -* All connections are explicitly closed, not just garbage collected. - Many database drivers don't close database connections properly when - the connection object is garbage collected. - -* New ``distinct`` option to selects, like ``MyClass.select(..., - distinct=True)`` - -* You can now do - ``MyClass.selectBy(joinedTable=joinedTableInstance)``, where before - you had to do - ``MyClass.selectBy(joinedTableID=joinedTableInstance.id)``. (From - Dave Cook) - -SQLObject 0.6 -============= - -Interface Changes ------------------ - -* Lazy updates. Add ``_lazyUpdate=True`` to your class, and updates - will only be written when you call ``obj.syncUpdate()`` or - ``obj.sync()`` (``sync`` also refetches the data from the database, - which ``syncUpdate`` does not do). When enabled, instances have a - property ``dirty``, which indicates if they have pending updates. - Inserts are still done immediately. - -* Separated database drivers (PostgresConnection, MySQLConnection, - etc.) into separate packages. You can access the driver through - URIs, like ``mysql://user:pass@host/dbname`` -- to set drivers after - class creation you should use `sqlobject.connectionForURI()`. - -* The ``SQLObject`` package has been renamed to ``sqlobject``. This - makes it similar to several other packages, and emphasizes the - distinction between the ``sqlobject`` package and the ``SQLObject`` - class. - -* Class instantiation now creates new rows (like `.new()` used to - do), and the `.get()` method now retrieves objects that already have - rows (like class instantiation used to do). - -* We're now using a Subversion repository instead of CVS. It is - located at http://svn.colorstudy.com/trunk/SQLObject - -* If you pass ``forceDBName=True`` to the ``*Col`` constructors, then - your column name doesn't have to be restricted to a-z, 0-9, and _. - -* ``*Col`` constructors now support cascade: ``cascade=None`` - (default) means no constraint; ``cascade=True`` means that if the - foreign key is deleted, the object will be deleted; - ``cascade=False`` means that the delete will fail; - ``cascade="null"`` means that the column will be set to NULL. The - constraints are only implemented in the DBMS, not in SQLObject - (i.e., they will not work in databases like MySQL and SQLite). - -* New ``_create(id, **kw)`` method that can be overridden to intercept - and modify attempts to insert rows in the database. - -* You can specify ``_idType`` in your class, like ``_idType = str``. - The default type is ``int``; i.e., IDs are coerced to integers. - This is a temporary interface; a more general specifier for primary - keys will be added later. - -* New classmethod ``createTableSQL()`` method for SQLObject classes, - which returns the SQL that can be used to create the table. Analog - to ``createTable()``. - -Bugs ----- - -* SQLite booleans fixed. - -* You can now use ``sqlite:/:memory:`` to store the database in - memory. - -* Some bugs resolved when caching is turned off (SF 956847) - -SQLObject 0.5.3 -=============== - -Bugs ----- - -* Python 2.2 booleans fixed (SF: 903488) - -* Longs (e.g., ``1L``) get converted properly (SF: 939965) - -SQLObject 0.5.2 -=============== - -We're now using Subversion instead of CVS. The repository is located -at svn://colorstudy.com/trunk/SQLObject - -Interface Changes ------------------ - -* If you commit or rollback a transaction, you must call - ``trans.begin()`` to restart the transaction. Any database access on - the transaction inbetween commit/rollback and being will result in an - AssertionError. (It's also acceptable to create a new transaction - object instead of reusing the old one, but objects in that - transaction will be invalid) - -Bugs ----- - -* Using .select() would hold on to a connection, and also release it - back to the connection pool. Very un-threadsafe and all-around - bad. -* Fixed bug which did not release connections after database (query) - error. -* When setting columns that use validators, the Pythonic - (vs. database) representation wasn't being stored in the column. - Now we roundtrip (through toPython and fromPython) the values when - they get set. -* PostgreConnection is back to using sequences for ID generation, - instead of oids. Long explanation -- oids can be unindexed in some - versions of Postgres, or not even exist. -* When turning caching off and using transactions, got an attribute - error on rollback. -* Rollback or commit didn't find objects that were expired from the - cache but still in memory. -* Rollback or commit didn't free the connection object, so as you - created more transactions it stole connections and didn't put them - back in the pool. - -SQLObject 0.5.1 -=============== - -Released: 12-Nov-2003 - -Interface Changes ------------------ - -* Select results no longer have a __len__ method (i.e., you can't do - ``len(Person.select(Person.q.firstName=='Bob'))``). There is now a - ``.count()`` method instead. ``__len__`` gets called implicitly in - several circumstances, like ``list()``, which causes potentially - expensive queries to ``COUNT(*)``. - -Bugs ----- - -* Objects retrieved from a join now respect the transaction context of - the original instance. -* ``.select().reversed()`` works. - -SQLObject 0.5 -============= - -Released: 1-Nov-2003 - -Features --------- - -* Firebird_ support. - -* Database-specific literal quoting (motivation: MySQL and Postgres - use backslashes, Firebird and SQLite do not). - -* Generic conversion/validation can be added to columns. - -* BoolCol for portable boolean columns (BOOL on Postgres, INT on - MySQL, etc.) - -* Non-integer IDs. (Automatic table creation is not supported for - non-integer IDs) - -* Explicit IDs for new instances/rows (required for non-integer IDs). - -* Instances can be synced with the database (in case there have been - updates to the object since it was first fetched). - -* Instances can be expired, so that they will be synced when they are - next accessed. - -.. _Firebird: http://firebird.sourceforge.net/ - -Interface Changes ------------------ - -* `SQLBuilder.sqlRepr` renamed to `SQLBuilder.sqlrepr`, signature - changed to ``sqlrepr(value, databaseName)`` to quote ``value``, - where ``databaseName`` is one of ``"mysql"``, ``"postgres"``, - ``"sqlite"``, ``"firebird"``. - -* ``sqlRepr`` magic method renamed to ``__sqlrepr__``, and takes new - ``databaseName`` argument. - -* When using explicit booleans, use ``Col.TRUE`` and ``Col.FALSE`` for - backward compatibility with Python 2.2. This is not required for - ``BoolCol``, however (which converts all true values to TRUE and - false values to FALSE) - -* SQLObject has a ``sqlrepr`` method, so you can construct queries - with something like ``"WHERE last_name = %s" % - Person.sqlrepr('Bob')`` - -Bugs ----- - -* Released all locks with ``finally:``, so that bugs won't cause - frozen locks. - -* Tons of transaction fixes. Transactions pretty much work. - -* A class can have multiple foreign keys pointing to the same table - (e.g., ``spouse = ForeignKey("Person"); supervisor = - ForeignKey("Person")``) - -SQLObject 0.4 -============= - -Features --------- - -* You can specify columns in a new, preferred manner:: - - class SomeObject(SQLObject): - someColumn = Col() - - Equivalent to:: - - class SomeObject(SQLObject): - _columns = [Col('someColumn')] - - Ditto joins. - -* Cache objects have a clear method, which empties all objects. - However, weak references to objects *are* maintained, so the - integrity of the cache can be ensured. - -* SQLObject subclasses can be further subclassed, adding or removing - column definitions (as well as changing settings like connection, - style, etc). Each class still refers to a single concrete table in - the database -- the class hierarchy is not represented in the - database. - -* Each SQLObject subclass can have an associated style, as given in - the `_style` attribute. This object is used to map between Python - and database names (e.g., the column name for a Python attribute). - Some samples are available in the `Style` module. - -* Postgres support for `_fromDatabase` (reading a table definition from - the database, and creating a class from that). - -* Postgres id columns more permissive, you don't have to create a - specially named sequence (or implicitly create that sequence through - ``SERIAL``). lastoid is used instead. - -* MySQL uses ``localhost`` as the default host, and the empty string - as the default password. - -* Added functions for use with queries: `ISNULL`, `ISNOTNULL`. ``==`` - and ``!=`` can be used with None, and is translated into `ISNULL`, - `ISNOTNULL`. - -* Classes can be part of a specific registry. Since classes are - referred to by name in several places, the names have to be unique. - This can be problematic, so you can add a class variable `_registry`, - the value of which should be a string. Classes references are - assumed to be inside that registry, and class names need only be - unique among classes in that registry. - -* ``SomeClass.select()`` selects all, instead of using - ``SomeClass.select('all')``. You can also use None instead of - ``'all'``. - -* Trying to fetch non-existent objects raises `SQLObjectNotFound`, - which is a subclass of the builtin exception `LookupError`. - This may not be raised if `_cacheValues` is False and you use - the ID to fetch an object (but alternateID fetches will raise - the exception in either case). - -* Can order by descending order, with the `reversed` option to - the `select` method, or by prefixing the column with a ``"-"``. - -* Ordering with joins works better -- you can order with multiple - columns, as well as descending ordering. - -Col and Join -~~~~~~~~~~~~ - -* `Join` constructors have an argument `orderBy`, which is the name - of a Python attribute to sort results by. If not given, the - appropriate class's `_defaultOrder` will be used. None implies - no sorting (and ``orderBy=None`` will override `_defaultOrder`). - -* `ForeignKey` class (subclass of `Col`), for somewhat easier/clearer - declaration of foreign keys. - -* `Col` (and subclasses) can take a `sqlType` argument, which is used - in table definitions. E.g., ``Col(sqlType="BOOLEAN")`` can be used - to create a ``BOOLEAN`` column, even though no `BooleanCol` exists. - -* `alternateID` (a specifier for columns) implies ``NOT NULL``. Also - implies ``UNIQUE``. - -* `unique` (a specifier for columns) added. - -* `DecimalCol` and `CurrencyCol` added. - -* `EnumCol` uses constraints on Postgres (if you use `createTable`). - -Bugs ----- - -* `DateTimeCol` uses ``TIMESTAMP`` for Postgres. Note that the - Python type name is used for column names, not necessarily the - SQL standard name. - -* Foreign key column names are slightly more permissive. They still - need to end in ``id``, but it's case insensitive. - -* _defaultOrder should be the python attribute's name, not the database - name. - -* SomeClass.q.colName uses proper Python attributes for colName, and - proper database names when executed in the database. - -* SQLite select results back to being proper iterator. - -* SomeClass.q.colName now does proper translation to database names, - using dbName, etc., instead of being entirely algorithm-driven. - -* Raise `TypeError` if you pass an unknown argument to the `new` - method. - -* You can override the _get_* or _set_* version of a property without - overriding the other. - -* Python 2.3 compatible. - -* Trying to use ``Col('id')`` or ``id = Col()`` will raise an - exception, instead of just acting funky. - -* ``ForeignKey`` columns return None if the associated column is - NULL in the database (used to just act weird). - -* Instantiating an object with an id of None will give an error, - instead of just acting weird. - -Internal --------- - -* `Col` class separated into `Col` and `SOCol` (and same for all other - `*Col` classes). `Col` defines a column, `SOCol` is that definition - bound to a particular SQLObject class. - -* Instance variable ``_SO_columns`` holds the `SOCol` instances. - -SQLObject 0.3 -============= - -Features --------- - -* Table creation (SQL schema generation) via new class method - `createTable`. And of course a `dropTable` method to go with. - -* Add and remove columns at runtime, optionally modifying the - schema in the database (via ``ALTER``). (Does not work in - SQLite) - -* New column classes (see `Col` module), indicates type - -* Classes can be created by parsing an already existant table - (MySQL only). - -* Objects are not cached indefinitely. Cached objects are expired - into a weak dictionary (it allows objects to be garbage collected if - nowhere else in the program is using the object, but until it is - collected it's still available to the cache). Some cache control, - pass ``nocache=True`` to your connection object to eliminate as much - caching as possible. See `Cache` module for a bit more. - -* New DBMConnection, implements a database-like backend without any - database to speak of, including queries (so long as you use - `SQLBuilder` and don't generate your where clauses manually). - Actual SQL generation is done entirely by the database connection, - allowing portability across very different backends. - -* Postgres table IDs should be created with type ``SERIAL`` (which - implicitly creates a sequence). - -* New `_defaultOrder` class variable gives a default for the - `orderBy` parameter to `select` queries. - -Bugs ----- - -* LIMIT/OFFSET (select result slicing) works in Postgres and SQLite. - -* ``tableExists`` method from DBConnection works in same. - -* mxDateTime not required (never should have been, always just an - option). - -SQLObject 0.2.1 -=============== - -Bugs ----- - -* Fixed caching of new objects - -Features --------- - -* SQLite_ support - -* Select statements are lazily generated, retrieve full rows for - speed, and are slicable (`select docs`_). - -* `alternateID` option for `Col` objects -- select individual objects - via UNIQUE columns, e.g., a username (`Col docs`_). - -.. _SQLite: http://sqlite.org/ - -.. _select docs: SQLObject.html#selecting-multiple-objects - -.. _Col docs: SQLObject.html#col-class-specifying-columns - -.. image:: http://sflogo.sourceforge.net/sflogo.php?group_id=74338&type=10 - :target: http://sourceforge.net/projects/sqlobject - :class: noborder - :align: center - :height: 15 - :width: 80 - :alt: Get SQLObject at SourceForge.net. Fast, secure and Free Open Source software downloads Modified: SQLObject/trunk/docs/rebuild =================================================================== --- SQLObject/trunk/docs/rebuild 2009-07-25 10:44:06 UTC (rev 3924) +++ SQLObject/trunk/docs/rebuild 2009-07-25 10:50:07 UTC (rev 3925) @@ -5,7 +5,7 @@ echo "Adding $parent to \$PYTHONPATH" export PYTHONPATH=$parent:$PYTHONPATH -NORMAL="Authors DeveloperGuide FAQ Inheritance News News1 +NORMAL="Authors DeveloperGuide FAQ Inheritance News SQLBuilder SQLObject SelectResults TODO Versioning Views web/index web/links web/repository web/community index community sqlobject-architecture sqlobject-admin" Modified: SQLObject/trunk/setup.cfg =================================================================== --- SQLObject/trunk/setup.cfg 2009-07-25 10:44:06 UTC (rev 3924) +++ SQLObject/trunk/setup.cfg 2009-07-25 10:50:07 UTC (rev 3925) @@ -12,7 +12,7 @@ [pudge] theme = pythonpaste.org docs = docs/index.txt docs/Authors.txt docs/DeveloperGuide.txt docs/FAQ.txt - docs/Inheritance.txt docs/News.txt docs/News1.txt docs/SQLBuilder.txt + docs/Inheritance.txt docs/News.txt docs/SQLBuilder.txt docs/SQLObject.txt docs/SelectResults.txt docs/TODO.txt docs/Versioning.txt docs/Views.txt docs/community.txt docs/download.txt docs/links.txt docs/sqlobject-admin.txt docs/sqlobject-architecture.txt |
|
From: <sub...@co...> - 2009-07-25 10:44:18
|
Author: phd
Date: 2009-07-25 04:44:06 -0600 (Sat, 25 Jul 2009)
New Revision: 3924
Removed:
SQLObject/branches/0.10/docs/News1.txt
Modified:
SQLObject/branches/0.10/docs/News.txt
SQLObject/branches/0.10/docs/rebuild
SQLObject/branches/0.10/setup.cfg
Log:
Removed old news.
Modified: SQLObject/branches/0.10/docs/News.txt
===================================================================
--- SQLObject/branches/0.10/docs/News.txt 2009-07-25 10:38:40 UTC (rev 3923)
+++ SQLObject/branches/0.10/docs/News.txt 2009-07-25 10:44:06 UTC (rev 3924)
@@ -265,7 +265,7 @@
Released 10 Jan 2008.
-* A number of changes ported from `SQLObject 0.7.10`_.
+* A number of changes ported from SQLObject 0.7.10.
SQLObject 0.9.2
===============
@@ -279,7 +279,7 @@
* Fixed bugs in SQLiteConnection.guessColumn().
-* A number of changes ported from `SQLObject 0.7.9`_ and `SQLObject 0.8.6`_.
+* A number of changes ported from SQLObject 0.7.9 and `SQLObject 0.8.6`_.
SQLObject 0.9.1
===============
@@ -291,7 +291,7 @@
* Fixed misspelled methods in col.py.
-* A number of bugfixes ported from `SQLObject 0.7.8`_ and `SQLObject 0.8.5`_.
+* A number of bugfixes ported from SQLObject 0.7.8 and `SQLObject 0.8.5`_.
SQLObject 0.9.0
===============
@@ -355,7 +355,7 @@
Released 10 Jan 2008.
-* A number of changes ported from `SQLObject 0.7.10`_.
+* A number of changes ported from SQLObject 0.7.10.
SQLObject 0.8.6
===============
@@ -366,7 +366,7 @@
exception in __nonzero__() is inconsistent with other iterators
(bool(iter([])) => True).
-* A number of changes ported from `SQLObject 0.7.9`_.
+* A number of changes ported from SQLObject 0.7.9.
SQLObject 0.8.5
===============
@@ -535,411 +535,6 @@
* Fixed aggregators and accumulators with inheritance.
-SQLObject 0.7.10
-================
-
-Released 10 Jan 2008.
-
-* With PySQLite2 do not use encode()/decode() from PySQLite1 - always use
- base64 for BLOBs.
-
-* MySQLConnection doesn't convert query strings to unicode (but allows to
- pass unicode query strings if the user build ones). DB URI parameter
- sqlobject_encoding is no longer used.
-
-SQLObject 0.7.9
-===============
-
-Released 30 Oct 2007.
-
-Bug Fixes
----------
-
-* Remove 'limit' from SelectResults after setting start/end so .clone()
- never sees limit again.
-
-* Fixed a bug in sqlbuilder._LikeQuoted() - call sqlrepr() on the
- expression to escape single quotes if the expression is a string.
-
-* Fixed StringCol and UnicodeCol: use sqlType with MSSQL.
-
-* Fixed startswith/endswith/contains for UnicodeCol.
-
-Other Changes
--------------
-
-* Changed the default value for 'varchar' in BLOBColumns from 'auto' to False
- (so that the default type for the columns in MySQL is BLOB, not TEXT).
-
-* Changed the implementation type in BoolCol under MySQL from TINYINT to
- BOOL (which is a synonym for TINYINT(1)).
-
-SQLObject 0.7.8
-===============
-
-Released 25 July 2007.
-
-Bug Fixes
----------
-
-* Replaced calls to style.dbColumnToPythonAttr() in joins.py by name/dbName
- lookup in case the user named columns differently using dbName.
-
-* Minor correction in the tests: we fully support EnumCol in Postgres.
-
-* MySQLConnection now recognizes Enum, Double and Time columns when drawing the
- database scheme from DB.
-
-* Minor fix in FirebirdConnection.fromDatabase.
-
-* Fixed a bug with default field values for columns for Firebird connection.
-
-* Fixed a bug in col.createSQL().
-
-* Fixed a bug in converting date/time for years < 1000 (time.strptime()
- requires exactly 4 digits for %Y, hence a year < 1000 must be 0-padded).
-
-Other Changes
--------------
-
-* Changed string quoting style for PostgreSQL and MySQL from \\' to ''.
-
-SQLObject 0.7.7
-===============
-
-Released 10 May 2007.
-
-Bug Fixes
----------
-
-* Fixed a bug in SQLRelatedJoin that ignored per-instance connection.
-
-* Fixed a bug in MySQL connection in case there is no charset in the DB URI.
-
-SQLObject 0.7.6
-===============
-
-Released 3 May 2007.
-
-Bug Fixes
----------
-
-* Fixed a longstanding bug with .select() ignoring 'limit' parameter.
-
-* Fixed a bug with absent comma in JOINs.
-
-* Fixed sqlbuilder - .startswith(), .endswith() and .contains() assumed
- their parameter must be a string; now you can pass an SQLExpression:
- Table.q.name.contains(func.upper('a')), for example.
-
-* Fixed a longstanding bug in sqlbuilder.Select() with groupBy being a
- sequence.
-
-* Fixed a bug with Aliases in JOINs.
-
-* Yet another patch to properly initialize MySQL connection encoding.
-
-* Fixed a minor comparison problem in test_decimal.py.
-
-* More documentation about orderBy.
-
-SQLObject 0.7.5
-===============
-
-Released 11 Apr 2007.
-
-Bug Fixes
----------
-
-* Fixed test_deep_inheritance.py - setup classes in the correct order
- (required for Postgres 8.0+ which is strict about referential integrity).
-
-* Fixed a bug in DateValidator caused by datetime being a subclass of date.
-
-SQLObject 0.7.4
-===============
-
-Released 19 Mar 2007.
-
-Small Features
---------------
-
-* For MySQLdb 1.2.2+ call ping(True) on the connection to allow
- autoreconnect after a timeout.
-
-Bug Fixes
----------
-
-* Another round of changes to create/drop the tables in the right order
- in the command-line client `sqlobject-admin`.
-
-* Fixed a bug in UnicodeField - allow comparison with None.
-
-SQLObject 0.7.3
-===============
-
-Released 30 Jan 2007.
-
-Bug Fixes
----------
-
-* Allow multiple MSSQL connections.
-
-* Psycopg1 requires port to be a string; psycopg2 requires port to be an int.
-
-* Fixed a bug in MSSQLConnection caused by column names being unicode.
-
-* Fixed a bug in FirebirdConnection caused by column names having trailing
- spaces.
-
-* Fixed a missed import in firebirdconnection.py.
-
-* Remove a leading slash in FirebirdConnection.
-
-* Fixed a bug in deep Inheritance tree.
-
-SQLObject 0.7.2
-===============
-
-Released 20 Nov 2006.
-
-Features & Interface
---------------------
-
-* sqlbuilder.Select now supports JOINs exactly like SQLObject.select.
-
-* destroySelf() removes the object from related joins.
-
-Bug Fixes
----------
-
-* Fixed a number of unicode-related problems with newer MySQLdb.
-
-* If the DB API driver returns timedelta instead of time (MySQLdb does
- this) it is converted to time; but if the timedelta has days an exception
- is raised.
-
-* Fixed a number of bugs in InheritableSQLObject related to foreign keys.
-
-* Fixed a bug in InheritableSQLObject related to the order of tableRegistry
- dictionary.
-
-* A bug fix that allows to use SQLObject with DateTime from Zope.
-
-Documentation Added
--------------------
-
-* Added "How can I define my own intermediate table in my Many-to-Many
- relationship?" to FAQ.
-
-SQLObject 0.7.1
-===============
-
-Released 25 Sep 2006.
-
-Features & Interface
---------------------
-
-* Added support for psycopg2_
-
-.. _psycopg2: http://initd.org/projects/psycopg2
-
-* Added support for MSSQL.
-
-* Added ``TimeCol``.
-
-* ``RelatedJoin`` and ``SQLRelatedJoin`` objects have a
- ``createRelatedTable`` keyword argument (default ``True``). If
- ``False``, then the related table won't be automatically created;
- instead you must manually create it (e.g., with explicit SQLObject
- classes for the joins).
-
-* Implemented ``RLIKE`` (regular expression LIKE).
-
-* Moved _idSequence to sqlmeta.idSequence.
-
-Small Features
---------------
-
-* Select over RelatedJoin.
-
-* SQLite foreign keys.
-
-* Postgres DB URIs with a non-default path to unix socket.
-
-* Allow the use of foreign keys in selects.
-
-* Implemented addColumn() for SQLite.
-
-* With PySQLite2 use encode()/decode() from PySQLite1 for BLOBCol if available; else use base64.
-
-Bug Fixes
----------
-
-* Fixed a longstanding problem with UnicodeCol - at last you can use unicode
- strings in .select() and .selectBy() queries. There are some limitations,
- though; see the description of the UnicodeCol_.
-
-.. _UnicodeCol: SQLObject.html#column-types
-
-* Cull patch (clear cache).
-
-* .destroySelf() inside a transaction.
-
-* Synchronize main connection cache during transaction commit.
-
-* Ordering joins with NULLs.
-
-* Fixed bugs with plain/non-plain setters.
-
-* Lots of other bug fixes.
-
-SQLObject 0.7.0
-===============
-
-Features & Interface
---------------------
-
-* Inheritance. See Inheritance.html_
-
-.. _Inheritance.html: Inheritance.html
-
-* Date/time validators, converters, tests.
-
-* Both `mxDateTime
- <http://www.egenix.com/files/python/mxDateTime.html>`_ and `datetime
- <http://python.org/doc/current/lib/module-datetime.html>`_ supported
- for ``DateTimeCol``.
-
-* Added ``BLOBCol``, for binary data.
-
-* Added ``PickleCol``, to transparently pickle and unpickle data from
- column.
-
-* New `documented reflection interface
- <http://svn.colorstudy.com/SQLObject/docs/interface.py>`_, using the
- new ``.sqlmeta`` class/instance. Most special attributes that
- started with ``_`` were moved into ``sqlmeta`` (with leading
- underscore removed).
-
-* New aggregate functions for select results, like
- ``cls.select().max(columnName)``: ``.max()``, ``.min()``,
- ``.avg()``.
-
-* ``ConnectionHub`` aka ``sqlhub`` (@@: Needs documentation)
-
-* Command-line client `sqlobject-admin
- <http://sqlobject.org/docs/sqlobject-admin.html>`_.
-
-* ``StringCol`` has ``char_binary`` attribute, for explicit case
- handling in MySQL.
-
-* Various joins now supported (LEFT, RIGHT, STRAIGHT, INNER, OUTER,
- CROSS): see `documentation
- <http://sqlobject.org/docs/SQLObject.html#left-join-and-other-joins>`_.
- Aliases for joining a table with itself.
-
-* Subqueries/subselects (`see docs
- <http://sqlobject.org/docs/SQLObject.html#subqueries-subselects>`_).
-
-* Select results support ``.filter(extra_query)``
-
-* ``SQLMultipleJoin`` and ``SQLRelatedJoin``, like ``MultipleJoin``
- and ``RelatedJoin``, except return select results (@@: Document).
-
-* `SingleJoin
- <http://sqlobject.org/docs/SQLObject.html#singlejoin-one-to-one>`_.
-
-* Columns retain their order from the class definition to table
- creation.
-
-* SQLObject now depends on the `FormEncode <http://formencode.org>`_
- library, and internal conversion/validation is done through
- FormEncode (was previously using old fork of FormEncode).
-
-* Column instances can have attributes set on them (generally for
- annotating columns with extra data).
-
-Other Changes
--------------
-
-* When iterating over select results, a list is now immediately
- created with the full list of instances being selected. Before
- instances were created on demand, as select results were
- pulled out row-by-row. The previous lazy behavior is available with
- the method ``lazyIter``, used like ``for obj in
- MyClass.select().lazyIter(): ...``.
-
-* Test framework now uses `py.test
- <http://codespeak.net/py/current/doc/test.html>`_.
-
-* SQLObject now uses a simpler metaclass
- (``sqlobject.declarative.DeclarativeMeta``).
-
-* autoCommit and queryIns ?? (@@: expand)
-
-* Deprecation (@@: document)
-
-* Use `setuptools
- <http://peak.telecommunity.com/DevCenter/setuptools>`_ for packaging
- and installation.
-
-Small Features
---------------
-
-* ``IntValidator`` for testing ``IntCol`` inputs.
-
-* Base style (``sqlobject.styles.Style``) is now a usable no-op style.
-
-* SQLite in-memory databases allowed with ``sqlite:/:memory:``
-
-* Keyword parameters allowed to ``connectionForURI`` (like
- ``debug=True``).
-
-* More parameters passed to MySQL connections (unix_socket,
- named_pipe, init_command, read_default_file, read_default_group,
- connect_time, compress, named_pipe, use_unicode, client_flag,
- local_infile).
-
-* ``DateTimeCol.now`` is a function for producing the current date,
- using whatever date/time module you are using (good for use as a
- default).
-
-* Inherited classes fetched more efficiently (fewer queries).
-
-* Decimal converter to create `decimal objects
- <http://python.org/doc/current/lib/module-decimal.html>`_.
-
-* Repository rearranged (now in
- ``http://svn.colorstudy.com/SQLObject/trunk``).
-
-Bug Fixes
----------
-
-* Tables with no columns can work. Why would you have a table without
- a column? We do not know, we try only to serve.
-
-* Sybase ``_fromDatabase`` fixed.
-
-* Various fixes to support most recent ``MySQLdb`` adapter, and
- ``pysqlite`` adapters.
-
-* URI parsing improved, including Windows paths (for use with SQLite).
-
-* ``selectBy(column=None)`` creates ``IS NULL`` query.
-
-* ``selectBy(foreignKey=value)`` now supported (not just selecting by
- foreign key ID).
-
-* ``cascade='null'`` wasn't working properly (was cascading all
- deletes, not nullifying!).
-
-* Lots of other bug fixes.
-
-`Older news`__
-
-.. __: News1.html
-
.. image:: http://sflogo.sourceforge.net/sflogo.php?group_id=74338&type=10
:target: http://sourceforge.net/projects/sqlobject
:class: noborder
Deleted: SQLObject/branches/0.10/docs/News1.txt
===================================================================
--- SQLObject/branches/0.10/docs/News1.txt 2009-07-25 10:38:40 UTC (rev 3923)
+++ SQLObject/branches/0.10/docs/News1.txt 2009-07-25 10:44:06 UTC (rev 3924)
@@ -1,465 +0,0 @@
-++++
-News
-++++
-
-.. contents:: Contents:
- :backlinks: none
-
-.. _start:
-
-SQLObject 0.6.1
-===============
-
-Interface Changes
------------------
-
-* The long broken and unused ``DBMConnection`` has been removed.
-
-* Added a connection parameter to all class methods (patch 974755)
-
-* Connection objects have a ``.module`` attribute, which points to
- the DB-API module. This is useful for getting access to the
- exception objects.
-
-Features
---------
-
-* New ``UnicodeCol()`` that converts to and from Unicode
- in the database. See docs_.
-
-.. _docs: SQLObject.html#subclasses-of-col
-
-* Added indexing (from Jeremy Fitzhardinge). See `the
- documentation`__ for more.
-
-.. __: SQLObject.html#indexes
-
-* All connections are explicitly closed, not just garbage collected.
- Many database drivers don't close database connections properly when
- the connection object is garbage collected.
-
-* New ``distinct`` option to selects, like ``MyClass.select(...,
- distinct=True)``
-
-* You can now do
- ``MyClass.selectBy(joinedTable=joinedTableInstance)``, where before
- you had to do
- ``MyClass.selectBy(joinedTableID=joinedTableInstance.id)``. (From
- Dave Cook)
-
-SQLObject 0.6
-=============
-
-Interface Changes
------------------
-
-* Lazy updates. Add ``_lazyUpdate=True`` to your class, and updates
- will only be written when you call ``obj.syncUpdate()`` or
- ``obj.sync()`` (``sync`` also refetches the data from the database,
- which ``syncUpdate`` does not do). When enabled, instances have a
- property ``dirty``, which indicates if they have pending updates.
- Inserts are still done immediately.
-
-* Separated database drivers (PostgresConnection, MySQLConnection,
- etc.) into separate packages. You can access the driver through
- URIs, like ``mysql://user:pass@host/dbname`` -- to set drivers after
- class creation you should use `sqlobject.connectionForURI()`.
-
-* The ``SQLObject`` package has been renamed to ``sqlobject``. This
- makes it similar to several other packages, and emphasizes the
- distinction between the ``sqlobject`` package and the ``SQLObject``
- class.
-
-* Class instantiation now creates new rows (like `.new()` used to
- do), and the `.get()` method now retrieves objects that already have
- rows (like class instantiation used to do).
-
-* We're now using a Subversion repository instead of CVS. It is
- located at http://svn.colorstudy.com/trunk/SQLObject
-
-* If you pass ``forceDBName=True`` to the ``*Col`` constructors, then
- your column name doesn't have to be restricted to a-z, 0-9, and _.
-
-* ``*Col`` constructors now support cascade: ``cascade=None``
- (default) means no constraint; ``cascade=True`` means that if the
- foreign key is deleted, the object will be deleted;
- ``cascade=False`` means that the delete will fail;
- ``cascade="null"`` means that the column will be set to NULL. The
- constraints are only implemented in the DBMS, not in SQLObject
- (i.e., they will not work in databases like MySQL and SQLite).
-
-* New ``_create(id, **kw)`` method that can be overridden to intercept
- and modify attempts to insert rows in the database.
-
-* You can specify ``_idType`` in your class, like ``_idType = str``.
- The default type is ``int``; i.e., IDs are coerced to integers.
- This is a temporary interface; a more general specifier for primary
- keys will be added later.
-
-* New classmethod ``createTableSQL()`` method for SQLObject classes,
- which returns the SQL that can be used to create the table. Analog
- to ``createTable()``.
-
-Bugs
-----
-
-* SQLite booleans fixed.
-
-* You can now use ``sqlite:/:memory:`` to store the database in
- memory.
-
-* Some bugs resolved when caching is turned off (SF 956847)
-
-SQLObject 0.5.3
-===============
-
-Bugs
-----
-
-* Python 2.2 booleans fixed (SF: 903488)
-
-* Longs (e.g., ``1L``) get converted properly (SF: 939965)
-
-SQLObject 0.5.2
-===============
-
-We're now using Subversion instead of CVS. The repository is located
-at svn://colorstudy.com/trunk/SQLObject
-
-Interface Changes
------------------
-
-* If you commit or rollback a transaction, you must call
- ``trans.begin()`` to restart the transaction. Any database access on
- the transaction inbetween commit/rollback and being will result in an
- AssertionError. (It's also acceptable to create a new transaction
- object instead of reusing the old one, but objects in that
- transaction will be invalid)
-
-Bugs
-----
-
-* Using .select() would hold on to a connection, and also release it
- back to the connection pool. Very un-threadsafe and all-around
- bad.
-* Fixed bug which did not release connections after database (query)
- error.
-* When setting columns that use validators, the Pythonic
- (vs. database) representation wasn't being stored in the column.
- Now we roundtrip (through toPython and fromPython) the values when
- they get set.
-* PostgreConnection is back to using sequences for ID generation,
- instead of oids. Long explanation -- oids can be unindexed in some
- versions of Postgres, or not even exist.
-* When turning caching off and using transactions, got an attribute
- error on rollback.
-* Rollback or commit didn't find objects that were expired from the
- cache but still in memory.
-* Rollback or commit didn't free the connection object, so as you
- created more transactions it stole connections and didn't put them
- back in the pool.
-
-SQLObject 0.5.1
-===============
-
-Released: 12-Nov-2003
-
-Interface Changes
------------------
-
-* Select results no longer have a __len__ method (i.e., you can't do
- ``len(Person.select(Person.q.firstName=='Bob'))``). There is now a
- ``.count()`` method instead. ``__len__`` gets called implicitly in
- several circumstances, like ``list()``, which causes potentially
- expensive queries to ``COUNT(*)``.
-
-Bugs
-----
-
-* Objects retrieved from a join now respect the transaction context of
- the original instance.
-* ``.select().reversed()`` works.
-
-SQLObject 0.5
-=============
-
-Released: 1-Nov-2003
-
-Features
---------
-
-* Firebird_ support.
-
-* Database-specific literal quoting (motivation: MySQL and Postgres
- use backslashes, Firebird and SQLite do not).
-
-* Generic conversion/validation can be added to columns.
-
-* BoolCol for portable boolean columns (BOOL on Postgres, INT on
- MySQL, etc.)
-
-* Non-integer IDs. (Automatic table creation is not supported for
- non-integer IDs)
-
-* Explicit IDs for new instances/rows (required for non-integer IDs).
-
-* Instances can be synced with the database (in case there have been
- updates to the object since it was first fetched).
-
-* Instances can be expired, so that they will be synced when they are
- next accessed.
-
-.. _Firebird: http://firebird.sourceforge.net/
-
-Interface Changes
------------------
-
-* `SQLBuilder.sqlRepr` renamed to `SQLBuilder.sqlrepr`, signature
- changed to ``sqlrepr(value, databaseName)`` to quote ``value``,
- where ``databaseName`` is one of ``"mysql"``, ``"postgres"``,
- ``"sqlite"``, ``"firebird"``.
-
-* ``sqlRepr`` magic method renamed to ``__sqlrepr__``, and takes new
- ``databaseName`` argument.
-
-* When using explicit booleans, use ``Col.TRUE`` and ``Col.FALSE`` for
- backward compatibility with Python 2.2. This is not required for
- ``BoolCol``, however (which converts all true values to TRUE and
- false values to FALSE)
-
-* SQLObject has a ``sqlrepr`` method, so you can construct queries
- with something like ``"WHERE last_name = %s" %
- Person.sqlrepr('Bob')``
-
-Bugs
-----
-
-* Released all locks with ``finally:``, so that bugs won't cause
- frozen locks.
-
-* Tons of transaction fixes. Transactions pretty much work.
-
-* A class can have multiple foreign keys pointing to the same table
- (e.g., ``spouse = ForeignKey("Person"); supervisor =
- ForeignKey("Person")``)
-
-SQLObject 0.4
-=============
-
-Features
---------
-
-* You can specify columns in a new, preferred manner::
-
- class SomeObject(SQLObject):
- someColumn = Col()
-
- Equivalent to::
-
- class SomeObject(SQLObject):
- _columns = [Col('someColumn')]
-
- Ditto joins.
-
-* Cache objects have a clear method, which empties all objects.
- However, weak references to objects *are* maintained, so the
- integrity of the cache can be ensured.
-
-* SQLObject subclasses can be further subclassed, adding or removing
- column definitions (as well as changing settings like connection,
- style, etc). Each class still refers to a single concrete table in
- the database -- the class hierarchy is not represented in the
- database.
-
-* Each SQLObject subclass can have an associated style, as given in
- the `_style` attribute. This object is used to map between Python
- and database names (e.g., the column name for a Python attribute).
- Some samples are available in the `Style` module.
-
-* Postgres support for `_fromDatabase` (reading a table definition from
- the database, and creating a class from that).
-
-* Postgres id columns more permissive, you don't have to create a
- specially named sequence (or implicitly create that sequence through
- ``SERIAL``). lastoid is used instead.
-
-* MySQL uses ``localhost`` as the default host, and the empty string
- as the default password.
-
-* Added functions for use with queries: `ISNULL`, `ISNOTNULL`. ``==``
- and ``!=`` can be used with None, and is translated into `ISNULL`,
- `ISNOTNULL`.
-
-* Classes can be part of a specific registry. Since classes are
- referred to by name in several places, the names have to be unique.
- This can be problematic, so you can add a class variable `_registry`,
- the value of which should be a string. Classes references are
- assumed to be inside that registry, and class names need only be
- unique among classes in that registry.
-
-* ``SomeClass.select()`` selects all, instead of using
- ``SomeClass.select('all')``. You can also use None instead of
- ``'all'``.
-
-* Trying to fetch non-existent objects raises `SQLObjectNotFound`,
- which is a subclass of the builtin exception `LookupError`.
- This may not be raised if `_cacheValues` is False and you use
- the ID to fetch an object (but alternateID fetches will raise
- the exception in either case).
-
-* Can order by descending order, with the `reversed` option to
- the `select` method, or by prefixing the column with a ``"-"``.
-
-* Ordering with joins works better -- you can order with multiple
- columns, as well as descending ordering.
-
-Col and Join
-~~~~~~~~~~~~
-
-* `Join` constructors have an argument `orderBy`, which is the name
- of a Python attribute to sort results by. If not given, the
- appropriate class's `_defaultOrder` will be used. None implies
- no sorting (and ``orderBy=None`` will override `_defaultOrder`).
-
-* `ForeignKey` class (subclass of `Col`), for somewhat easier/clearer
- declaration of foreign keys.
-
-* `Col` (and subclasses) can take a `sqlType` argument, which is used
- in table definitions. E.g., ``Col(sqlType="BOOLEAN")`` can be used
- to create a ``BOOLEAN`` column, even though no `BooleanCol` exists.
-
-* `alternateID` (a specifier for columns) implies ``NOT NULL``. Also
- implies ``UNIQUE``.
-
-* `unique` (a specifier for columns) added.
-
-* `DecimalCol` and `CurrencyCol` added.
-
-* `EnumCol` uses constraints on Postgres (if you use `createTable`).
-
-Bugs
-----
-
-* `DateTimeCol` uses ``TIMESTAMP`` for Postgres. Note that the
- Python type name is used for column names, not necessarily the
- SQL standard name.
-
-* Foreign key column names are slightly more permissive. They still
- need to end in ``id``, but it's case insensitive.
-
-* _defaultOrder should be the python attribute's name, not the database
- name.
-
-* SomeClass.q.colName uses proper Python attributes for colName, and
- proper database names when executed in the database.
-
-* SQLite select results back to being proper iterator.
-
-* SomeClass.q.colName now does proper translation to database names,
- using dbName, etc., instead of being entirely algorithm-driven.
-
-* Raise `TypeError` if you pass an unknown argument to the `new`
- method.
-
-* You can override the _get_* or _set_* version of a property without
- overriding the other.
-
-* Python 2.3 compatible.
-
-* Trying to use ``Col('id')`` or ``id = Col()`` will raise an
- exception, instead of just acting funky.
-
-* ``ForeignKey`` columns return None if the associated column is
- NULL in the database (used to just act weird).
-
-* Instantiating an object with an id of None will give an error,
- instead of just acting weird.
-
-Internal
---------
-
-* `Col` class separated into `Col` and `SOCol` (and same for all other
- `*Col` classes). `Col` defines a column, `SOCol` is that definition
- bound to a particular SQLObject class.
-
-* Instance variable ``_SO_columns`` holds the `SOCol` instances.
-
-SQLObject 0.3
-=============
-
-Features
---------
-
-* Table creation (SQL schema generation) via new class method
- `createTable`. And of course a `dropTable` method to go with.
-
-* Add and remove columns at runtime, optionally modifying the
- schema in the database (via ``ALTER``). (Does not work in
- SQLite)
-
-* New column classes (see `Col` module), indicates type
-
-* Classes can be created by parsing an already existant table
- (MySQL only).
-
-* Objects are not cached indefinitely. Cached objects are expired
- into a weak dictionary (it allows objects to be garbage collected if
- nowhere else in the program is using the object, but until it is
- collected it's still available to the cache). Some cache control,
- pass ``nocache=True`` to your connection object to eliminate as much
- caching as possible. See `Cache` module for a bit more.
-
-* New DBMConnection, implements a database-like backend without any
- database to speak of, including queries (so long as you use
- `SQLBuilder` and don't generate your where clauses manually).
- Actual SQL generation is done entirely by the database connection,
- allowing portability across very different backends.
-
-* Postgres table IDs should be created with type ``SERIAL`` (which
- implicitly creates a sequence).
-
-* New `_defaultOrder` class variable gives a default for the
- `orderBy` parameter to `select` queries.
-
-Bugs
-----
-
-* LIMIT/OFFSET (select result slicing) works in Postgres and SQLite.
-
-* ``tableExists`` method from DBConnection works in same.
-
-* mxDateTime not required (never should have been, always just an
- option).
-
-SQLObject 0.2.1
-===============
-
-Bugs
-----
-
-* Fixed caching of new objects
-
-Features
---------
-
-* SQLite_ support
-
-* Select statements are lazily generated, retrieve full rows for
- speed, and are slicable (`select docs`_).
-
-* `alternateID` option for `Col` objects -- select individual objects
- via UNIQUE columns, e.g., a username (`Col docs`_).
-
-.. _SQLite: http://sqlite.org/
-
-.. _select docs: SQLObject.html#selecting-multiple-objects
-
-.. _Col docs: SQLObject.html#col-class-specifying-columns
-
-.. image:: http://sflogo.sourceforge.net/sflogo.php?group_id=74338&type=10
- :target: http://sourceforge.net/projects/sqlobject
- :class: noborder
- :align: center
- :height: 15
- :width: 80
- :alt: Get SQLObject at SourceForge.net. Fast, secure and Free Open Source software downloads
Modified: SQLObject/branches/0.10/docs/rebuild
===================================================================
--- SQLObject/branches/0.10/docs/rebuild 2009-07-25 10:38:40 UTC (rev 3923)
+++ SQLObject/branches/0.10/docs/rebuild 2009-07-25 10:44:06 UTC (rev 3924)
@@ -5,7 +5,7 @@
echo "Adding $parent to \$PYTHONPATH"
export PYTHONPATH=$parent:$PYTHONPATH
-NORMAL="Authors DeveloperGuide FAQ Inheritance News News1
+NORMAL="Authors DeveloperGuide FAQ Inheritance News
SQLBuilder SQLObject SelectResults TODO Versioning Views
web/index web/links web/repository web/community
index community sqlobject-architecture sqlobject-admin"
Modified: SQLObject/branches/0.10/setup.cfg
===================================================================
--- SQLObject/branches/0.10/setup.cfg 2009-07-25 10:38:40 UTC (rev 3923)
+++ SQLObject/branches/0.10/setup.cfg 2009-07-25 10:44:06 UTC (rev 3924)
@@ -12,7 +12,7 @@
[pudge]
theme = pythonpaste.org
docs = docs/index.txt docs/Authors.txt docs/DeveloperGuide.txt docs/FAQ.txt
- docs/Inheritance.txt docs/News.txt docs/News1.txt docs/SQLBuilder.txt
+ docs/Inheritance.txt docs/News.txt docs/SQLBuilder.txt
docs/SQLObject.txt docs/SelectResults.txt docs/TODO.txt
docs/Versioning.txt docs/Views.txt docs/community.txt docs/download.txt
docs/links.txt docs/sqlobject-admin.txt docs/sqlobject-architecture.txt
|
|
From: <sub...@co...> - 2009-07-25 10:38:51
|
Author: phd
Date: 2009-07-25 04:38:40 -0600 (Sat, 25 Jul 2009)
New Revision: 3923
Modified:
SQLObject/branches/0.9/docs/News.txt
Log:
Removed old news.
Modified: SQLObject/branches/0.9/docs/News.txt
===================================================================
--- SQLObject/branches/0.9/docs/News.txt 2009-07-23 14:10:21 UTC (rev 3922)
+++ SQLObject/branches/0.9/docs/News.txt 2009-07-25 10:38:40 UTC (rev 3923)
@@ -151,7 +151,7 @@
Released 10 Jan 2008.
-* A number of changes ported from `SQLObject 0.7.10`_.
+* A number of changes ported from SQLObject 0.7.10.
SQLObject 0.9.2
===============
@@ -165,7 +165,7 @@
* Fixed bugs in SQLiteConnection.guessColumn().
-* A number of changes ported from `SQLObject 0.7.9`_ and `SQLObject 0.8.6`_.
+* A number of changes ported from SQLObject 0.7.9 and SQLObject 0.8.6.
SQLObject 0.9.1
===============
@@ -177,7 +177,7 @@
* Fixed misspelled methods in col.py.
-* A number of bugfixes ported from `SQLObject 0.7.8`_ and `SQLObject 0.8.5`_.
+* A number of bugfixes ported from SQLObject 0.7.8 and SQLObject 0.8.5`_.
SQLObject 0.9.0
===============
@@ -241,7 +241,7 @@
Released 10 Jan 2008.
-* A number of changes ported from `SQLObject 0.7.10`_.
+* A number of changes ported from SQLObject 0.7.10.
SQLObject 0.8.6
===============
@@ -252,7 +252,7 @@
exception in __nonzero__() is inconsistent with other iterators
(bool(iter([])) => True).
-* A number of changes ported from `SQLObject 0.7.9`_.
+* A number of changes ported from SQLObject 0.7.9.
SQLObject 0.8.5
===============
@@ -266,7 +266,7 @@
* Suppress the second RowUpdateSignal in .set() called from ._SO_setValue().
-* A number of bugfixes ported from `SQLObject 0.7.8`_.
+* A number of bugfixes ported from SQLObject 0.7.8.
SQLObject 0.8.4
===============
@@ -425,856 +425,6 @@
* Fixed aggregators and accumulators with inheritance.
-SQLObject 0.7.10
-================
-
-Released 10 Jan 2008.
-
-* With PySQLite2 do not use encode()/decode() from PySQLite1 - always use
- base64 for BLOBs.
-
-* MySQLConnection doesn't convert query strings to unicode (but allows to
- pass unicode query strings if the user build ones). DB URI parameter
- sqlobject_encoding is no longer used.
-
-SQLObject 0.7.9
-===============
-
-Released 30 Oct 2007.
-
-Bug Fixes
----------
-
-* Remove 'limit' from SelectResults after setting start/end so .clone()
- never sees limit again.
-
-* Fixed a bug in sqlbuilder._LikeQuoted() - call sqlrepr() on the
- expression to escape single quotes if the expression is a string.
-
-* Fixed StringCol and UnicodeCol: use sqlType with MSSQL.
-
-* Fixed startswith/endswith/contains for UnicodeCol.
-
-Other Changes
--------------
-
-* Changed the default value for 'varchar' in BLOBColumns from 'auto' to False
- (so that the default type for the columns in MySQL is BLOB, not TEXT).
-
-* Changed the implementation type in BoolCol under MySQL from TINYINT to
- BOOL (which is a synonym for TINYINT(1)).
-
-SQLObject 0.7.8
-===============
-
-Released 25 July 2007.
-
-Bug Fixes
----------
-
-* Replaced calls to style.dbColumnToPythonAttr() in joins.py by name/dbName
- lookup in case the user named columns differently using dbName.
-
-* Minor correction in the tests: we fully support EnumCol in Postgres.
-
-* MySQLConnection now recognizes Enum, Double and Time columns when drawing the
- database scheme from DB.
-
-* Minor fix in FirebirdConnection.fromDatabase.
-
-* Fixed a bug with default field values for columns for Firebird connection.
-
-* Fixed a bug in col.createSQL().
-
-* Fixed a bug in converting date/time for years < 1000 (time.strptime()
- requires exactly 4 digits for %Y, hence a year < 1000 must be 0-padded).
-
-Other Changes
--------------
-
-* Changed string quoting style for PostgreSQL and MySQL from \\' to ''.
-
-SQLObject 0.7.7
-===============
-
-Released 10 May 2007.
-
-Bug Fixes
----------
-
-* Fixed a bug in SQLRelatedJoin that ignored per-instance connection.
-
-* Fixed a bug in MySQL connection in case there is no charset in the DB URI.
-
-SQLObject 0.7.6
-===============
-
-Released 3 May 2007.
-
-Bug Fixes
----------
-
-* Fixed a longstanding bug with .select() ignoring 'limit' parameter.
-
-* Fixed a bug with absent comma in JOINs.
-
-* Fixed sqlbuilder - .startswith(), .endswith() and .contains() assumed
- their parameter must be a string; now you can pass an SQLExpression:
- Table.q.name.contains(func.upper('a')), for example.
-
-* Fixed a longstanding bug in sqlbuilder.Select() with groupBy being a
- sequence.
-
-* Fixed a bug with Aliases in JOINs.
-
-* Yet another patch to properly initialize MySQL connection encoding.
-
-* Fixed a minor comparison problem in test_decimal.py.
-
-* More documentation about orderBy.
-
-SQLObject 0.7.5
-===============
-
-Released 11 Apr 2007.
-
-Bug Fixes
----------
-
-* Fixed test_deep_inheritance.py - setup classes in the correct order
- (required for Postgres 8.0+ which is strict about referential integrity).
-
-* Fixed a bug in DateValidator caused by datetime being a subclass of date.
-
-SQLObject 0.7.4
-===============
-
-Released 19 Mar 2007.
-
-Small Features
---------------
-
-* For MySQLdb 1.2.2+ call ping(True) on the connection to allow
- autoreconnect after a timeout.
-
-Bug Fixes
----------
-
-* Another round of changes to create/drop the tables in the right order
- in the command-line client `sqlobject-admin`.
-
-* Fixed a bug in UnicodeField - allow comparison with None.
-
-SQLObject 0.7.3
-===============
-
-Released 30 Jan 2007.
-
-Bug Fixes
----------
-
-* Allow multiple MSSQL connections.
-
-* Psycopg1 requires port to be a string; psycopg2 requires port to be an int.
-
-* Fixed a bug in MSSQLConnection caused by column names being unicode.
-
-* Fixed a bug in FirebirdConnection caused by column names having trailing
- spaces.
-
-* Fixed a missed import in firebirdconnection.py.
-
-* Remove a leading slash in FirebirdConnection.
-
-* Fixed a bug in deep Inheritance tree.
-
-SQLObject 0.7.2
-===============
-
-Released 20 Nov 2006.
-
-Features & Interface
---------------------
-
-* sqlbuilder.Select now supports JOINs exactly like SQLObject.select.
-
-* destroySelf() removes the object from related joins.
-
-Bug Fixes
----------
-
-* Fixed a number of unicode-related problems with newer MySQLdb.
-
-* If the DB API driver returns timedelta instead of time (MySQLdb does
- this) it is converted to time; but if the timedelta has days an exception
- is raised.
-
-* Fixed a number of bugs in InheritableSQLObject related to foreign keys.
-
-* Fixed a bug in InheritableSQLObject related to the order of tableRegistry
- dictionary.
-
-* A bug fix that allows to use SQLObject with DateTime from Zope.
-
-Documentation Added
--------------------
-
-* Added "How can I define my own intermediate table in my Many-to-Many
- relationship?" to FAQ.
-
-SQLObject 0.7.1
-===============
-
-Released 25 Sep 2006.
-
-Features & Interface
---------------------
-
-* Added support for psycopg2_
-
-.. _psycopg2: http://initd.org/projects/psycopg2
-
-* Added support for MSSQL.
-
-* Added ``TimeCol``.
-
-* ``RelatedJoin`` and ``SQLRelatedJoin`` objects have a
- ``createRelatedTable`` keyword argument (default ``True``). If
- ``False``, then the related table won't be automatically created;
- instead you must manually create it (e.g., with explicit SQLObject
- classes for the joins).
-
-* Implemented ``RLIKE`` (regular expression LIKE).
-
-* Moved _idSequence to sqlmeta.idSequence.
-
-Small Features
---------------
-
-* Select over RelatedJoin.
-
-* SQLite foreign keys.
-
-* Postgres DB URIs with a non-default path to unix socket.
-
-* Allow the use of foreign keys in selects.
-
-* Implemented addColumn() for SQLite.
-
-* With PySQLite2 use encode()/decode() from PySQLite1 for BLOBCol if available; else use base64.
-
-Bug Fixes
----------
-
-* Fixed a longstanding problem with UnicodeCol - at last you can use unicode
- strings in .select() and .selectBy() queries. There are some limitations,
- though; see the description of the UnicodeCol_.
-
-.. _UnicodeCol: SQLObject.html#column-types
-
-* Cull patch (clear cache).
-
-* .destroySelf() inside a transaction.
-
-* Synchronize main connection cache during transaction commit.
-
-* Ordering joins with NULLs.
-
-* Fixed bugs with plain/non-plain setters.
-
-* Lots of other bug fixes.
-
-SQLObject 0.7.0
-===============
-
-Features & Interface
---------------------
-
-* Inheritance. See Inheritance.html_
-
-.. _Inheritance.html: Inheritance.html
-
-* Date/time validators, converters, tests.
-
-* Both `mxDateTime
- <http://www.egenix.com/files/python/mxDateTime.html>`_ and `datetime
- <http://python.org/doc/current/lib/module-datetime.html>`_ supported
- for ``DateTimeCol``.
-
-* Added ``BLOBCol``, for binary data.
-
-* Added ``PickleCol``, to transparently pickle and unpickle data from
- column.
-
-* New `documented reflection interface
- <http://svn.colorstudy.com/SQLObject/docs/interface.py>`_, using the
- new ``.sqlmeta`` class/instance. Most special attributes that
- started with ``_`` were moved into ``sqlmeta`` (with leading
- underscore removed).
-
-* New aggregate functions for select results, like
- ``cls.select().max(columnName)``: ``.max()``, ``.min()``,
- ``.avg()``.
-
-* ``ConnectionHub`` aka ``sqlhub`` (@@: Needs documentation)
-
-* Command-line client `sqlobject-admin
- <http://sqlobject.org/docs/sqlobject-admin.html>`_.
-
-* ``StringCol`` has ``char_binary`` attribute, for explicit case
- handling in MySQL.
-
-* Various joins now supported (LEFT, RIGHT, STRAIGHT, INNER, OUTER,
- CROSS): see `documentation
- <http://sqlobject.org/docs/SQLObject.html#left-join-and-other-joins>`_.
- Aliases for joining a table with itself.
-
-* Subqueries/subselects (`see docs
- <http://sqlobject.org/docs/SQLObject.html#subqueries-subselects>`_).
-
-* Select results support ``.filter(extra_query)``
-
-* ``SQLMultipleJoin`` and ``SQLRelatedJoin``, like ``MultipleJoin``
- and ``RelatedJoin``, except return select results (@@: Document).
-
-* `SingleJoin
- <http://sqlobject.org/docs/SQLObject.html#singlejoin-one-to-one>`_.
-
-* Columns retain their order from the class definition to table
- creation.
-
-* SQLObject now depends on the `FormEncode <http://formencode.org>`_
- library, and internal conversion/validation is done through
- FormEncode (was previously using old fork of FormEncode).
-
-* Column instances can have attributes set on them (generally for
- annotating columns with extra data).
-
-Other Changes
--------------
-
-* When iterating over select results, a list is now immediately
- created with the full list of instances being selected. Before
- instances were created on demand, as select results were
- pulled out row-by-row. The previous lazy behavior is available with
- the method ``lazyIter``, used like ``for obj in
- MyClass.select().lazyIter(): ...``.
-
-* Test framework now uses `py.test
- <http://codespeak.net/py/current/doc/test.html>`_.
-
-* SQLObject now uses a simpler metaclass
- (``sqlobject.declarative.DeclarativeMeta``).
-
-* autoCommit and queryIns ?? (@@: expand)
-
-* Deprecation (@@: document)
-
-* Use `setuptools
- <http://peak.telecommunity.com/DevCenter/setuptools>`_ for packaging
- and installation.
-
-Small Features
---------------
-
-* ``IntValidator`` for testing ``IntCol`` inputs.
-
-* Base style (``sqlobject.styles.Style``) is now a usable no-op style.
-
-* SQLite in-memory databases allowed with ``sqlite:/:memory:``
-
-* Keyword parameters allowed to ``connectionForURI`` (like
- ``debug=True``).
-
-* More parameters passed to MySQL connections (unix_socket,
- named_pipe, init_command, read_default_file, read_default_group,
- connect_time, compress, named_pipe, use_unicode, client_flag,
- local_infile).
-
-* ``DateTimeCol.now`` is a function for producing the current date,
- using whatever date/time module you are using (good for use as a
- default).
-
-* Inherited classes fetched more efficiently (fewer queries).
-
-* Decimal converter to create `decimal objects
- <http://python.org/doc/current/lib/module-decimal.html>`_.
-
-* Repository rearranged (now in
- ``http://svn.colorstudy.com/SQLObject/trunk``).
-
-Bug Fixes
----------
-
-* Tables with no columns can work. Why would you have a table without
- a column? We do not know, we try only to serve.
-
-* Sybase ``_fromDatabase`` fixed.
-
-* Various fixes to support most recent ``MySQLdb`` adapter, and
- ``pysqlite`` adapters.
-
-* URI parsing improved, including Windows paths (for use with SQLite).
-
-* ``selectBy(column=None)`` creates ``IS NULL`` query.
-
-* ``selectBy(foreignKey=value)`` now supported (not just selecting by
- foreign key ID).
-
-* ``cascade='null'`` wasn't working properly (was cascading all
- deletes, not nullifying!).
-
-* Lots of other bug fixes.
-
-SQLObject 0.6.1
-===============
-
-Interface Changes
------------------
-
-* The long broken and unused ``DBMConnection`` has been removed.
-
-* Added a connection parameter to all class methods (patch 974755)
-
-* Connection objects have a ``.module`` attribute, which points to
- the DB-API module. This is useful for getting access to the
- exception objects.
-
-Features
---------
-
-* New ``UnicodeCol()`` that converts to and from Unicode
- in the database. See docs_.
-
-.. _docs: SQLObject.html#subclasses-of-col
-
-* Added indexing (from Jeremy Fitzhardinge). See `the
- documentation`__ for more.
-
-.. __: SQLObject.html#indexes
-
-* All connections are explicitly closed, not just garbage collected.
- Many database drivers don't close database connections properly when
- the connection object is garbage collected.
-
-* New ``distinct`` option to selects, like ``MyClass.select(...,
- distinct=True)``
-
-* You can now do
- ``MyClass.selectBy(joinedTable=joinedTableInstance)``, where before
- you had to do
- ``MyClass.selectBy(joinedTableID=joinedTableInstance.id)``. (From
- Dave Cook)
-
-SQLObject 0.6
-=============
-
-Interface Changes
------------------
-
-* Lazy updates. Add ``_lazyUpdate=True`` to your class, and updates
- will only be written when you call ``obj.syncUpdate()`` or
- ``obj.sync()`` (``sync`` also refetches the data from the database,
- which ``syncUpdate`` does not do). When enabled, instances have a
- property ``dirty``, which indicates if they have pending updates.
- Inserts are still done immediately.
-
-* Separated database drivers (PostgresConnection, MySQLConnection,
- etc.) into separate packages. You can access the driver through
- URIs, like ``mysql://user:pass@host/dbname`` -- to set drivers after
- class creation you should use `sqlobject.connectionForURI()`.
-
-* The ``SQLObject`` package has been renamed to ``sqlobject``. This
- makes it similar to several other packages, and emphasizes the
- distinction between the ``sqlobject`` package and the ``SQLObject``
- class.
-
-* Class instantiation now creates new rows (like `.new()` used to
- do), and the `.get()` method now retrieves objects that already have
- rows (like class instantiation used to do).
-
-* We're now using a Subversion repository instead of CVS. It is
- located at http://svn.colorstudy.com/trunk/SQLObject
-
-* If you pass ``forceDBName=True`` to the ``*Col`` constructors, then
- your column name doesn't have to be restricted to a-z, 0-9, and _.
-
-* ``*Col`` constructors now support cascade: ``cascade=None``
- (default) means no constraint; ``cascade=True`` means that if the
- foreign key is deleted, the object will be deleted;
- ``cascade=False`` means that the delete will fail;
- ``cascade="null"`` means that the column will be set to NULL. The
- constraints are only implemented in the DBMS, not in SQLObject
- (i.e., they will not work in databases like MySQL and SQLite).
-
-* New ``_create(id, **kw)`` method that can be overridden to intercept
- and modify attempts to insert rows in the database.
-
-* You can specify ``_idType`` in your class, like ``_idType = str``.
- The default type is ``int``; i.e., IDs are coerced to integers.
- This is a temporary interface; a more general specifier for primary
- keys will be added later.
-
-* New classmethod ``createTableSQL()`` method for SQLObject classes,
- which returns the SQL that can be used to create the table. Analog
- to ``createTable()``.
-
-Bugs
-----
-
-* SQLite booleans fixed.
-
-* You can now use ``sqlite:/:memory:`` to store the database in
- memory.
-
-* Some bugs resolved when caching is turned off (SF 956847)
-
-SQLObject 0.5.3
-===============
-
-Bugs
-----
-
-* Python 2.2 booleans fixed (SF: 903488)
-
-* Longs (e.g., ``1L``) get converted properly (SF: 939965)
-
-SQLObject 0.5.2
-===============
-
-We're now using Subversion instead of CVS. The repository is located
-at svn://colorstudy.com/trunk/SQLObject
-
-Interface Changes
------------------
-
-* If you commit or rollback a transaction, you must call
- ``trans.begin()`` to restart the transaction. Any database access on
- the transaction inbetween commit/rollback and being will result in an
- AssertionError. (It's also acceptable to create a new transaction
- object instead of reusing the old one, but objects in that
- transaction will be invalid)
-
-Bugs
-----
-
-* Using .select() would hold on to a connection, and also release it
- back to the connection pool. Very un-threadsafe and all-around
- bad.
-* Fixed bug which did not release connections after database (query)
- error.
-* When setting columns that use validators, the Pythonic
- (vs. database) representation wasn't being stored in the column.
- Now we roundtrip (through toPython and fromPython) the values when
- they get set.
-* PostgreConnection is back to using sequences for ID generation,
- instead of oids. Long explanation -- oids can be unindexed in some
- versions of Postgres, or not even exist.
-* When turning caching off and using transactions, got an attribute
- error on rollback.
-* Rollback or commit didn't find objects that were expired from the
- cache but still in memory.
-* Rollback or commit didn't free the connection object, so as you
- created more transactions it stole connections and didn't put them
- back in the pool.
-
-SQLObject 0.5.1
-===============
-
-Released: 12-Nov-2003
-
-Interface Changes
------------------
-
-* Select results no longer have a __len__ method (i.e., you can't do
- ``len(Person.select(Person.q.firstName=='Bob'))``). There is now a
- ``.count()`` method instead. ``__len__`` gets called implicitly in
- several circumstances, like ``list()``, which causes potentially
- expensive queries to ``COUNT(*)``.
-
-Bugs
-----
-
-* Objects retrieved from a join now respect the transaction context of
- the original instance.
-* ``.select().reversed()`` works.
-
-SQLObject 0.5
-=============
-
-Released: 1-Nov-2003
-
-Features
---------
-
-* Firebird_ support.
-
-* Database-specific literal quoting (motivation: MySQL and Postgres
- use backslashes, Firebird and SQLite do not).
-
-* Generic conversion/validation can be added to columns.
-
-* BoolCol for portable boolean columns (BOOL on Postgres, INT on
- MySQL, etc.)
-
-* Non-integer IDs. (Automatic table creation is not supported for
- non-integer IDs)
-
-* Explicit IDs for new instances/rows (required for non-integer IDs).
-
-* Instances can be synced with the database (in case there have been
- updates to the object since it was first fetched).
-
-* Instances can be expired, so that they will be synced when they are
- next accessed.
-
-.. _Firebird: http://firebird.sourceforge.net/
-
-Interface Changes
------------------
-
-* `SQLBuilder.sqlRepr` renamed to `SQLBuilder.sqlrepr`, signature
- changed to ``sqlrepr(value, databaseName)`` to quote ``value``,
- where ``databaseName`` is one of ``"mysql"``, ``"postgres"``,
- ``"sqlite"``, ``"firebird"``.
-
-* ``sqlRepr`` magic method renamed to ``__sqlrepr__``, and takes new
- ``databaseName`` argument.
-
-* When using explicit booleans, use ``Col.TRUE`` and ``Col.FALSE`` for
- backward compatibility with Python 2.2. This is not required for
- ``BoolCol``, however (which converts all true values to TRUE and
- false values to FALSE)
-
-* SQLObject has a ``sqlrepr`` method, so you can construct queries
- with something like ``"WHERE last_name = %s" %
- Person.sqlrepr('Bob')``
-
-Bugs
-----
-
-* Released all locks with ``finally:``, so that bugs won't cause
- frozen locks.
-
-* Tons of transaction fixes. Transactions pretty much work.
-
-* A class can have multiple foreign keys pointing to the same table
- (e.g., ``spouse = ForeignKey("Person"); supervisor =
- ForeignKey("Person")``)
-
-SQLObject 0.4
-=============
-
-Features
---------
-
-* You can specify columns in a new, preferred manner::
-
- class SomeObject(SQLObject):
- someColumn = Col()
-
- Equivalent to::
-
- class SomeObject(SQLObject):
- _columns = [Col('someColumn')]
-
- Ditto joins.
-
-* Cache objects have a clear method, which empties all objects.
- However, weak references to objects *are* maintained, so the
- integrity of the cache can be ensured.
-
-* SQLObject subclasses can be further subclassed, adding or removing
- column definitions (as well as changing settings like connection,
- style, etc). Each class still refers to a single concrete table in
- the database -- the class hierarchy is not represented in the
- database.
-
-* Each SQLObject subclass can have an associated style, as given in
- the `_style` attribute. This object is used to map between Python
- and database names (e.g., the column name for a Python attribute).
- Some samples are available in the `Style` module.
-
-* Postgres support for `_fromDatabase` (reading a table definition from
- the database, and creating a class from that).
-
-* Postgres id columns more permissive, you don't have to create a
- specially named sequence (or implicitly create that sequence through
- ``SERIAL``). lastoid is used instead.
-
-* MySQL uses ``localhost`` as the default host, and the empty string
- as the default password.
-
-* Added functions for use with queries: `ISNULL`, `ISNOTNULL`. ``==``
- and ``!=`` can be used with None, and is translated into `ISNULL`,
- `ISNOTNULL`.
-
-* Classes can be part of a specific registry. Since classes are
- referred to by name in several places, the names have to be unique.
- This can be problematic, so you can add a class variable `_registry`,
- the value of which should be a string. Classes references are
- assumed to be inside that registry, and class names need only be
- unique among classes in that registry.
-
-* ``SomeClass.select()`` selects all, instead of using
- ``SomeClass.select('all')``. You can also use None instead of
- ``'all'``.
-
-* Trying to fetch non-existent objects raises `SQLObjectNotFound`,
- which is a subclass of the builtin exception `LookupError`.
- This may not be raised if `_cacheValues` is False and you use
- the ID to fetch an object (but alternateID fetches will raise
- the exception in either case).
-
-* Can order by descending order, with the `reversed` option to
- the `select` method, or by prefixing the column with a ``"-"``.
-
-* Ordering with joins works better -- you can order with multiple
- columns, as well as descending ordering.
-
-Col and Join
-~~~~~~~~~~~~
-
-* `Join` constructors have an argument `orderBy`, which is the name
- of a Python attribute to sort results by. If not given, the
- appropriate class's `_defaultOrder` will be used. None implies
- no sorting (and ``orderBy=None`` will override `_defaultOrder`).
-
-* `ForeignKey` class (subclass of `Col`), for somewhat easier/clearer
- declaration of foreign keys.
-
-* `Col` (and subclasses) can take a `sqlType` argument, which is used
- in table definitions. E.g., ``Col(sqlType="BOOLEAN")`` can be used
- to create a ``BOOLEAN`` column, even though no `BooleanCol` exists.
-
-* `alternateID` (a specifier for columns) implies ``NOT NULL``. Also
- implies ``UNIQUE``.
-
-* `unique` (a specifier for columns) added.
-
-* `DecimalCol` and `CurrencyCol` added.
-
-* `EnumCol` uses constraints on Postgres (if you use `createTable`).
-
-Bugs
-----
-
-* `DateTimeCol` uses ``TIMESTAMP`` for Postgres. Note that the
- Python type name is used for column names, not necessarily the
- SQL standard name.
-
-* Foreign key column names are slightly more permissive. They still
- need to end in ``id``, but it's case insensitive.
-
-* _defaultOrder should be the python attribute's name, not the database
- name.
-
-* SomeClass.q.colName uses proper Python attributes for colName, and
- proper database names when executed in the database.
-
-* SQLite select results back to being proper iterator.
-
-* SomeClass.q.colName now does proper translation to database names,
- using dbName, etc., instead of being entirely algorithm-driven.
-
-* Raise `TypeError` if you pass an unknown argument to the `new`
- method.
-
-* You can override the _get_* or _set_* version of a property without
- overriding the other.
-
-* Python 2.3 compatible.
-
-* Trying to use ``Col('id')`` or ``id = Col()`` will raise an
- exception, instead of just acting funky.
-
-* ``ForeignKey`` columns return None if the associated column is
- NULL in the database (used to just act weird).
-
-* Instantiating an object with an id of None will give an error,
- instead of just acting weird.
-
-Internal
---------
-
-* `Col` class separated into `Col` and `SOCol` (and same for all other
- `*Col` classes). `Col` defines a column, `SOCol` is that definition
- bound to a particular SQLObject class.
-
-* Instance variable ``_SO_columns`` holds the `SOCol` instances.
-
-SQLObject 0.3
-=============
-
-Features
---------
-
-* Table creation (SQL schema generation) via new class method
- `createTable`. And of course a `dropTable` method to go with.
-
-* Add and remove columns at runtime, optionally modifying the
- schema in the database (via ``ALTER``). (Does not work in
- SQLite)
-
-* New column classes (see `Col` module), indicates type
-
-* Classes can be created by parsing an already existant table
- (MySQL only).
-
-* Objects are not cached indefinitely. Cached objects are expired
- into a weak dictionary (it allows objects to be garbage collected if
- nowhere else in the program is using the object, but until it is
- collected it's still available to the cache). Some cache control,
- pass ``nocache=True`` to your connection object to eliminate as much
- caching as possible. See `Cache` module for a bit more.
-
-* New DBMConnection, implements a database-like backend without any
- database to speak of, including queries (so long as you use
- `SQLBuilder` and don't generate your where clauses manually).
- Actual SQL generation is done entirely by the database connection,
- allowing portability across very different backends.
-
-* Postgres table IDs should be created with type ``SERIAL`` (which
- implicitly creates a sequence).
-
-* New `_defaultOrder` class variable gives a default for the
- `orderBy` parameter to `select` queries.
-
-Bugs
-----
-
-* LIMIT/OFFSET (select result slicing) works in Postgres and SQLite.
-
-* ``tableExists`` method from DBConnection works in same.
-
-* mxDateTime not required (never should have been, always just an
- option).
-
-SQLObject 0.2.1
-===============
-
-Bugs
-----
-
-* Fixed caching of new objects
-
-Features
---------
-
-* SQLite_ support
-
-* Select statements are lazily generated, retrieve full rows for
- speed, and are slicable (`select docs`_).
-
-* `alternateID` option for `Col` objects -- select individual objects
- via UNIQUE columns, e.g., a username (`Col docs`_).
-
-.. _SQLite: http://sqlite.org/
-
-.. _select docs: SQLObject.html#selecting-multiple-objects
-
-.. _Col docs: SQLObject.html#col-class-specifying-columns
-
.. image:: http://sflogo.sourceforge.net/sflogo.php?group_id=74338&type=10
:target: http://sourceforge.net/projects/sqlobject
:class: noborder
|
|
From: <sub...@co...> - 2009-07-23 14:10:28
|
Author: phd Date: 2009-07-23 08:10:21 -0600 (Thu, 23 Jul 2009) New Revision: 3922 Modified: SQLObject/trunk/docs/News.txt Log: Increased importance: new columns are major features. Modified: SQLObject/trunk/docs/News.txt =================================================================== --- SQLObject/trunk/docs/News.txt 2009-07-23 14:08:37 UTC (rev 3921) +++ SQLObject/trunk/docs/News.txt 2009-07-23 14:10:21 UTC (rev 3922) @@ -27,13 +27,6 @@ * Added some support for schemas in PostgreSQL. -* RowDestroyedSignal and RowUpdatedSignal were added. - -Minor features --------------- - -* Use reversed() in manager/command.py instead of .__reversed__(). - * Added DecimalStringCol - similar to DecimalCol but stores data as strings to work around problems in some drivers and type affinity problem in SQLite. @@ -45,6 +38,13 @@ indicate no password set. By default, it uses the md5 library for hashing, but this can be changed in a HashCol definition. +* RowDestroyedSignal and RowUpdatedSignal were added. + +Minor features +-------------- + +* Use reversed() in manager/command.py instead of .__reversed__(). + * Minor change in logging to console - logger no longer stores the output file, it gets the file from module sys every time by name; this means logging will use new sys.stdout (or stderr) in case the user changed |
|
From: <sub...@co...> - 2009-07-23 14:08:47
|
Author: phd
Date: 2009-07-23 08:08:37 -0600 (Thu, 23 Jul 2009)
New Revision: 3921
Modified:
SQLObject/trunk/sqlobject/dbconnection.py
Log:
Minor refactoring: preprocess loglevel in the constructor.
Modified: SQLObject/trunk/sqlobject/dbconnection.py
===================================================================
--- SQLObject/trunk/sqlobject/dbconnection.py 2009-07-17 10:47:30 UTC (rev 3920)
+++ SQLObject/trunk/sqlobject/dbconnection.py 2009-07-23 14:08:37 UTC (rev 3921)
@@ -29,9 +29,10 @@
class ConsoleWriter:
def __init__(self, loglevel):
- self.loglevel = loglevel # None or empty string for stdout; or 'stderr'
+ # loglevel: None or empty string for stdout; or 'stderr'
+ self.loglevel = loglevel or "stdout"
def write(self, text):
- logfile = getattr(sys, self.loglevel or "stdout")
+ logfile = getattr(sys, self.loglevel)
logfile.write(text + '\n')
class LogWriter:
|
|
From: <sub...@co...> - 2009-07-17 10:47:39
|
Author: phd
Date: 2009-07-17 04:47:30 -0600 (Fri, 17 Jul 2009)
New Revision: 3920
Modified:
SQLObject/trunk/docs/News.txt
SQLObject/trunk/sqlobject/dbconnection.py
Log:
Minor change in logging to console - logger no longer stores the output file, it gets the file from module sys.
Modified: SQLObject/trunk/docs/News.txt
===================================================================
--- SQLObject/trunk/docs/News.txt 2009-07-16 04:16:46 UTC (rev 3919)
+++ SQLObject/trunk/docs/News.txt 2009-07-17 10:47:30 UTC (rev 3920)
@@ -45,6 +45,11 @@
indicate no password set. By default, it uses the md5 library for
hashing, but this can be changed in a HashCol definition.
+* Minor change in logging to console - logger no longer stores the output
+ file, it gets the file from module sys every time by name; this means
+ logging will use new sys.stdout (or stderr) in case the user changed
+ them.
+
* Changed the order of testing of SQLite modules - look for external
PySQLite2 before sqlite3.
Modified: SQLObject/trunk/sqlobject/dbconnection.py
===================================================================
--- SQLObject/trunk/sqlobject/dbconnection.py 2009-07-16 04:16:46 UTC (rev 3919)
+++ SQLObject/trunk/sqlobject/dbconnection.py 2009-07-17 10:47:30 UTC (rev 3920)
@@ -29,10 +29,10 @@
class ConsoleWriter:
def __init__(self, loglevel):
- self.loglevel = loglevel
- self.logfile = getattr(sys, loglevel or "stdout")
+ self.loglevel = loglevel # None or empty string for stdout; or 'stderr'
def write(self, text):
- self.logfile.write(text + '\n')
+ logfile = getattr(sys, self.loglevel or "stdout")
+ logfile.write(text + '\n')
class LogWriter:
def __init__(self, logger, loglevel):
|
|
From: SourceForge.net <no...@so...> - 2009-06-26 12:41:58
|
Bugs item #2794073, was opened at 2009-05-20 00:45 Message generated for change (Comment added) made by phd You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: General Group: None >Status: Closed >Resolution: Wont Fix Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Oleg Broytmann (phd) Summary: SqlObject fails in mod_python because of KeyError Initial Comment: A simple python handler in apache which uses sqlobject fails because of a KeyError. sqlobject/main.py in line 762: mod = sys.modules[cls.__module__] Uncommenting the lines makes sqlobject work as intended. Attached is the test script and the debug output from the script when run as a mod_python handler. I do not have the error when running test scripts in the console. I am guessing it must be something that mod_python is doing when importing sqlobject. ---------------------------------------------------------------------- >Comment By: Oleg Broytmann (phd) Date: 2009-06-26 16:41 Message: It seems mod_python is abandoned. Its author(s) moved to mod_wsgi. Very few people use SQLObject under mod_python. I think it'd be better to leave the patch externally maintained and to recommend people to switch to mod_wsgi. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2009-05-24 13:07 Message: I added to the line 761 in main.py of sqlobject >>> if not connection and not getattr(cls, '_connection', None): <<< the following check for mod_python: >>> and not sys.modules.has_key("mod_python"): <<< So the new line 761 looks as follows: >>> if not connection and not getattr(cls, '_connection', None) and not sys.modules.has_key("mod_python"): <<< This seems to work for me. I am not sure if there is a better way than searching the sys.modules dictionary. Thanks for your quick reply. I am really wondering why nobody else has stumbled upon this. There are probably a lot of people out there doing mod_python stuff ... Well, thanks for your work on sqlobject - I find it really useful! ---------------------------------------------------------------------- Comment By: Oleg Broytmann (phd) Date: 2009-05-23 21:12 Message: How can I detect if SQLObject is running under mod_python? Is there something in sys? os.environ? Can you look it up in mod_python docs? The solution would be something like this: if not connection and not getattr(cls, '_connection', None) and \ not running_under_modpython(): mod = sys.modules[cls.__module__] # See if there's a __connection__ global in # the module, use it if there is. if hasattr(mod, '__connection__'): connection = mod.__connection__ I would like to ask you to find out what 'running_under_modpython' is, test it and send to me. ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-23 21:01 Message: uncommenting = commenting them out Sorry, overlooked the real question! ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-23 20:59 Message: Well by "uncommenting the lines" I meant line 762 and the ones around it so that the main.py of sqlobject is still valid. The lines are the following: >>> if not connection and not getattr(cls, '_connection', None): mod = sys.modules[cls.__module__] # See if there's a __connection__ global in # the module, use it if there is. if hasattr(mod, '__connection__'): connection = mod.__connection__ <<< The final error in the mod_python error log is: >>> File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line 762, in __classinit__ mod = sys.modules[cls.__module__] KeyError: '_mp_32178831045d61a426cfbf437900de0b' <<< For me this means that cls.__module__ is equal to '_mp_32178831045d61a426cfbf437900de0b' and it can not be found in the sys.modules hash/array. I am guessing that is because of some magic that mod_python is doing to allow caching/reloading of modules. I am not sure if there is another way to find out if there is a connection global but the way it is now does not work with mod_python. I am sorry that I can not offer a real patch or fix but I am a novice concerning python. ---------------------------------------------------------------------- Comment By: Oleg Broytmann (phd) Date: 2009-05-20 01:00 Message: Uncommenting what lines? Do you mean commenting them out? SQLObject uses mod to find out a global __connection__ declaration. ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-20 00:49 Message: Sorry about submitting to early - Here is the bug report: -------- MOD_PYTHON ERROR ProcessId: 4361 Interpreter: 'huge.dino.park' ServerName: 'huge.dino.park' DocumentRoot: '/var/www/' URI: '/~michael/test.py' Location: None Directory: '/home/michael/public_html/' Filename: '/home/michael/public_html/test.py' PathInfo: '' Phase: 'PythonHandler' Handler: 'mod_python.publisher' Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch default=default_handler, arg=req, silent=hlist.silent) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target result = _execute_target(config, req, object, arg) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target result = object(arg) File "/usr/lib/python2.5/site-packages/mod_python/publisher.py", line 204, in handler module = page_cache[req] File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1059, in __getitem__ return import_module(req.filename) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 296, in import_module log, import_path) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 680, in import_module execfile(file, module.__dict__) File "/home/michael/public_html/test.py", line 7, in <module> class News(sqlobject.SQLObject): File "/usr/lib/python2.5/site-packages/sqlobject/declarative.py", line 92, in __new__ cls.__classinit__(cls, new_attrs) File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line 762, in __classinit__ mod = sys.modules[cls.__module__] KeyError: '_mp_32178831045d61a426cfbf437900de0b' MODULE CACHE DETAILS Accessed: Tue May 19 22:40:42 2009 Generation: 0 _mp_32178831045d61a426cfbf437900de0b { FileName: '/home/michael/public_html/test.py' Instance: 1 [IMPORT] Generation: 0 [ERROR] Modified: Tue May 19 22:35:34 2009 } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 |
|
From: SourceForge.net <no...@so...> - 2009-05-24 09:07:11
|
Bugs item #2794073, was opened at 2009-05-19 20:45 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: General Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Oleg Broytmann (phd) Summary: SqlObject fails in mod_python because of KeyError Initial Comment: A simple python handler in apache which uses sqlobject fails because of a KeyError. sqlobject/main.py in line 762: mod = sys.modules[cls.__module__] Uncommenting the lines makes sqlobject work as intended. Attached is the test script and the debug output from the script when run as a mod_python handler. I do not have the error when running test scripts in the console. I am guessing it must be something that mod_python is doing when importing sqlobject. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2009-05-24 09:07 Message: I added to the line 761 in main.py of sqlobject >>> if not connection and not getattr(cls, '_connection', None): <<< the following check for mod_python: >>> and not sys.modules.has_key("mod_python"): <<< So the new line 761 looks as follows: >>> if not connection and not getattr(cls, '_connection', None) and not sys.modules.has_key("mod_python"): <<< This seems to work for me. I am not sure if there is a better way than searching the sys.modules dictionary. Thanks for your quick reply. I am really wondering why nobody else has stumbled upon this. There are probably a lot of people out there doing mod_python stuff ... Well, thanks for your work on sqlobject - I find it really useful! ---------------------------------------------------------------------- Comment By: Oleg Broytmann (phd) Date: 2009-05-23 17:12 Message: How can I detect if SQLObject is running under mod_python? Is there something in sys? os.environ? Can you look it up in mod_python docs? The solution would be something like this: if not connection and not getattr(cls, '_connection', None) and \ not running_under_modpython(): mod = sys.modules[cls.__module__] # See if there's a __connection__ global in # the module, use it if there is. if hasattr(mod, '__connection__'): connection = mod.__connection__ I would like to ask you to find out what 'running_under_modpython' is, test it and send to me. ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-23 17:01 Message: uncommenting = commenting them out Sorry, overlooked the real question! ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-23 16:59 Message: Well by "uncommenting the lines" I meant line 762 and the ones around it so that the main.py of sqlobject is still valid. The lines are the following: >>> if not connection and not getattr(cls, '_connection', None): mod = sys.modules[cls.__module__] # See if there's a __connection__ global in # the module, use it if there is. if hasattr(mod, '__connection__'): connection = mod.__connection__ <<< The final error in the mod_python error log is: >>> File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line 762, in __classinit__ mod = sys.modules[cls.__module__] KeyError: '_mp_32178831045d61a426cfbf437900de0b' <<< For me this means that cls.__module__ is equal to '_mp_32178831045d61a426cfbf437900de0b' and it can not be found in the sys.modules hash/array. I am guessing that is because of some magic that mod_python is doing to allow caching/reloading of modules. I am not sure if there is another way to find out if there is a connection global but the way it is now does not work with mod_python. I am sorry that I can not offer a real patch or fix but I am a novice concerning python. ---------------------------------------------------------------------- Comment By: Oleg Broytmann (phd) Date: 2009-05-19 21:00 Message: Uncommenting what lines? Do you mean commenting them out? SQLObject uses mod to find out a global __connection__ declaration. ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-19 20:49 Message: Sorry about submitting to early - Here is the bug report: -------- MOD_PYTHON ERROR ProcessId: 4361 Interpreter: 'huge.dino.park' ServerName: 'huge.dino.park' DocumentRoot: '/var/www/' URI: '/~michael/test.py' Location: None Directory: '/home/michael/public_html/' Filename: '/home/michael/public_html/test.py' PathInfo: '' Phase: 'PythonHandler' Handler: 'mod_python.publisher' Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch default=default_handler, arg=req, silent=hlist.silent) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target result = _execute_target(config, req, object, arg) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target result = object(arg) File "/usr/lib/python2.5/site-packages/mod_python/publisher.py", line 204, in handler module = page_cache[req] File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1059, in __getitem__ return import_module(req.filename) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 296, in import_module log, import_path) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 680, in import_module execfile(file, module.__dict__) File "/home/michael/public_html/test.py", line 7, in <module> class News(sqlobject.SQLObject): File "/usr/lib/python2.5/site-packages/sqlobject/declarative.py", line 92, in __new__ cls.__classinit__(cls, new_attrs) File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line 762, in __classinit__ mod = sys.modules[cls.__module__] KeyError: '_mp_32178831045d61a426cfbf437900de0b' MODULE CACHE DETAILS Accessed: Tue May 19 22:40:42 2009 Generation: 0 _mp_32178831045d61a426cfbf437900de0b { FileName: '/home/michael/public_html/test.py' Instance: 1 [IMPORT] Generation: 0 [ERROR] Modified: Tue May 19 22:35:34 2009 } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 |
|
From: SourceForge.net <no...@so...> - 2009-05-23 17:13:06
|
Bugs item #2794073, was opened at 2009-05-20 00:45 Message generated for change (Comment added) made by phd You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: General Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Oleg Broytmann (phd) Summary: SqlObject fails in mod_python because of KeyError Initial Comment: A simple python handler in apache which uses sqlobject fails because of a KeyError. sqlobject/main.py in line 762: mod = sys.modules[cls.__module__] Uncommenting the lines makes sqlobject work as intended. Attached is the test script and the debug output from the script when run as a mod_python handler. I do not have the error when running test scripts in the console. I am guessing it must be something that mod_python is doing when importing sqlobject. ---------------------------------------------------------------------- >Comment By: Oleg Broytmann (phd) Date: 2009-05-23 21:12 Message: How can I detect if SQLObject is running under mod_python? Is there something in sys? os.environ? Can you look it up in mod_python docs? The solution would be something like this: if not connection and not getattr(cls, '_connection', None) and \ not running_under_modpython(): mod = sys.modules[cls.__module__] # See if there's a __connection__ global in # the module, use it if there is. if hasattr(mod, '__connection__'): connection = mod.__connection__ I would like to ask you to find out what 'running_under_modpython' is, test it and send to me. ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-23 21:01 Message: uncommenting = commenting them out Sorry, overlooked the real question! ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-23 20:59 Message: Well by "uncommenting the lines" I meant line 762 and the ones around it so that the main.py of sqlobject is still valid. The lines are the following: >>> if not connection and not getattr(cls, '_connection', None): mod = sys.modules[cls.__module__] # See if there's a __connection__ global in # the module, use it if there is. if hasattr(mod, '__connection__'): connection = mod.__connection__ <<< The final error in the mod_python error log is: >>> File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line 762, in __classinit__ mod = sys.modules[cls.__module__] KeyError: '_mp_32178831045d61a426cfbf437900de0b' <<< For me this means that cls.__module__ is equal to '_mp_32178831045d61a426cfbf437900de0b' and it can not be found in the sys.modules hash/array. I am guessing that is because of some magic that mod_python is doing to allow caching/reloading of modules. I am not sure if there is another way to find out if there is a connection global but the way it is now does not work with mod_python. I am sorry that I can not offer a real patch or fix but I am a novice concerning python. ---------------------------------------------------------------------- Comment By: Oleg Broytmann (phd) Date: 2009-05-20 01:00 Message: Uncommenting what lines? Do you mean commenting them out? SQLObject uses mod to find out a global __connection__ declaration. ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-20 00:49 Message: Sorry about submitting to early - Here is the bug report: -------- MOD_PYTHON ERROR ProcessId: 4361 Interpreter: 'huge.dino.park' ServerName: 'huge.dino.park' DocumentRoot: '/var/www/' URI: '/~michael/test.py' Location: None Directory: '/home/michael/public_html/' Filename: '/home/michael/public_html/test.py' PathInfo: '' Phase: 'PythonHandler' Handler: 'mod_python.publisher' Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch default=default_handler, arg=req, silent=hlist.silent) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target result = _execute_target(config, req, object, arg) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target result = object(arg) File "/usr/lib/python2.5/site-packages/mod_python/publisher.py", line 204, in handler module = page_cache[req] File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1059, in __getitem__ return import_module(req.filename) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 296, in import_module log, import_path) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 680, in import_module execfile(file, module.__dict__) File "/home/michael/public_html/test.py", line 7, in <module> class News(sqlobject.SQLObject): File "/usr/lib/python2.5/site-packages/sqlobject/declarative.py", line 92, in __new__ cls.__classinit__(cls, new_attrs) File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line 762, in __classinit__ mod = sys.modules[cls.__module__] KeyError: '_mp_32178831045d61a426cfbf437900de0b' MODULE CACHE DETAILS Accessed: Tue May 19 22:40:42 2009 Generation: 0 _mp_32178831045d61a426cfbf437900de0b { FileName: '/home/michael/public_html/test.py' Instance: 1 [IMPORT] Generation: 0 [ERROR] Modified: Tue May 19 22:35:34 2009 } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 |
|
From: SourceForge.net <no...@so...> - 2009-05-23 17:01:31
|
Bugs item #2794073, was opened at 2009-05-19 22:45 Message generated for change (Comment added) made by cv_student You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: General Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Oleg Broytmann (phd) Summary: SqlObject fails in mod_python because of KeyError Initial Comment: A simple python handler in apache which uses sqlobject fails because of a KeyError. sqlobject/main.py in line 762: mod = sys.modules[cls.__module__] Uncommenting the lines makes sqlobject work as intended. Attached is the test script and the debug output from the script when run as a mod_python handler. I do not have the error when running test scripts in the console. I am guessing it must be something that mod_python is doing when importing sqlobject. ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-23 19:01 Message: uncommenting = commenting them out Sorry, overlooked the real question! ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-23 18:59 Message: Well by "uncommenting the lines" I meant line 762 and the ones around it so that the main.py of sqlobject is still valid. The lines are the following: >>> if not connection and not getattr(cls, '_connection', None): mod = sys.modules[cls.__module__] # See if there's a __connection__ global in # the module, use it if there is. if hasattr(mod, '__connection__'): connection = mod.__connection__ <<< The final error in the mod_python error log is: >>> File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line 762, in __classinit__ mod = sys.modules[cls.__module__] KeyError: '_mp_32178831045d61a426cfbf437900de0b' <<< For me this means that cls.__module__ is equal to '_mp_32178831045d61a426cfbf437900de0b' and it can not be found in the sys.modules hash/array. I am guessing that is because of some magic that mod_python is doing to allow caching/reloading of modules. I am not sure if there is another way to find out if there is a connection global but the way it is now does not work with mod_python. I am sorry that I can not offer a real patch or fix but I am a novice concerning python. ---------------------------------------------------------------------- Comment By: Oleg Broytmann (phd) Date: 2009-05-19 23:00 Message: Uncommenting what lines? Do you mean commenting them out? SQLObject uses mod to find out a global __connection__ declaration. ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-19 22:49 Message: Sorry about submitting to early - Here is the bug report: -------- MOD_PYTHON ERROR ProcessId: 4361 Interpreter: 'huge.dino.park' ServerName: 'huge.dino.park' DocumentRoot: '/var/www/' URI: '/~michael/test.py' Location: None Directory: '/home/michael/public_html/' Filename: '/home/michael/public_html/test.py' PathInfo: '' Phase: 'PythonHandler' Handler: 'mod_python.publisher' Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch default=default_handler, arg=req, silent=hlist.silent) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target result = _execute_target(config, req, object, arg) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target result = object(arg) File "/usr/lib/python2.5/site-packages/mod_python/publisher.py", line 204, in handler module = page_cache[req] File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1059, in __getitem__ return import_module(req.filename) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 296, in import_module log, import_path) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 680, in import_module execfile(file, module.__dict__) File "/home/michael/public_html/test.py", line 7, in <module> class News(sqlobject.SQLObject): File "/usr/lib/python2.5/site-packages/sqlobject/declarative.py", line 92, in __new__ cls.__classinit__(cls, new_attrs) File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line 762, in __classinit__ mod = sys.modules[cls.__module__] KeyError: '_mp_32178831045d61a426cfbf437900de0b' MODULE CACHE DETAILS Accessed: Tue May 19 22:40:42 2009 Generation: 0 _mp_32178831045d61a426cfbf437900de0b { FileName: '/home/michael/public_html/test.py' Instance: 1 [IMPORT] Generation: 0 [ERROR] Modified: Tue May 19 22:35:34 2009 } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 |
|
From: SourceForge.net <no...@so...> - 2009-05-23 16:59:29
|
Bugs item #2794073, was opened at 2009-05-19 22:45 Message generated for change (Comment added) made by cv_student You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: General Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Oleg Broytmann (phd) Summary: SqlObject fails in mod_python because of KeyError Initial Comment: A simple python handler in apache which uses sqlobject fails because of a KeyError. sqlobject/main.py in line 762: mod = sys.modules[cls.__module__] Uncommenting the lines makes sqlobject work as intended. Attached is the test script and the debug output from the script when run as a mod_python handler. I do not have the error when running test scripts in the console. I am guessing it must be something that mod_python is doing when importing sqlobject. ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-23 18:59 Message: Well by "uncommenting the lines" I meant line 762 and the ones around it so that the main.py of sqlobject is still valid. The lines are the following: >>> if not connection and not getattr(cls, '_connection', None): mod = sys.modules[cls.__module__] # See if there's a __connection__ global in # the module, use it if there is. if hasattr(mod, '__connection__'): connection = mod.__connection__ <<< The final error in the mod_python error log is: >>> File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line 762, in __classinit__ mod = sys.modules[cls.__module__] KeyError: '_mp_32178831045d61a426cfbf437900de0b' <<< For me this means that cls.__module__ is equal to '_mp_32178831045d61a426cfbf437900de0b' and it can not be found in the sys.modules hash/array. I am guessing that is because of some magic that mod_python is doing to allow caching/reloading of modules. I am not sure if there is another way to find out if there is a connection global but the way it is now does not work with mod_python. I am sorry that I can not offer a real patch or fix but I am a novice concerning python. ---------------------------------------------------------------------- Comment By: Oleg Broytmann (phd) Date: 2009-05-19 23:00 Message: Uncommenting what lines? Do you mean commenting them out? SQLObject uses mod to find out a global __connection__ declaration. ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-19 22:49 Message: Sorry about submitting to early - Here is the bug report: -------- MOD_PYTHON ERROR ProcessId: 4361 Interpreter: 'huge.dino.park' ServerName: 'huge.dino.park' DocumentRoot: '/var/www/' URI: '/~michael/test.py' Location: None Directory: '/home/michael/public_html/' Filename: '/home/michael/public_html/test.py' PathInfo: '' Phase: 'PythonHandler' Handler: 'mod_python.publisher' Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch default=default_handler, arg=req, silent=hlist.silent) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target result = _execute_target(config, req, object, arg) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target result = object(arg) File "/usr/lib/python2.5/site-packages/mod_python/publisher.py", line 204, in handler module = page_cache[req] File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1059, in __getitem__ return import_module(req.filename) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 296, in import_module log, import_path) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 680, in import_module execfile(file, module.__dict__) File "/home/michael/public_html/test.py", line 7, in <module> class News(sqlobject.SQLObject): File "/usr/lib/python2.5/site-packages/sqlobject/declarative.py", line 92, in __new__ cls.__classinit__(cls, new_attrs) File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line 762, in __classinit__ mod = sys.modules[cls.__module__] KeyError: '_mp_32178831045d61a426cfbf437900de0b' MODULE CACHE DETAILS Accessed: Tue May 19 22:40:42 2009 Generation: 0 _mp_32178831045d61a426cfbf437900de0b { FileName: '/home/michael/public_html/test.py' Instance: 1 [IMPORT] Generation: 0 [ERROR] Modified: Tue May 19 22:35:34 2009 } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 |
|
From: SourceForge.net <no...@so...> - 2009-05-19 21:02:21
|
Bugs item #2785740, was opened at 2009-05-02 23:22 Message generated for change (Settings changed) made by phd You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2785740&group_id=74338 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Deleted Resolution: Rejected Priority: 5 >Private: Yes Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Grom Initial Comment: Very good resourse : [url=http://usuarios.lycos.es/wolahs/cory-heart-naked.html]cory heart naked[/url] [url=http://mitglied.lycos.de/maloga/devil-naked-webcams-women.html]devil naked webcams women[/url] <a href=http://utenti.lycos.it/bedogr/girls-naked-and-sail-boats.html>girls naked and sail boats</a> <a href=http://members.lycos.nl/bonaft/black-celebrity-naked-nude-pictures.html>black celebrity naked nude pictures</a> http://usuarios.lycos.es/numega/big-brother-07-emma-naked.html Thanks! ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2785740&group_id=74338 |
|
From: SourceForge.net <no...@so...> - 2009-05-19 21:00:26
|
Bugs item #2794073, was opened at 2009-05-20 00:45 Message generated for change (Comment added) made by phd You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: General Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) >Assigned to: Oleg Broytmann (phd) Summary: SqlObject fails in mod_python because of KeyError Initial Comment: A simple python handler in apache which uses sqlobject fails because of a KeyError. sqlobject/main.py in line 762: mod = sys.modules[cls.__module__] Uncommenting the lines makes sqlobject work as intended. Attached is the test script and the debug output from the script when run as a mod_python handler. I do not have the error when running test scripts in the console. I am guessing it must be something that mod_python is doing when importing sqlobject. ---------------------------------------------------------------------- >Comment By: Oleg Broytmann (phd) Date: 2009-05-20 01:00 Message: Uncommenting what lines? Do you mean commenting them out? SQLObject uses mod to find out a global __connection__ declaration. ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-20 00:49 Message: Sorry about submitting to early - Here is the bug report: -------- MOD_PYTHON ERROR ProcessId: 4361 Interpreter: 'huge.dino.park' ServerName: 'huge.dino.park' DocumentRoot: '/var/www/' URI: '/~michael/test.py' Location: None Directory: '/home/michael/public_html/' Filename: '/home/michael/public_html/test.py' PathInfo: '' Phase: 'PythonHandler' Handler: 'mod_python.publisher' Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch default=default_handler, arg=req, silent=hlist.silent) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target result = _execute_target(config, req, object, arg) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target result = object(arg) File "/usr/lib/python2.5/site-packages/mod_python/publisher.py", line 204, in handler module = page_cache[req] File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1059, in __getitem__ return import_module(req.filename) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 296, in import_module log, import_path) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 680, in import_module execfile(file, module.__dict__) File "/home/michael/public_html/test.py", line 7, in <module> class News(sqlobject.SQLObject): File "/usr/lib/python2.5/site-packages/sqlobject/declarative.py", line 92, in __new__ cls.__classinit__(cls, new_attrs) File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line 762, in __classinit__ mod = sys.modules[cls.__module__] KeyError: '_mp_32178831045d61a426cfbf437900de0b' MODULE CACHE DETAILS Accessed: Tue May 19 22:40:42 2009 Generation: 0 _mp_32178831045d61a426cfbf437900de0b { FileName: '/home/michael/public_html/test.py' Instance: 1 [IMPORT] Generation: 0 [ERROR] Modified: Tue May 19 22:35:34 2009 } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 |
|
From: SourceForge.net <no...@so...> - 2009-05-19 20:49:33
|
Bugs item #2794073, was opened at 2009-05-19 22:45 Message generated for change (Comment added) made by cv_student You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: General Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: SqlObject fails in mod_python because of KeyError Initial Comment: A simple python handler in apache which uses sqlobject fails because of a KeyError. sqlobject/main.py in line 762: mod = sys.modules[cls.__module__] Uncommenting the lines makes sqlobject work as intended. Attached is the test script and the debug output from the script when run as a mod_python handler. I do not have the error when running test scripts in the console. I am guessing it must be something that mod_python is doing when importing sqlobject. ---------------------------------------------------------------------- Comment By: damike (cv_student) Date: 2009-05-19 22:49 Message: Sorry about submitting to early - Here is the bug report: -------- MOD_PYTHON ERROR ProcessId: 4361 Interpreter: 'huge.dino.park' ServerName: 'huge.dino.park' DocumentRoot: '/var/www/' URI: '/~michael/test.py' Location: None Directory: '/home/michael/public_html/' Filename: '/home/michael/public_html/test.py' PathInfo: '' Phase: 'PythonHandler' Handler: 'mod_python.publisher' Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch default=default_handler, arg=req, silent=hlist.silent) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target result = _execute_target(config, req, object, arg) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target result = object(arg) File "/usr/lib/python2.5/site-packages/mod_python/publisher.py", line 204, in handler module = page_cache[req] File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1059, in __getitem__ return import_module(req.filename) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 296, in import_module log, import_path) File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 680, in import_module execfile(file, module.__dict__) File "/home/michael/public_html/test.py", line 7, in <module> class News(sqlobject.SQLObject): File "/usr/lib/python2.5/site-packages/sqlobject/declarative.py", line 92, in __new__ cls.__classinit__(cls, new_attrs) File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line 762, in __classinit__ mod = sys.modules[cls.__module__] KeyError: '_mp_32178831045d61a426cfbf437900de0b' MODULE CACHE DETAILS Accessed: Tue May 19 22:40:42 2009 Generation: 0 _mp_32178831045d61a426cfbf437900de0b { FileName: '/home/michael/public_html/test.py' Instance: 1 [IMPORT] Generation: 0 [ERROR] Modified: Tue May 19 22:35:34 2009 } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 |
|
From: SourceForge.net <no...@so...> - 2009-05-19 20:45:32
|
Bugs item #2794073, was opened at 2009-05-19 20:45 Message generated for change (Tracker Item Submitted) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: General Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: SqlObject fails in mod_python because of KeyError Initial Comment: A simple python handler in apache which uses sqlobject fails because of a KeyError. sqlobject/main.py in line 762: mod = sys.modules[cls.__module__] Uncommenting the lines makes sqlobject work as intended. Attached is the test script and the debug output from the script when run as a mod_python handler. I do not have the error when running test scripts in the console. I am guessing it must be something that mod_python is doing when importing sqlobject. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2794073&group_id=74338 |
|
From: <sub...@co...> - 2009-05-18 17:39:13
|
Author: phd Date: 2009-05-18 11:39:09 -0600 (Mon, 18 May 2009) New Revision: 3904 Modified: SQLObject/trunk/docs/News.txt Log: Fixed a minor misspelling. Modified: SQLObject/trunk/docs/News.txt =================================================================== --- SQLObject/trunk/docs/News.txt 2009-05-18 17:38:39 UTC (rev 3903) +++ SQLObject/trunk/docs/News.txt 2009-05-18 17:39:09 UTC (rev 3904) @@ -172,7 +172,7 @@ Released 18 May 2009 -* Two bug in SQLiteConnection.columnsFromSchema() were fixed: use +* 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. |
|
From: <sub...@co...> - 2009-05-18 17:38:43
|
Author: phd Date: 2009-05-18 11:38:39 -0600 (Mon, 18 May 2009) New Revision: 3903 Modified: SQLObject/branches/0.10/docs/News.txt Log: Fixed a misspelling. Modified: SQLObject/branches/0.10/docs/News.txt =================================================================== --- SQLObject/branches/0.10/docs/News.txt 2009-05-18 17:38:01 UTC (rev 3902) +++ SQLObject/branches/0.10/docs/News.txt 2009-05-18 17:38:39 UTC (rev 3903) @@ -131,7 +131,7 @@ Released 18 May 2009 -* Two bug in SQLiteConnection.columnsFromSchema() were fixed: use +* 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. |
|
From: <sub...@co...> - 2009-05-18 17:38:04
|
Author: phd Date: 2009-05-18 11:38:01 -0600 (Mon, 18 May 2009) New Revision: 3902 Modified: SQLObject/branches/0.9/docs/News.txt Log: Fixed a misspelling. Modified: SQLObject/branches/0.9/docs/News.txt =================================================================== --- SQLObject/branches/0.9/docs/News.txt 2009-05-18 17:31:45 UTC (rev 3901) +++ SQLObject/branches/0.9/docs/News.txt 2009-05-18 17:38:01 UTC (rev 3902) @@ -12,7 +12,7 @@ Released 18 May 2009 -* Two bug in SQLiteConnection.columnsFromSchema() were fixed: use +* 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. |
|
From: <sub...@co...> - 2009-05-18 17:31:55
|
Author: phd Date: 2009-05-18 11:31:45 -0600 (Mon, 18 May 2009) New Revision: 3901 Modified: SQLObject/tags/0.10.6/setup.cfg SQLObject/tags/0.10.6/setup.py SQLObject/tags/0.10.6/sqlobject/__init__.py SQLObject/tags/0.10.6/sqlobject/main.py Log: Stable version 0.10.6. Modified: SQLObject/tags/0.10.6/setup.cfg =================================================================== --- SQLObject/tags/0.10.6/setup.cfg 2009-05-18 17:30:23 UTC (rev 3900) +++ SQLObject/tags/0.10.6/setup.cfg 2009-05-18 17:31:45 UTC (rev 3901) @@ -5,10 +5,6 @@ [easy_install] #find_links = http://svn.pythonpaste.org/package_index.html -[egg_info] -tag_build = dev -tag_svn_revision = true - [pudge] theme = pythonpaste.org docs = docs/index.txt docs/Authors.txt docs/DeveloperGuide.txt docs/FAQ.txt Modified: SQLObject/tags/0.10.6/setup.py =================================================================== --- SQLObject/tags/0.10.6/setup.py 2009-05-18 17:30:23 UTC (rev 3900) +++ SQLObject/tags/0.10.6/setup.py 2009-05-18 17:31:45 UTC (rev 3901) @@ -21,7 +21,7 @@ """ setup(name="SQLObject", - version="0.10", + version="0.10.6", description="Object-Relational Manager, aka database wrapper", long_description="""\ SQLObject is a popular *Object Relational Manager* for providing an @@ -49,7 +49,7 @@ author="Ian Bicking", author_email="ia...@co...", url="http://sqlobject.org/", - download_url="http://cheeseshop.python.org/pypi/SQLObject/0.10", + download_url="http://cheeseshop.python.org/pypi/SQLObject/0.10.6", license="LGPL", packages=["sqlobject"] + ['sqlobject.%s' % package for package in subpackages], scripts=["scripts/sqlobject-admin"], Modified: SQLObject/tags/0.10.6/sqlobject/__init__.py =================================================================== --- SQLObject/tags/0.10.6/sqlobject/__init__.py 2009-05-18 17:30:23 UTC (rev 3900) +++ SQLObject/tags/0.10.6/sqlobject/__init__.py 2009-05-18 17:31:45 UTC (rev 3901) @@ -1,5 +1,5 @@ """ -SQLObject 0.10 +SQLObject 0.10.6 """ from main import * Modified: SQLObject/tags/0.10.6/sqlobject/main.py =================================================================== --- SQLObject/tags/0.10.6/sqlobject/main.py 2009-05-18 17:30:23 UTC (rev 3900) +++ SQLObject/tags/0.10.6/sqlobject/main.py 2009-05-18 17:31:45 UTC (rev 3901) @@ -1,6 +1,6 @@ """ -SQLObject 0.10 --------------- +SQLObject 0.10.6 +---------------- :author: Ian Bicking <ia...@co...> |
|
From: <sub...@co...> - 2009-05-18 17:30:32
|
Author: phd Date: 2009-05-18 11:30:23 -0600 (Mon, 18 May 2009) New Revision: 3900 Added: SQLObject/tags/0.10.6/ Log: Tagging 0.10.6 Copied: SQLObject/tags/0.10.6 (from rev 3899, SQLObject/branches/0.10) |
|
From: <sub...@co...> - 2009-05-18 17:29:50
|
Author: phd Date: 2009-05-18 11:29:40 -0600 (Mon, 18 May 2009) New Revision: 3899 Modified: SQLObject/trunk/docs/News.txt Log: Going to release SQLObject 0.10.6 Modified: SQLObject/trunk/docs/News.txt =================================================================== --- SQLObject/trunk/docs/News.txt 2009-05-18 17:28:09 UTC (rev 3898) +++ SQLObject/trunk/docs/News.txt 2009-05-18 17:29:40 UTC (rev 3899) @@ -51,6 +51,8 @@ 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`_. @@ -168,7 +170,7 @@ SQLObject 0.9.11 ================ -Released 28 May 2009 +Released 18 May 2009 * Two bug in SQLiteConnection.columnsFromSchema() were fixed: use sqlmeta.idName instead of 'id'; convert default 'NULL' to None. |
|
From: <sub...@co...> - 2009-05-18 17:28:18
|
Author: phd Date: 2009-05-18 11:28:09 -0600 (Mon, 18 May 2009) New Revision: 3898 Modified: SQLObject/branches/0.10/docs/News.txt Log: Going to release SQLObject 0.10.6. Modified: SQLObject/branches/0.10/docs/News.txt =================================================================== --- SQLObject/branches/0.10/docs/News.txt 2009-05-18 17:27:14 UTC (rev 3897) +++ SQLObject/branches/0.10/docs/News.txt 2009-05-18 17:28:09 UTC (rev 3898) @@ -10,6 +10,8 @@ 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`_. @@ -127,7 +129,7 @@ SQLObject 0.9.11 ================ -Released 28 May 2009 +Released 18 May 2009 * Two bug in SQLiteConnection.columnsFromSchema() were fixed: use sqlmeta.idName instead of 'id'; convert default 'NULL' to None. |
|
From: <sub...@co...> - 2009-05-18 17:27:27
|
Author: phd Date: 2009-05-18 11:27:14 -0600 (Mon, 18 May 2009) New Revision: 3897 Modified: SQLObject/branches/0.9/docs/News.txt Log: Fixed a misspelled date. Modified: SQLObject/branches/0.9/docs/News.txt =================================================================== --- SQLObject/branches/0.9/docs/News.txt 2009-05-18 17:24:22 UTC (rev 3896) +++ SQLObject/branches/0.9/docs/News.txt 2009-05-18 17:27:14 UTC (rev 3897) @@ -10,7 +10,7 @@ SQLObject 0.9.11 ================ -Released 28 May 2009 +Released 18 May 2009 * Two bug in SQLiteConnection.columnsFromSchema() were fixed: use sqlmeta.idName instead of 'id'; convert default 'NULL' to None. |
|
From: <sub...@co...> - 2009-05-18 17:24:33
|
Author: phd Date: 2009-05-18 11:24:22 -0600 (Mon, 18 May 2009) New Revision: 3896 Modified: SQLObject/tags/0.9.11/docs/News.txt SQLObject/tags/0.9.11/setup.cfg SQLObject/tags/0.9.11/setup.py SQLObject/tags/0.9.11/sqlobject/__init__.py SQLObject/tags/0.9.11/sqlobject/main.py Log: Stable version 0.9.11. Modified: SQLObject/tags/0.9.11/docs/News.txt =================================================================== --- SQLObject/tags/0.9.11/docs/News.txt 2009-05-18 17:22:02 UTC (rev 3895) +++ SQLObject/tags/0.9.11/docs/News.txt 2009-05-18 17:24:22 UTC (rev 3896) @@ -10,6 +10,8 @@ SQLObject 0.9.11 ================ +Released 28 May 2009 + * Two bug in SQLiteConnection.columnsFromSchema() were fixed: use sqlmeta.idName instead of 'id'; convert default 'NULL' to None. Modified: SQLObject/tags/0.9.11/setup.cfg =================================================================== --- SQLObject/tags/0.9.11/setup.cfg 2009-05-18 17:22:02 UTC (rev 3895) +++ SQLObject/tags/0.9.11/setup.cfg 2009-05-18 17:24:22 UTC (rev 3896) @@ -5,10 +5,6 @@ [easy_install] #find_links = http://svn.pythonpaste.org/package_index.html -[egg_info] -tag_build = dev -tag_svn_revision = true - [pudge] theme = pythonpaste.org docs = docs/index.txt docs/SQLObject.txt docs/TODO.txt Modified: SQLObject/tags/0.9.11/setup.py =================================================================== --- SQLObject/tags/0.9.11/setup.py 2009-05-18 17:22:02 UTC (rev 3895) +++ SQLObject/tags/0.9.11/setup.py 2009-05-18 17:24:22 UTC (rev 3896) @@ -28,7 +28,7 @@ """ setup(name="SQLObject", - version="0.9", + version="0.9.11", description="Object-Relational Manager, aka database wrapper", long_description="""\ SQLObject is a popular *Object Relational Manager* for providing an @@ -56,7 +56,7 @@ author="Ian Bicking", author_email="ia...@co...", url="http://sqlobject.org/", - download_url="http://cheeseshop.python.org/pypi/SQLObject/0.9", + download_url="http://cheeseshop.python.org/pypi/SQLObject/0.9.11", license="LGPL", packages=["sqlobject"] + ['sqlobject.%s' % package for package in subpackages], scripts=["scripts/sqlobject-admin"], Modified: SQLObject/tags/0.9.11/sqlobject/__init__.py =================================================================== --- SQLObject/tags/0.9.11/sqlobject/__init__.py 2009-05-18 17:22:02 UTC (rev 3895) +++ SQLObject/tags/0.9.11/sqlobject/__init__.py 2009-05-18 17:24:22 UTC (rev 3896) @@ -1,5 +1,5 @@ """ -SQLObject 0.9 +SQLObject 0.9.11 """ from main import * Modified: SQLObject/tags/0.9.11/sqlobject/main.py =================================================================== --- SQLObject/tags/0.9.11/sqlobject/main.py 2009-05-18 17:22:02 UTC (rev 3895) +++ SQLObject/tags/0.9.11/sqlobject/main.py 2009-05-18 17:24:22 UTC (rev 3896) @@ -1,6 +1,6 @@ """ -SQLObject 0.9 -------------- +SQLObject 0.9.11 +---------------- :author: Ian Bicking <ia...@co...> |