commit-gnue
[Top][All Lists]
Advanced

[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)
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]