[SQL-CVS] r823 - trunk/SQLObject/sqlobject/firebird
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: <sub...@co...> - 2005-06-29 05:43:48
|
Author: phd Date: 2005-06-29 05:43:45 +0000 (Wed, 29 Jun 2005) New Revision: 823 Modified: trunk/SQLObject/sqlobject/firebird/firebirdconnection.py Log: Aplied autoCommit and queryIns patch from Kevin Dangoor <da...@gm...>. Modified: trunk/SQLObject/sqlobject/firebird/firebirdconnection.py =================================================================== --- trunk/SQLObject/sqlobject/firebird/firebirdconnection.py 2005-06-29 05:03:31 UTC (rev 822) +++ trunk/SQLObject/sqlobject/firebird/firebirdconnection.py 2005-06-29 05:43:45 UTC (rev 823) @@ -46,6 +46,8 @@ connectionFromURI = classmethod(connectionFromURI) def _runWithConnection(self, meth, *args): + if not self.autoCommit: + return DBAPI._runWithConnection(self, meth, args) conn = self.getConnection() # @@: Horrible auto-commit implementation. Just horrible! try: @@ -89,16 +91,17 @@ idName = soInstance.sqlmeta.idName sequenceName = getattr(soInstance, '_idSequence', 'GEN_%s' % table) + c = conn.cursor() if id is None: - row = self.queryOne('SELECT gen_id(%s,1) FROM rdb$database' + c.execute('SELECT gen_id(%s,1) FROM rdb$database' % sequenceName) - id = row[0] + id = c.fetchone()[0] names = [idName] + names values = [id] + values q = self._insertSQL(table, names, values) if self.debug: self.printDebug(conn, q, 'QueryIns') - self.query(q) + c.execute(q) if self.debugOutput: self.printDebug(conn, id, 'QueryIns', 'result') return id |