Author: ianb
Date: 2004-07-29 09:18:53 -0400 (Thu, 29 Jul 2004)
New Revision: 167
Modified:
trunk/SQLObject/sqlobject/dbconnection.py
trunk/SQLObject/sqlobject/firebird/firebirdconnection.py
trunk/SQLObject/sqlobject/maxdb/maxdbconnection.py
trunk/SQLObject/sqlobject/mysql/mysqlconnection.py
trunk/SQLObject/sqlobject/postgres/pgconnection.py
trunk/SQLObject/sqlobject/sqlite/sqliteconnection.py
trunk/SQLObject/sqlobject/sybase/sybaseconnection.py
Log:
Changed queryInsertID method, so that pgconnection can be
provided a custom sequence name for a table/id.
Modified: trunk/SQLObject/sqlobject/dbconnection.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/SQLObject/sqlobject/dbconnection.py 2004-07-29 13:18:02 UTC (re=
v 166)
+++ trunk/SQLObject/sqlobject/dbconnection.py 2004-07-29 13:18:53 UTC (re=
v 167)
@@ -229,8 +229,8 @@
def transaction(self):
return Transaction(self)
=20
- def queryInsertID(self, table, idName, id, names, values):
- return self._runWithConnection(self._queryInsertID, table, idNam=
e, id, names, values)
+ def queryInsertID(self, soInstance, id, names, values):
+ return self._runWithConnection(self._queryInsertID, soInstance, =
id, names, values)
=20
def iterSelect(self, select):
return Iteration(self, self.getConnection(),
@@ -485,10 +485,10 @@
self.assertActive()
return self._dbConnection._queryOne(self._connection, s)
=20
- def queryInsertID(self, table, idName, id, names, values):
+ def queryInsertID(self, soInstance, id, names, values):
self.assertActive()
return self._dbConnection._queryInsertID(
- self._connection, table, idName, id, names, values)
+ self._connection, soInstance, id, names, values)
=20
def iterSelect(self, select):
self.assertActive()
Modified: trunk/SQLObject/sqlobject/firebird/firebirdconnection.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/SQLObject/sqlobject/firebird/firebirdconnection.py 2004-07-29 1=
3:18:02 UTC (rev 166)
+++ trunk/SQLObject/sqlobject/firebird/firebirdconnection.py 2004-07-29 1=
3:18:53 UTC (rev 167)
@@ -70,10 +70,13 @@
"""Firebird uses 'generators' to create new ids for a table.
The users needs to create a generator named GEN_<tablename>
for each table this method to work."""
-
+ table =3D soInstance._table
+ idName =3D soInstance._idName
+ sequenceName =3D getattr(soInstance, '_idSequence',
+ 'GEN_%s' % table)
if id is None:
- row =3D self.queryOne('SELECT gen_id(GEN_%s,1) FROM rdb$data=
base'
- % table)
+ row =3D self.queryOne('SELECT gen_id(%s,1) FROM rdb$database=
'
+ % sequenceName)
id =3D row[0]
names =3D [idName] + names
values =3D [id] + values
Modified: trunk/SQLObject/sqlobject/maxdb/maxdbconnection.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/SQLObject/sqlobject/maxdb/maxdbconnection.py 2004-07-29 13:18:0=
2 UTC (rev 166)
+++ trunk/SQLObject/sqlobject/maxdb/maxdbconnection.py 2004-07-29 13:18:5=
3 UTC (rev 167)
@@ -106,7 +106,9 @@
conn =3D dbapi.Connection(self.user, self.password, self.database, se=
lf.host,**self._getConfigParams(self.sqlmode,self.autoCommit) )
return conn
=09
- def _queryInsertID(self, conn, table, idName, id, names, values):
+ def _queryInsertID(self, conn, soInstance, id, names, values):
+ table =3D soInstance._table
+ idName =3D soInstance._idName
c =3D conn.cursor()
if id is None:
c.execute('SELECT %s.NEXTVAL FROM DUAL' % (self.createSequenceName(ta=
ble)))
@@ -274,4 +276,4 @@
return CurrencyCol,{'size':flength,
'precision':fscale}
else:
- return col.Col, {}
\ No newline at end of file
+ return col.Col, {}
Modified: trunk/SQLObject/sqlobject/mysql/mysqlconnection.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/SQLObject/sqlobject/mysql/mysqlconnection.py 2004-07-29 13:18:0=
2 UTC (rev 166)
+++ trunk/SQLObject/sqlobject/mysql/mysqlconnection.py 2004-07-29 13:18:5=
3 UTC (rev 167)
@@ -40,7 +40,9 @@
else:
raise
=20
- def _queryInsertID(self, conn, table, idName, id, names, values):
+ def _queryInsertID(self, conn, soInstance, id, names, values):
+ table =3D soInstance._table
+ idName =3D soInstance._idName
c =3D conn.cursor()
if id is not None:
names =3D [idName] + names
Modified: trunk/SQLObject/sqlobject/postgres/pgconnection.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/SQLObject/sqlobject/postgres/pgconnection.py 2004-07-29 13:18:0=
2 UTC (rev 166)
+++ trunk/SQLObject/sqlobject/postgres/pgconnection.py 2004-07-29 13:18:5=
3 UTC (rev 167)
@@ -56,10 +56,14 @@
conn.autocommit(1)
return conn
=20
- def _queryInsertID(self, conn, table, idName, id, names, values):
+ def _queryInsertID(self, conn, soInstance, id, names, values):
+ table =3D soInstance._table
+ idName =3D soInstance._idName
+ sequenceName =3D getattr(soInstance, '_idSequence',
+ '%s_%s_seq' % (table, idName))
c =3D conn.cursor()
if id is None:
- c.execute("SELECT NEXTVAL('%s_%s_seq')" % (table, idName))
+ c.execute("SELECT NEXTVAL('%s')" % sequenceName)
id =3D c.fetchone()[0]
names =3D [idName] + names
values =3D [id] + values
Modified: trunk/SQLObject/sqlobject/sqlite/sqliteconnection.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/SQLObject/sqlobject/sqlite/sqliteconnection.py 2004-07-29 13:18=
:02 UTC (rev 166)
+++ trunk/SQLObject/sqlobject/sqlite/sqliteconnection.py 2004-07-29 13:18=
:53 UTC (rev 167)
@@ -33,7 +33,9 @@
def makeConnection(self):
return self._conn
=20
- def _queryInsertID(self, conn, table, idName, id, names, values):
+ def _queryInsertID(self, conn, soInstance, id, names, values):
+ table =3D soInstance._table
+ idName =3D soInstance._idName
c =3D conn.cursor()
if id is not None:
names =3D [idName] + names
Modified: trunk/SQLObject/sqlobject/sybase/sybaseconnection.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/SQLObject/sqlobject/sybase/sybaseconnection.py 2004-07-29 13:18=
:02 UTC (rev 166)
+++ trunk/SQLObject/sqlobject/sybase/sybaseconnection.py 2004-07-29 13:18=
:53 UTC (rev 167)
@@ -67,7 +67,9 @@
r =3D c.fetchone()
return r is not None
=20
- def _queryInsertID(self, conn, table, idName, id, names, values):
+ def _queryInsertID(self, conn, soInstance, id, names, values):
+ table =3D soInstance._table
+ idName =3D soInstance._idName
c =3D conn.cursor()
if id is not None:
names =3D [idName] + names
|