You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-dev@db.apache.org by to...@apache.org on 2006/01/01 21:24:08 UTC

svn commit: r360541 - /db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/JdbcModelReader.java

Author: tomdz
Date: Sun Jan  1 12:24:05 2006
New Revision: 360541

URL: http://svn.apache.org/viewcvs?rev=360541&view=rev
Log:
Added support for the sequence number/ordinal position in foreign keys/indices

Modified:
    db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/JdbcModelReader.java

Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/JdbcModelReader.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/JdbcModelReader.java?rev=360541&r1=360540&r2=360541&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/JdbcModelReader.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/JdbcModelReader.java Sun Jan  1 12:24:05 2006
@@ -810,25 +810,15 @@
             knownFks.put(fkName, fk);
         }
 
-        Reference ref      = new Reference();
-        int       position = ((Short)values.get("KEY_SEQ")).intValue() - 1;
+        Reference ref = new Reference();
 
         ref.setForeignColumnName((String)values.get("PKCOLUMN_NAME"));
         ref.setLocalColumnName((String)values.get("FKCOLUMN_NAME"));
-
-        if ((position < 0) || (position >= fk.getReferenceCount()))
-        {
-            while (fk.getReferenceCount() < position)
-            {
-                fk.addReference(null);
-            }
-            fk.addReference(ref);
-        }
-        else
+        if (values.containsKey("KEY_SEQ"))
         {
-            fk.addReference(position, ref);
-            fk.removeReference(position + 1);
+            ref.setSequenceValue(((Short)values.get("KEY_SEQ")).intValue());
         }
+        fk.addReference(ref);
     }
 
     /**
@@ -891,23 +881,14 @@
             knownIndices.put(indexName, index);
         }
 
-        IndexColumn ic       = new IndexColumn();
-        int         position = ((Short)values.get("ORDINAL_POSITION")).intValue() - 1;
+        IndexColumn indexColumn = new IndexColumn();
 
-        ic.setName((String)values.get("COLUMN_NAME"));
-        if ((position < 0) || (position >= index.getColumnCount()))
-        {
-            while (index.getColumnCount() < position)
-            {
-                index.addColumn(null);
-            }
-            index.addColumn(ic);
-        }
-        else
+        indexColumn.setName((String)values.get("COLUMN_NAME"));
+        if (values.containsKey("ORDINAL_POSITION"))
         {
-            index.addColumn(position, ic);
-            index.removeColumn(position + 1);
+            indexColumn.setOrdinalPosition(((Short)values.get("ORDINAL_POSITION")).intValue());
         }
+        index.addColumn(indexColumn);
     }
 
     /**