Author: phd
Date: 2006-01-26 09:24:27 -0700 (Thu, 26 Jan 2006)
New Revision: 1540
Modified:
home/phd/SQLObject/paramstyles/sqlobject/dbconnection.py
home/phd/SQLObject/paramstyles/sqlobject/main.py
home/phd/SQLObject/paramstyles/sqlobject/tests/test_boundattributes.py
home/phd/SQLObject/paramstyles/sqlobject/tests/test_foreignKey.py
home/phd/SQLObject/paramstyles/sqlobject/tests/test_index_get.py
home/phd/SQLObject/paramstyles/sqlobject/tests/test_paste.py
home/phd/SQLObject/paramstyles/sqlobject/tests/test_picklecol.py
home/phd/SQLObject/paramstyles/sqlobject/wsgi_middleware.py
Log:
Merged patches from the revisions 1534:1539 from the trunk
Modified: home/phd/SQLObject/paramstyles/sqlobject/dbconnection.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/dbconnection.py 2006-01-26 05:48:59 UTC (rev 1539)
+++ home/phd/SQLObject/paramstyles/sqlobject/dbconnection.py 2006-01-26 16:24:27 UTC (rev 1540)
@@ -827,13 +827,15 @@
return iter(list(select.IterationClass(self, self._connection,
select, keepConnection=True)))
- def commit(self):
+ def commit(self, close=False):
if self._obsolete:
# @@: is it okay to get extraneous commits?
return
if self._dbConnection.debug:
self._dbConnection.printDebug(self._connection, '', 'COMMIT')
self._connection.commit()
+ if close:
+ self._makeObsolete()
def rollback(self):
if self._obsolete:
Modified: home/phd/SQLObject/paramstyles/sqlobject/main.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/main.py 2006-01-26 05:48:59 UTC (rev 1539)
+++ home/phd/SQLObject/paramstyles/sqlobject/main.py 2006-01-26 16:24:27 UTC (rev 1540)
@@ -944,10 +944,6 @@
# created, unlike __init__ which would be called
# anytime the object was returned from cache.
self.id = id
- # We shadow the sqlmeta class with an instance of sqlmeta
- # that points to us (our sqlmeta buddy object; where the
- # sqlmeta class is our class's buddy class)
- self.sqlmeta = self.__class__.sqlmeta(self)
self._SO_writeLock = threading.Lock()
# If no connection was given, we'll inherit the class
@@ -1193,6 +1189,10 @@
return joinClass.get(id)
def __init__(self, **kw):
+ # We shadow the sqlmeta class with an instance of sqlmeta
+ # that points to us (our sqlmeta buddy object; where the
+ # sqlmeta class is our class's buddy class)
+ self.sqlmeta = self.__class__.sqlmeta(self)
# The get() classmethod/constructor uses a magic keyword
# argument when it wants an empty object, fetched from the
# database. So we have nothing more to do in that case:
Modified: home/phd/SQLObject/paramstyles/sqlobject/tests/test_boundattributes.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/tests/test_boundattributes.py 2006-01-26 05:48:59 UTC (rev 1539)
+++ home/phd/SQLObject/paramstyles/sqlobject/tests/test_boundattributes.py 2006-01-26 16:24:27 UTC (rev 1540)
@@ -1,10 +1,13 @@
from sqlobject import declarative
from sqlobject import boundattributes
+disabled = True
+
class TestMe(object):
- __metaclass__ = declarative.DeclarativeMeta
- __classinit__ = boundattributes.bind_attributes_local
+ #__metaclass__ = declarative.DeclarativeMeta
+ #__classinit__ = boundattributes.bind_attributes_local
+ pass
class AttrReplace(boundattributes.BoundAttribute):
Modified: home/phd/SQLObject/paramstyles/sqlobject/tests/test_foreignKey.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/tests/test_foreignKey.py 2006-01-26 05:48:59 UTC (rev 1539)
+++ home/phd/SQLObject/paramstyles/sqlobject/tests/test_foreignKey.py 2006-01-26 16:24:27 UTC (rev 1540)
@@ -35,5 +35,5 @@
assert s[0]==w2
def test2():
- setupClass([TestComposerKey, TestWorkKey2])
+ setupClass([TestComposerKey, TestWorkKey2], force=True)
TestWorkKey2.sqlmeta.addColumn(ForeignKey('TestComposerKey'), changeSchema=True)
Modified: home/phd/SQLObject/paramstyles/sqlobject/tests/test_index_get.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/tests/test_index_get.py 2006-01-26 05:48:59 UTC (rev 1539)
+++ home/phd/SQLObject/paramstyles/sqlobject/tests/test_index_get.py 2006-01-26 16:24:27 UTC (rev 1540)
@@ -8,7 +8,7 @@
nameIndex = DatabaseIndex(firstName, lastName, unique=True)
def test_1():
- setupClass(PersonIndexGet)
+ setupClass(PersonIndexGet, force=True)
PersonIndexGet(firstName='Eric', lastName='Idle', age=62)
PersonIndexGet(firstName='Terry', lastName='Gilliam', age=65)
Modified: home/phd/SQLObject/paramstyles/sqlobject/tests/test_paste.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/tests/test_paste.py 2006-01-26 05:48:59 UTC (rev 1539)
+++ home/phd/SQLObject/paramstyles/sqlobject/tests/test_paste.py 2006-01-26 16:24:27 UTC (rev 1540)
@@ -43,6 +43,7 @@
def setup():
setupClass(NameOnly)
+ getConnection().query('DELETE FROM name_only')
NameOnly._connection = sqlhub
def names():
@@ -66,6 +67,11 @@
assert runapp(fail=False, begin=True, use_transaction=True)
assert names() == ['app1', 'app2']
setup()
+ # @@: Dammit, I can't get these to pass because I can't get the
+ # stupid table to clear itself. setupClass() sucks. When I
+ # fix it I'll take this disabling out:
+ return
+ assert names() == []
assert runapp(fail=False, begin=True, abort=True, use_transaction=True)
assert names() == ['app1']
setup()
Modified: home/phd/SQLObject/paramstyles/sqlobject/tests/test_picklecol.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/tests/test_picklecol.py 2006-01-26 05:48:59 UTC (rev 1539)
+++ home/phd/SQLObject/paramstyles/sqlobject/tests/test_picklecol.py 2006-01-26 16:24:27 UTC (rev 1540)
@@ -15,7 +15,7 @@
pickledata = PickleCol(default=None, length=65535)
def test_pickleCol():
- setupClass(PickleContainer)
+ setupClass([PickleContainer], force=True)
mypickledata = PickleData()
ctnr = PickleContainer(pickledata=mypickledata)
Modified: home/phd/SQLObject/paramstyles/sqlobject/wsgi_middleware.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/wsgi_middleware.py 2006-01-26 05:48:59 UTC (rev 1539)
+++ home/phd/SQLObject/paramstyles/sqlobject/wsgi_middleware.py 2006-01-26 16:24:27 UTC (rev 1540)
@@ -82,7 +82,7 @@
if any_errors:
conn[0].rollback()
else:
- conn[0].commit()
+ conn[0].commit(close=True)
self.hub.threadConnection = None
def in_transaction():
return use_transaction[0]
|