[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r7565 - in trunk/gnue-common/src/datasources/drivers/postgresql:
From: |
johannes |
Subject: |
[gnue] r7565 - in trunk/gnue-common/src/datasources/drivers/postgresql: . Base |
Date: |
Wed, 1 Jun 2005 08:39:17 -0500 (CDT) |
Author: johannes
Date: 2005-06-01 08:39:16 -0500 (Wed, 01 Jun 2005)
New Revision: 7565
Modified:
trunk/gnue-common/src/datasources/drivers/postgresql/Base/Connection.py
trunk/gnue-common/src/datasources/drivers/postgresql/Behavior.py
Log:
Fixed constraint-introspection for pypgsql
Modified:
trunk/gnue-common/src/datasources/drivers/postgresql/Base/Connection.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/postgresql/Base/Connection.py
2005-06-01 13:30:42 UTC (rev 7564)
+++ trunk/gnue-common/src/datasources/drivers/postgresql/Base/Connection.py
2005-06-01 13:39:16 UTC (rev 7565)
@@ -25,7 +25,6 @@
from gnue.common.datasources.drivers import DBSIG2
from gnue.common.datasources.drivers.postgresql.Schema.Creation.Creation
import Creation
-from gnue.common.datasources.drivers.postgresql.Schema.Discovery.Introspection
import Introspection
from gnue.common.datasources.drivers.postgresql import Behavior
@@ -39,7 +38,6 @@
Generic Connection class for PostgreSQL databases.
"""
- defaultBehavior = Introspection
defaultCreator = Creation
_rowidField = 'oid'
Modified: trunk/gnue-common/src/datasources/drivers/postgresql/Behavior.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/postgresql/Behavior.py
2005-06-01 13:30:42 UTC (rev 7564)
+++ trunk/gnue-common/src/datasources/drivers/postgresql/Behavior.py
2005-06-01 13:39:16 UTC (rev 7565)
@@ -288,12 +288,22 @@
constr = GSchema.GSConstraint (parent, name = name, type =
'foreignkey')
+ if isinstance (key, basestring):
+ keyparts = [int (i) - 1 for i in key [1:-1].split (',')]
+ else:
+ keyparts = [int (item) - 1 for item in key]
+
+ if isinstance (fkey, basestring):
+ fkeyparts = [int (i) - 1 for i in fkey [1:-1].split (',')]
+ else:
+ fkeyparts = [int (item) - 1 for item in fkey]
+
keyfields = table.findChildrenOfType ('GSField', False, True)
- for ix in [int (i) - 1 for i in key [1:-1].split (',')]:
+ for ix in keyparts:
GSchema.GSConstraintField (constr, name = keyfields [ix].name)
fkfields = fktable.findChildrenOfType ('GSField', False, True)
- for ix in [int (i) - 1 for i in fkey [1:-1].split (',')]:
+ for ix in fkeyparts:
GSchema.GSConstraintRef (constr, name = fkfields [ix].name,
table = fktable.name)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r7565 - in trunk/gnue-common/src/datasources/drivers/postgresql: . Base,
johannes <=