[prev in list] [next in list] [prev in thread] [next in thread] 

List:       monetdb-checkins
Subject:    monetdb-java: default - Added full ordering to correct issues wh...
From:       Martin van Dinther <commits+martin.van.dinther=monetdbsolutions.com () monetdb ! org>
Date:       2021-01-28 20:59:44
Message-ID: hg.163b784aa93b.1611867584.-8529207749000363243 () monetdb-vm0 ! spin-off ! cwi ! nl
[Download RAW message or body]

Changeset: 163b784aa93b for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=163b784aa93b
Modified Files:
	ChangeLog
	src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
Branch: default
Log Message:

Added full ordering to correct issues when retrieving columns from fks where a table \
has multiple fks to the same table.


diffs (53 lines):

diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,13 @@
 # This file is updated with Maddlog
 
 * Thu Jan 28 2021 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
+- Corrected the ordering of the output of DatabaseMetaData methods
+  getImportedKeys(), getExportedKeys() and getCrossReference(). In cases
+  where a table would have multiple fks to the same external table,
+  the output was not as expected. This has been corrected, so the columns
+  now appear in the order as defined in the creation of the fks.
+
+* Thu Jan 28 2021 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
 - The dumping of table definitions from JdbcClient program has been
   improved. It now includes the ON UPDATE and ON DELETE rules for foreign
   key constraints. Also it no longer generates CREATE INDEX statements
diff --git a/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java \
                b/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
--- a/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
+++ b/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
@@ -2696,7 +2696,9 @@ public class MonetDatabaseMetaData
 			}
 		}
 
-		query.append(" ORDER BY \"PKTABLE_SCHEM\", \"PKTABLE_NAME\", \"PK_NAME\", \
\"KEY_SEQ\""); +		// Note: the extra \"FKTABLE_SCHEM\", \"FKTABLE_NAME\", \"FK_NAME\" \
in the ordering is important +		// else we do not get the correct column order when \
multiple fks exist to the same pk in 1 table or query multiple tables. \
+		query.append(" ORDER BY \"PKTABLE_SCHEM\", \"PKTABLE_NAME\", \"PK_NAME\", \
\"FKTABLE_SCHEM\", \"FKTABLE_NAME\", \"FK_NAME\", \"KEY_SEQ\"");  
 		return executeMetaDataQuery(query.toString());
 	}
@@ -2779,7 +2781,9 @@ public class MonetDatabaseMetaData
 			}
 		}
 
-		query.append(" ORDER BY \"FKTABLE_SCHEM\", \"FKTABLE_NAME\", \"FK_NAME\", \
\"KEY_SEQ\""); +		// Note: the extra \"PKTABLE_SCHEM\", \"PKTABLE_NAME\", \"PK_NAME\" \
in the ordering is important +		// else we do not get the correct column order when \
multiple fks exist to the same pk in 1 table or query multiple tables. \
+		query.append(" ORDER BY \"FKTABLE_SCHEM\", \"FKTABLE_NAME\", \"FK_NAME\", \
\"PKTABLE_SCHEM\", \"PKTABLE_NAME\", \"PK_NAME\", \"KEY_SEQ\"");  
 		return executeMetaDataQuery(query.toString());
 	}
@@ -2880,7 +2884,9 @@ public class MonetDatabaseMetaData
 			}
 		}
 
-		query.append(" ORDER BY \"FKTABLE_SCHEM\", \"FKTABLE_NAME\", \"FK_NAME\", \
\"KEY_SEQ\""); +		// Note: the extra \"PKTABLE_SCHEM\", \"PKTABLE_NAME\", \"PK_NAME\" \
in the ordering is important +		// else we do not get the correct column order when \
multiple fks exist to the same pk in 1 table or query multiple tables. \
+		query.append(" ORDER BY \"FKTABLE_SCHEM\", \"FKTABLE_NAME\", \"FK_NAME\", \
\"PKTABLE_SCHEM\", \"PKTABLE_NAME\", \"PK_NAME\", \"KEY_SEQ\"");  
 		return executeMetaDataQuery(query.toString());
 	}
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic