Author: phd
Date: 2006-09-26 08:36:15 -0600 (Tue, 26 Sep 2006)
New Revision: 1953
Modified:
home/phd/SQLObject/paramstyles/sqlobject/col.py
home/phd/SQLObject/paramstyles/sqlobject/dbconnection.py
home/phd/SQLObject/paramstyles/sqlobject/main.py
home/phd/SQLObject/paramstyles/sqlobject/sqlite/sqliteconnection.py
Log:
Merged patches from the revisions 1947:1952 from the trunk
Modified: home/phd/SQLObject/paramstyles/sqlobject/col.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/col.py 2006-09-26 14:30:17 UTC (rev 1952)
+++ home/phd/SQLObject/paramstyles/sqlobject/col.py 2006-09-26 14:36:15 UTC (rev 1953)
@@ -1253,9 +1253,9 @@
if value is None:
return None
if isinstance(value, str):
- module = state.soObject._connection.module
- if module.__name__ in ("sqlite", "pysqlite2.dbapi2"):
- value = module.decode(value)
+ connection = state.soObject._connection
+ if connection.dbName == "sqlite":
+ value = connection.module.decode(value)
return value
if isinstance(value, (buffer_type, state.soObject._connection._binaryType)):
cachedValue = self._cachedValue
Modified: home/phd/SQLObject/paramstyles/sqlobject/dbconnection.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/dbconnection.py 2006-09-26 14:30:17 UTC (rev 1952)
+++ home/phd/SQLObject/paramstyles/sqlobject/dbconnection.py 2006-09-26 14:36:15 UTC (rev 1953)
@@ -520,6 +520,9 @@
#assert ops.get('orderBy'), "Getting a slice of an unordered set is unpredictable!"
q = self._queryAddLimitOffset(q, start, end)
+ if ops.get('forUpdate'):
+ q += " FOR UPDATE";
+
return q
def _SO_createJoinTable(self, join):
Modified: home/phd/SQLObject/paramstyles/sqlobject/main.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/main.py 2006-09-26 14:30:17 UTC (rev 1952)
+++ home/phd/SQLObject/paramstyles/sqlobject/main.py 2006-09-26 14:36:15 UTC (rev 1953)
@@ -1319,7 +1319,7 @@
orderBy=NoDefault, limit=None,
lazyColumns=False, reversed=False,
distinct=False, connection=None,
- join=None):
+ join=None, forUpdate=False):
return cls.SelectResultsClass(cls, clause,
clauseTables=clauseTables,
orderBy=orderBy,
@@ -1328,7 +1328,7 @@
reversed=reversed,
distinct=distinct,
connection=connection,
- join=join)
+ join=join, forUpdate=forUpdate)
select = classmethod(select)
def selectBy(cls, connection=None, **kw):
Modified: home/phd/SQLObject/paramstyles/sqlobject/sqlite/sqliteconnection.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/sqlite/sqliteconnection.py 2006-09-26 14:30:17 UTC (rev 1952)
+++ home/phd/SQLObject/paramstyles/sqlobject/sqlite/sqliteconnection.py 2006-09-26 14:36:15 UTC (rev 1953)
@@ -17,11 +17,15 @@
global using_sqlite2
if sqlite is None:
try:
- from pysqlite2 import dbapi2 as sqlite
+ import sqlite3 as sqlite
using_sqlite2 = True
except ImportError:
- import sqlite
- using_sqlite2 = False
+ try:
+ from pysqlite2 import dbapi2 as sqlite
+ using_sqlite2 = True
+ except ImportError:
+ import sqlite
+ using_sqlite2 = False
self.module = sqlite
self.filename = filename # full path to sqlite-db-file
self._memory = filename == ':memory:'
|