dabo Commit
Revision 3324
Date: 2007-08-23 05:38:18 -0700 (Thu, 23 Aug 2007)
Author: Ed
Trac: http://svn.dabodev.com/trac/dabo/changeset/3324

Changed:
U   trunk/dabo/db/dbFirebird.py

Log:
Changed the SQL used to get the PK of a table to the code suggested by Uwe 
Grauer.


Diff:
Modified: trunk/dabo/db/dbFirebird.py
===================================================================
--- trunk/dabo/db/dbFirebird.py 2007-08-23 01:07:43 UTC (rev 3323)
+++ trunk/dabo/db/dbFirebird.py 2007-08-23 12:38:18 UTC (rev 3324)
@@ -116,11 +116,18 @@
 
        def getFields(self, tableName, cursor):
                # Get the PK
-               sql = """ select inseg.rdb$field_name
-               from rdb$indices idxs join rdb$index_segments inseg
-                       on idxs.rdb$index_name = inseg.rdb$index_name
-                       where idxs.rdb$relation_name = '%s'
-       and idxs.rdb$unique_flag = 1 """ % tableName.upper()
+### The SQL for the PK changed by Uwe Grauer 2007.08.23
+#              sql = """ select inseg.rdb$field_name
+#              from rdb$indices idxs join rdb$index_segments inseg
+#                      on idxs.rdb$index_name = inseg.rdb$index_name
+#                      where idxs.rdb$relation_name = '%s'
+#      and idxs.rdb$unique_flag = 1 """ % tableName.upper()
+               sql = """ SELECT S.RDB$FIELD_NAME AS COLUMN_NAME
+               FROM RDB$RELATION_CONSTRAINTS RC
+                       LEFT JOIN RDB$INDICES I ON (I.RDB$INDEX_NAME = 
RC.RDB$INDEX_NAME)
+                       LEFT JOIN RDB$INDEX_SEGMENTS S ON (S.RDB$INDEX_NAME = 
I.RDB$INDEX_NAME)
+               WHERE (RC.RDB$CONSTRAINT_TYPE = 'PRIMARY KEY')
+               AND (I.RDB$RELATION_NAME = '%s') """ % tableName.upper()
                cursor.execute(sql)
                rs = cursor.getDataSet(rows=1)
                try:




_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: http://leafe.com/archives/byMID/dabo-dev/[EMAIL PROTECTED]

Reply via email to