This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The annotated tag, 2.0.0a1 has been created
at 34401cfe9221cf95b1889e2c96827a5def8717d8 (tag)
tagging f785915dfade8a0f8847c02b9d4be0c18ea87bf4 (commit)
tagged by Oleg Broytman
on Fri Aug 1 04:26:45 2014 +0400
- Log -----------------------------------------------------------------
Release 2.0.0a1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAABCgAGBQJT2t7FAAoJEG4IC3C2KHsDSu4P/1ne0apvSZGp8rbV0YKlW55M
ksPKawZg7UQTMTcYUA4/zoHft1SB9RFyM0eOcqQEhkFTR+5UGCLbUv0qpm0XuJHs
nPrXQJ4awOKN/UH6497UW3rUULrPpPHdAX60CLdoMVQix6ZgI19naDeoxwufUPcC
yKYiDWJ5i3sKRMils8Vo4u0paNFP8nEebk5tCukABHZldCZCnYVy3XNHv69Q5oNn
LWMX3mdGPmXQRrpiPbDDAsRsbYiCztXQdv2brR/SJw/t38wURKq7WoiGY0GbcEtK
uRAaFn+AlO/vyJox7KyXuRWrv5lJVN72mAQBUUrAxo6svnvk9+YMtr6HsImmaRUr
ig7Ibe0P3705d0gQLGu19jF4Uy71sbtGBs4kVni9+zlEDEYDL6OGTNCMnS8GMtIo
Y5FQEdDOaSoDs0w/Zy5oW2fTT2P4ySWCq80EIwh5CI6x6Nw+tkJdxJFPPMGVIBOC
mLrAc3ayVFlDP3s9C/ayogt2EADzw6Q5APh+nJUufgZYFRD13MJ+0JlM284Ne/4S
vatDaM3/1q09L2OKpG0QpmfPPo/keEkxh82UOVskZLsG3NDTUnk6mrQnGts5ZMfh
IVfY+mvSNjvEH9oRF+iR3pbt9eurgB0IsRxrGp1iZPmisoAydkRn4tBgbq2d5F9O
idwoFifwLM6yLjmJoW12
=I7nB
-----END PGP SIGNATURE-----
Ahmed MOHAMED ALI (36):
Initial Import
Initial Import
Initial Import
Removed file/folder created by error by the client tool
Removed file/folder created by error by the client tool
Removed file/folder created by error by the client tool
Removed file/folder
Removed file/folder created by error by the client tool
Removed file/folder created by error by the client tool
Removed file/folder created by error by the client tool
Initial Import
Created folder remotely
Removed file/folder
Removed file/folder
Removed file/folder
Removed file/folder
Initial Import
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@134 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@135 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
Removed file/folder
Created folder remotely
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@138 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@139 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@140 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@141 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@142 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@143 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@144 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
Removed file/folder
Removed file/folder
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@147 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@148 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@149 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
Removed file/folder
Removed file/folder
git-svn-id: http://svn.colorstudy.com/trunk/SQLObject@152 95a46c32-92d2-0310-94a5-8d71aeb3d4b3
Brad Bollenbach (2):
Steve Alexander's patch to raise an error when the same SQLObject is defined more than once. I've added a test to prove that this works.
Andrew Bennetts' patch to create join methods correctly, even if they're not named explicitly. I've done some slight renaming to hopefully more clearly describe what's being tested.
Dan Pascu (6):
Fixed inconsistency with error message type when converting from mysql OperationalError to sqlobject OperationalError
Fixed adding extra URI parameters from the function kwargs when the URI already contains some parameters
Fixed incorrect handling of boolean arguments passed to connectionForURI or via dburi parameters
Simplified getattr expressions to be terse
Use the connection dbEncoding instead of ascii, when converting a unicode value from python to database for a StringCol
Fixed createSQL table constrains generation when table name includes the database name (contains a dot)
David M. Cook (2):
Test that query results with None IDs (e.g. some outer join cases) are handled correctly, i.e. return None for that object.
In Iteration.next(), handle the case where the id is None by returning None. With outer joins this is a common case, e.g. Contact.select(join=LEFTJOINOn(Customer, Contact, Customer.q.id==Contact.q.customerID)) where some customers have no contacts.
David Turner (22):
Added versioning
Added nextVersion and getChangedFields to Versioning
now versions work with foreign keys
clean up before tests
do not recreate version class
gee, that was a dumb way to add methods to a class
now versioning works outside of tests
versions can now have extra columns
oops
getChangedFields now works with extra cols
make version objects act like instances of their master class
do not restore attributes that are extra to the version
call row created postfuncs
versioning now works with constraints like unique
make blobcols work with real binary data
make versioning tests pass
test for mysql unicode and blobs
check that values roundtrip in unicode
these tests were duplicative
in mysql, altids must have length
never convert to unicode at all for mysql connections at query time.
FIXED: previously, row update events were sent differently for o.set(a=...) vs o.a=... in inherited tables. Now events are consistent
Ian Bicking (314):
Initial import of SQLObject and DataTest
Fixed up all the name changes, so the tests run again. Added a classregistry module.
Renamed __new__ to get, renamed new to __init__ (in other words, class instantiation creates a row, while the get() class method fetches an object)
Fixed some reST formatting problems
Made notes and warnings display more nicely.
Fixed examples and documentation for .new/.get change, and the new sqlobject (vs. SQLObject) package
Added some news for 0.6
Split database support into subpackages, one per driver Added URI support, which is not the most convenient way to specify the database. URIs can be used in lieu of a connection.
Added lazy updating Some URI-related fixes
Added notes about URIs and lazy updates
Fixed converter for BoolValidator, which wasn't working with SQLite
Added another boolean test
Bunch of fixes to database refactoring- made database modules load lazily (only when they are used), did actual regression testing on the databases
Added some backward-compatible *Connection constructors
Fixed typo
Added comment
Fixed threading problem with .select()
Fixed SF [ 859999 ] DBConnection gets unexpected keyword argument 'pool'
When you do a set, save the unconverted value for passing back (instead of saving the un-toPython'd value)
Forward-ported fixes from 0.5.2
forward-ported 0.5.2 news
Just so I can see if email is working
Little distribution script updates
* Fixed threading issue with Iterator, to match fix in 0.5 (connections were being released multiple times) * Expanded URIs to allow keyword (GET) arguments * Put in (optionally) more thorough debugging output
Fixed bug related to orderBy='-column_name'
Translate '/' in the path in a Firebird connection URI to os.path.sep, i.e., '\' on Windows, since Firebird doesn't handle /'s appropriately on that platform.
Backward compatibility
Fixed bug in .selectBy() with multiple keyword arguments
Deal with empty values (that int() still looks suspicious to me)
Removed debugging print statement
Allow _connection to be inherited.
Made _idName *not* inherit (as it really shouldn't, especially when the ID includes the table name).
Fix repr() for objects with non-integer IDs
Fixed quoting of Python2.3 datetime objects
Made name and joinMethodName more exposed on Col and Join objects
* Fix some issues related to subclassing and removing columns from subclasses * Added a new _create method for intercepting row inserts. * Changed insertQueryID usage
Changed queryInsertID method, so that pgconnection can be provided a custom sequence name for a table/id.
Fixed little bug in loop
Python 2.2 boolean fix (SF: 903488)
Deal with (questionable?) case where the destructor is called with a missing instance variable
Fixed error message
Allow non-SQL-safe column names (like '"binary"'). SF 826079
Note cascade keyword argument addition
Convert long ints properly
Typo (SF: 944684)
Updated fromDatabase for changes in col.py
Started TODO.txt; tested abnormal ID names with _fromDatabase
Added note about _idType
Allow sqlite:/:memory:
Oops, didn't need that test for :memory:
Got rid of some bad tabs; fixed other minor whitespace issues.
Make SQLite use TINYINT for boolean columns (not default of str)
Allow sqlType to override StringCol's default type
Don't try to expire objects if cacheValues=Values (SF 956847)
Test to look at SF 956839: destroySelf() doesn't work if cache=False
Notes
Fixed PG _fromDatabase primary key detection
Fixed some transaction bugs
Fixed test case that didn't clean up after itself
MySQL insert ID fix (from mailing list)
New FAQ about reloading modules
New classmethod createTableSQL()
Use FOREIGN KEY constraints even if cascade isn't explicitly given
Added CASCADE SET NULL option
Changed contraint name generation; since you may have two columns that are both keys to the same table, you shouldn't use foreign_table_name_exists as the constraint name, as it won't be unique. Instead we use col_name_exists.
Pay attention to joinMethodName keyword argument to joins
Added extra arguments that get passed to firebird connections
Fixed problem with fromPython validators
Force firebird's dialect connection option to be an integer
Fixed _queryInsertID
provide a better error message when having connection problems
Applied patch [ 974755 ] add connection parameters to all class methods in SQLObject
news for last patch
Updated version numbers to 0.6.1; added an announcement email template
typo
Applied patch for joinMethodName, from Cyril Elkaim, 09/01/04
* Added indexing * Documentation thereof * Maybe made ForeignKey naming more robust (keep track of the original name in .origName) * Added a .module attribute to connections * Small reorganization of tests
* Applied distinct patch * .count() cannot be used with distinct currently
Added a developer guide for the project
Small bug fixes
Some fixes for the .uri() connection function (that produces a URI).
Explicitly close all database connections (SF patch 1033807, though not directly applied).
Applied [ 1034254 ] selectBy patch for accepting object values
Fixed bug [ 1034304 ] count() failes on selectBy result
Fixed bug [ 1030094 ] Documentation uses incorrect classname. (typo)
The % in LIKE expressions is quoted in different ways on different databases. This uses \% for Postgres and MySQL, %% for other databases
A presentation I'm giving
Edits and visual updates
Small fix to coerceID
Better error message
Used repr() instead of sqlrepr(), reported by Oleg
Two small bugfixes from Oleg, allIDs() and tryGet()
tryGet() needs to check expiredCache as well
ClassRegistryTest: Error string for duplicate classes changed IndexTest1: Postgres raises ProgrammingError instead of IntegrityError, sometimes; just catches either now.
Was invalidly converting values to database representation, then putting them in the Python-representation attribute. Per email Re: [SQLObject] .set() fromPython
Typo in a comment (propagated to the docs)
Noted that SQLObject._init must be called, per Carlos Ribeiro's suggestion.
Removed
R
Undid mistaken commit. Stupid editor keeps saving my files when I intend to abort...
Removed dbm package from setup.py
* Took out references to DBMConnection * Added references to SybaseConnection and MaxdbConnection * A few other miscellaneous changes
Added Oleg.
Added a UnicodeCol
Combined 0.6.2 and 0.6.1; renamed 0.6.1 to News.txt
Shouldn't try to convert values to integers when testing them for truth -- they may not be coerceable at all, and it's debatable whether '0' should be false.
Got rid of tabs. Bad tabs!
Added a note about .selectBy
Noted _lazyUpdate
* Fixed snippet reference * Made build use cd instead of pushd/popd
Removed note that SQLite doesn't support transactions
Added docstring to top
Added docstrings to methods and module
Noted that MySQL does support transactions a little more clearly
Changed version numbers
Doesn't really apply anymore; historically relevant, but not current.
* Be a little more robust about closing a DBConnection instance, and closing all its direct connections * When there's no pooling (typically in a transaction) make sure you explicitly close connections that are released.
Handle case where datetime isn't defined (it will result in a NameError otherwise, as there's a test against DATETIME_IMPLEMENTATION which isn't defined if datetime isn't importable)
Clean up getConnection a little -- if we need to make a connection, don't put it in the pool just to take it out again.
Be careful when __del__ happens not to throw an exception
Make its __repr__ more robust (so it doesn't raise exceptions when a value is database-dependent)
* Add attributes like user, host, db to postgres connections, so that we can recreate the URI * Fixed an assert in dbconnection (NameError)
Noted what to do with Python keywords for columns
Refactored tests into py.test framework; included documentation about how to use the new tests.
Removed tests that are redundant with the new py.test tests
Added declarative and boundattributes, which will be the basis for the new SQLObject metaclass
Added note about SQLite
* Made dbconnection.DBConnection.uri() a bit more tollerant of missing attributes * Gave sqlite.SQLiteConnection a uri method, since it's not like the other databases.
Make the base style functional by adding a missing method
Minor change in method signature to make them more consistent
Added an unlimited-length text field for testing.
Create tables in correct order (for constraints)
Allow for a set of classes that need to be created; they are destroyed in reverse order. This is needed with constraints where one table depends on another.
More fixes to the tests to create/destroy classes in the right order.
Move the counting part into the class and out of the metaclass
Removed SQLObjectMeta and use DeclarativeMeta, with all the logic in __classinit__. __classinit__ looks almost exactly like DeclarativeMeta.__new__, except newClass renamed to cls and d to new_attrs
Added a sqlmeta buddy class/object, which will hold data in the very near future.
Don't print out as much debugging about the pool acquisition/release
Avoid tables with empty names
typo/bug
Started putting information into the sqlmeta class: * the table name * the ID name * the style
Be careful about sys.modules when generating an error (py.test doesn't put modules in sys.modules)
* Give some more explicit controls about how warnings and errors for deprecated features are given. * Export sqlmeta
Updated tests to use new style when applicable; added modules that test the backward compatible style when that occurred
Removed sqlmeta.finishClass method (merged with setClass)
Renamed Person class to InherPerson, so its name doesn't conflict with the name of the table in test_auto
Added a test for empty classes (classes with no columns)
Get the setupClass calls right so that it creates and destroys tables in the right order
Use proper setupClass() invocations
* Use new attributes * Be more careful about supports -- negation supports weren't working before (supports like '-dynamicColumns': 'dbs...')
Fix a bunch of small issues, like badly named attributes, and names that didn't exist.
Excersize the lazyColumns option
Explicitly test creation and dropping, including with ifExists and ifNotExists
* Replace cls._table with cls.sqlmeta.table * and cls._idName with cls.sqlmeta.idName * and cls._style with cls.sqlmeta.style * and make tests angry if old styles are used. Tests be very angry with old and deprecated styles, Hulk will smash bad tests!
Links in headers (typically backlinks to the ToC) won't be miscolored now (so the HTML doesn't have to be generated with special options)
Split SQLObject.txt into bite-sized chunks. These chunks will become documents in the Wiki.
Removed a redundant attribute
* Moved lazyUpdate to sqlmeta * Moved the checking-and-moving of deprecated attributes into a separate method (out of __classinit__)
Simplified the cleanDeprecatedAttrs method
Added test for the new softer inheritance requirements for sqlmeta
Moved defaultOrder into sqlmeta
Moved cacheValues into sqlmeta
Moved _registry into sqlmeta
Moved more attributes into sqlmeta, including attributes that are per-class and private (like _SO_columns); these get set in sqlmeta.setClass
* Allow keyword arguments to connectionForURI (and pass through from dbtest.getConnection) * Add callback to registry that is called for all classes * Wrappers added to dbconnection instances that create a psuedo-class that is bound to a connection
Give better error message when a class is not found
Two bugs: the class wasn't being tracked by the columns (!), and when creating foreign key constraints we weren't looking up the other class respecting its registry
Updated for changed private attribute name
Added ConnectionHub, an alternate way to set up connections on a process or thread basis. I'm not sure how to test it yet, except by providing a different implementation of setupClass which uses it (now commented out)
Moved threadinglocal into the util package
and deleting...
First go at a command-line client
Improve error and help messages slightly
Added status command
Fixed sys.path fixup
Added support for WSGIKit configuration files, including 'database' key and 'sys_path' key
Added a default connection, sqlhub; made _connection.style setting in __classinit__ catch the AttributeError that hubs can throw
Reverting commits I didn't mean to make
Added an execute command, for running arbitrary SQL
We shouldn't overwrite the connection hub if we don't have a viable alternative connection
Minor reformatting
Fixed typo
WSGIKit renamed to Paste
Since config file can have sys_path, load it up more aggressively; also use default config
Added DateTimeCol.now(), which calls either DateTime.now, or datetime.now
deleted inaccurate/old comment
Better handle older versions of SQLObject being installed
Fixes problem with per-instance connections and ConnectionHub
Added record command, to record the database status at a certain point in time
Better handling of case where no explicit ConnectionHub connection has been provided
Handle access from class (where obj is None, type is class)
doh, typo
Added better help messages; added upgrade command
Create database in wrong order
py.test was catching class named Test*
Use py.test conftest file to add a --Database option (instead of postgres)... more customization upcoming
Don't collect SQLObject Test* classes
Added test option to show SQL
If any classes must be dropped, they all must be dropped
Make sure all of a set of related classes are created/dropped in the right order
Added option to show query output
Make sure not to clear or drop a table that doesn't exist
Postgres raises a different exception than MySQL
Fixed duplicate name
Fixed (another) duplicate name
New method to retrieve db description with rows
Added some more tests of selectBy and stuff (that already passed anyway)
Fixed typo
Fixed typo
Added --edit option to record, so you can immediately create an upgrade script
Give a proper error message when using -f and paste.pyconfig cannot be found
Fixed cascade='null', which was cascading deletes, instead of setting columns to null
Note failing upgrade script filename
Moved idType to sqlmeta
Moved _fromDatabase into sqlmeta
Moved _expired into sqlmeta
changed to sqlmeta style
Moved _SO_perConnection to sqlmeta
Major refactoring to move soClass._columns and company into sqlmeta.
Simplied a couple things in SQLObject.__classinit__
Added docstring
Make columns keep their order of creation.
Added method for setting the deprecation level
Removed documents that have been put back into SQLObject.txt
A couple more redundant docs
Removed examples (which have been merged into SQLObject.txt)
Updated setup.py metadata a bit, moved to setuptools
Removed includes from examples
Finished transition back to single document
Added files and documents for building the entire site
Removed stuff that's better documented elsewhere now
Added link to ttcms
Made the print conditional
Fixed link
Fixed syntax
Added attempt at require()
Make installations from trunk use svn revision
Added a project
Moved to FormEncode for the validators; see DeveloperGuide for new installation process
FormEncode etc. update
Fix a couple links
Added a bunch of links
Made select results aggressively fetch objects, instead of lazily
use distutils for python2.2 with setup.py
Added preliminary document on sqlobject-admin
Moved SQLObject into more normal hierarchy
Moved repository
Allow None in an EnumCol (specific problems in Postgres)
Updated news for 0.7 release
Read .ini configuration files that use %(here)s and other variable substitution
Added note about _get_/_set_ and .select()
Changed description, classifiers a little
Changed options some; fixed some docstrings
New version for the next era; hurrah\!
Added a note or two
Proposed set of events
comment/todo
comment/todo
Filter should respect queries written as strings (which RelatedJoin also happens to use, and is necessary when using SQLRelatedJoin with .filter()). Also, ignore arguments of None, as this represents an empty query that should match anything (using the same semantics as .select())
Fixed svn url
added code to CommandCreate that collects data from sqlmeta.createSQL and runs the queries after table creation. createSQL can be a string with a single SQL command, a list of SQL commands, or a dictionary with keys that are dbNames and a single SQL command string or a list of SQL commands as strings.
added an example of using createSQL
added some test examples for createSQL that are not yet enabled, but are a useful reference.
added blurb about createSQL option for sqlmeta data.
moved createSQL code from manager/command.py:CommandCreate to extend the constraints returned in dbconnection.py:createTableSQL
Some changed names for the event signals, and a few signature changes. Also some routines using PyDispatcher for handling subclassing (and listening to classes and their subclasses); actual use of these events will come about in a later commit
Make sure SQLObject gets require()d before testing, so that any dependencies will also be loaded.
Instead of using the normal PyDispatcher package for events, I'm including PyDispatcher in the package directly.
New joins! ManyToMany and OneToMany; not fully documented yet, but still more sensible and smarter. Also (in main.py) call all the events promised in events.py.
Started event testing; fixed bug with inheriting listeners
Some more tests and a fix (last test is broken, but disabled)
Added tests for column adding events; fixed a bug with inheriting events (they weren't inherited immediately); added some debugging routines for events; added an option to py.test for debugging events
Make sure class name doesn't conflict with other tests
Small changes to __all__, and weak arg to listen
Fix doc string for pudge
Fixed typo
Removed inaccurate to-do (it got done)
Added .expireAll() methods to sqlmeta and connection objects, to expire all instances in those cases. Also added id key to asDict results
Moving documentation to new non-branching location
Bring in docs as svn:externals
Run all the constraints when setting up a class for a test
Update boundattributes, mostly trying to simplify it some; make declarative allow restricting the attributes you can set; change the new joins to use boundattributes
Move the attribute setup until later, so that some class fixups occur before __addtoclass__ is called
Added a clause attribute to ManyToMany and OneToMany join objects, which you can use in queries
Added test for last commit
Moved the .clause setting to a later stage when all classes have been resolved
Missed return in tryGet
test
test
Added WSGI middleware for configuring connections and running request in transaction
Spell disabled properly
Fixed problem with DecimalCol error message
Fixed problem with sqlite and threads; connections are no longer shared between threads for sqlite (except for :memory:)
Added a close option to .commit(), so you can close the transaction as you commit it
Make sure that sqlmeta always gets set to an instance when a SQLObject instance is created; sometimes they would be left as the class which is common to all SQLObject/subclass instances. This could potentially have caused a lot of problems.
Make sure that sqlmeta always gets set to an instance when a SQLObject instance is created; sometimes they would be left as the class which is common to all SQLObject/subclass instances. This could potentially have caused a lot of problems.
Added implementations of createReferenceConstraints for database backends besides postgres and sqlite. Which implies table creation was totally broken before this for all those backends :(
Applied SF [ 1385854 ] Fix myql support for foreign keys from Matthias Urlichs; plus some fixes for MySQL tests (but still have some test problems)
Applied SF [ 1417936 ] user unfriendly error message in manager.command / TG #459 from Maxim F. Ischenko
Applied SF [ 1421263 ] configurable client character set (encoding) for MySQL from Maxim F. Ischenko
Applied SF [ 1423877 ] createTable broken for mysql in 0.8dev from Rick Richardson
Applied SF [ 1423272 ] Events RowCreateSignal not really useful, added post-create from Rick Richardson
When using --no-db-record, don't look at the database at all
Bug from last commit (really all_diffs should be generated from the last recorded version, not from the database, but for now just punting on that)
Improve output from create command
merged 1760:1761 from 0.7-bugfix branch
merged r1804:1805 to trunk
Changed locations for devel docs; removed blog link
Don't publish the docstrings from the test modules
Fix RowUpdateSignal docstring
Put 0.8 docs at root
docstring formatting
added pudge command
Avoid the inheritance tests package when building docs
Ian Sparks (1):
Added support for firebird for Datetime and Date columns. Improved firebird support for enum columns.
Karl Chen (1):
fix import problems; use "import as" construct
Luke Opperman (7):
Merged branches/sqlbuilder-views+1 for sqbuilder/sresults unification, sresults.throughTo, sqlbuilder.ImportProxy, and views
Merged fixes from branches/cache-deps-on-views for sresults.throughTo and joins/instances as .q. expressions
Bug in SQLRelatedJoin not respecting _perConnection
SQLite apparently won't handle modifications outside of transaction when a transaction is running.
Docs update: re-read of the main SQLObject docs, new docs for SelectResults and Views.
Missed definition for lazyColumns, minor style changes.
.j attribute on SO classes, and sqlbuilder.SQLObjectTableWithJoins class for auto-constructing join expressions as 'cls.j.joinName' or 'cls.j.foreignKeyName'
Oleg Broytman (959):
Fixed a bug: only clear self.cache if doCache is True.
Fixed bugs in _LikeQuoted: added __add__ and __radd__ so its instances can be used in '%' + _LikeQuoted(value) + '%'.
Ignore *.pyo in addition to *.pyc.
Applied MySQL "DOUBLE PRECISION" patch and DATE type for sqlite from SF.
Separated main() to use it in other test modules. Used getopt to parse options and arguments.
Renamed tests/test.py to tests/test_sqlobject.py to allow import from it (and not from python test).
dbValue is never used in the snippet.
Test the server's version and adapt DROP TABLE (do not use CASCADE in version 7.2 or earlier).
Fixed a bug: replaced usage() with sys.exit() and an error message.
Removed separartion of attributes for plain setters from ._create() because .set() does this itself. Minor optimization in kw.items().
Convert dbValue back toPython.
2013 is the SERVER_LOST error.
Merged patch from revisions 435:437: lookup column names in self._SO_columnDict in addition to self.__class__.
Removed .set(driver='james') - we've decided to not allow non-columns keywords in .set().
Fixed tableExists(): use sqlrepr() to quote tableName; removed a comment.
Removed deadly broken dbm connection; updated docs.
Fixed a bug in UnicodeStringValidator: test if the value is None.
Fixed a bug with tables that do not have columns (only MultipleJoins, e.g.)
Updated the cache and converters tests for SQLObject 0.6.
Applied the law of Demeter: a class should not name (instantiate) another class directly - the other class must be a parameter. Now UnicodeCol and BoolClo instantiate their validators using self.validatorClass; to allow even better flexibility the validator is created in the createValidator() method.
Do not convert str in UnicodeStringValidator.fromPython(); do not convert unicode in UnicodeStringValidator.toPython().
Added IntValidator that tests if an IntCol got only int or long; raises TypeError if not.
Allowed sqlbuilder.SQLExpression and descendants in IntValidator.
Fixed a number of bugs in calls to fromPython/toPython/attemptConvert.
Raise InvalidField instead of TypeError.
Removed a test - IntCol now doesn't accept a string.
Changed IntValidator.toPython - it now calls int() to convert non-integer value.
Added date/time validators, converters and tests.
DateTime always has 'hour' - test for date by or in format.
A lot of minor improvements and bug fixes in date/time validators and tests. Added tests for MXDateTimeValidator.
Minor improvements in the date/time tests.
mxDateTime stores second as float - datetime wants an int.
Added BLOB column type (for PostgreSQL and MySQL), BinaryValidator and a test for them.
Fixed a bug in sqlStringReplace - MySQL and PostgreSQL use backslash to escape quotes.
Fixed incompatibility - in Python 2.2 issubclass allows only a class as a second argument.
Added PickleCol, PickleValidator and tests.
Added FloatValidator and a test for it.
PickleCol now has a parameter pickleProtocol. Default is 1 (binary) for compatibility with Python 2.2.
Fixed incompatibility with Python 2.2: used col.popKey() instead of kw.pop().
Fixed more incompatibility with Python 2.2: use string.find(), emulate sum() and enumerate() if they aren't available.
Fixed a bug in date/time validators: allow sqlbuilder.SQLExpression.
Do not convert None to Binary.
class SelectResults has been moved to sresults.py.
Inheritance patch!
Minor bugfixes for Python 2.2.
Do not pass parent's values to the child's _create() to avoid double UPDATEing of these values. Added 'inheritance' subpackage to setup.py.
Mentioned BLOBCol and PickleCol in section "Binary values".
Minor code cleanup - removed trailing spaces. Added connection parameter to method .delete().
Applied the patch from https://sourceforge.net/tracker/index.php?func=detail&aid=1104058&group_id=74338&atid=540674
Applied the patch from https://sourceforge.net/tracker/index.php?func=detail&aid=1040262&group_id=74338&atid=540672
Minor inheritance documentation update.
Started new section about SQLObject 0.7.0.
Fixed a bug in sqlite connection - allow in-memory database with sqlite:/:memory: URI. Added tests for _parseURI.
Fixed bugs in nherited byAlternateID() and selectBy(). Split _SO_fetchAlternateID() into _findAlternateID() overrided _findAlternateID() in InheritableSQLObject. Added more inheritance tests.
The patch simplified and made faster inherited _SO_fetchAlternateID (_findAlternateID, actually), but changed their signatures. Fixed a minor bug in cache.py expireAll().
_parseURI now splits host and port, if the host contains :port.
_parseURI() now translate paths from C|/path to C:/path on w32 platforms.
Fixed a bug with autocommit in sqlite.
Fixed bugs with passing port to MySQLdb.
Added min() and max() - patch by michelts <mic...@gm...>. Added avg() and tests.
InheritableSQLObject are now inheritable by default - one does not need to set _inheritable = True. Tests and documentation were updated.
Some statistical functions (MIN, AVG, MAX) may return fload result. Added tests for float functions.
Changed the way accumalte functions work. Now you can accumulate a list of functions at once: select.accumulate(*accumulateMany(("MIN", attribute), ("MAX", attribute))).
accumulateMany() usage is now even simpler: select.accumulateMany(*atributes).
Fixed bug https://sourceforge.net/tracker/index.php?func=detail&aid=1012150&group_id=74338&atid=540672. Foo.selectBy(column=None) now issues '... column IS NULL'.
... 974 lines suppressed ...
hooks/post-receive
--
SQLObject development repository
|