JDBC Driver Database Meta Data - FK_NAME - Mailing list pgsql-patches
| From | Kris Jurka |
|---|---|
| Subject | JDBC Driver Database Meta Data - FK_NAME |
| Date | |
| Msg-id | 3D7D0239.2040700@ejurka.com Whole thread Raw |
| List | pgsql-patches |
For the FK_NAME field in various DatabaseMetaData methods that rely on
getImportedExportedKeys use the actual constraint name (tgconstrname)
not the trigger arguments (tgargs).
Update the DatabaseMetaDataTest because 7.3 returns $n instead of
<unnamed> for unnamed constraints.
Also add a missing drop table in UpdateableResultTest.
Kris Jurka
Index: src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java,v
retrieving revision 1.13
diff -c -r1.13 DatabaseMetaDataTest.java
*** src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java 2002/09/06 21:23:06 1.13
--- src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java 2002/09/09 20:05:19
***************
*** 264,270 ****
assertTrue( fkColumnName.equals( "m" ) || fkColumnName.equals( "n" ) ) ;
String fkName = rs.getString( "FK_NAME" );
! assertTrue( fkName.equals( "<unnamed>") );
String pkName = rs.getString( "PK_NAME" );
assertTrue( pkName.equals("vv_pkey") );
--- 264,274 ----
assertTrue( fkColumnName.equals( "m" ) || fkColumnName.equals( "n" ) ) ;
String fkName = rs.getString( "FK_NAME" );
! if (((org.postgresql.jdbc1.AbstractJdbc1Connection)con1).haveMinimumServerVersion("7.3")) {
! assertTrue(fkName.equals("$1"));
! } else {
! assertTrue( fkName.equals( "<unnamed>") );
! }
String pkName = rs.getString( "PK_NAME" );
assertTrue( pkName.equals("vv_pkey") );
Index: src/interfaces/jdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java,v
retrieving revision 1.6
diff -c -r1.6 UpdateableResultTest.java
*** src/interfaces/jdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java 2002/09/06 21:23:06 1.6
--- src/interfaces/jdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java 2002/09/09 20:05:19
***************
*** 124,129 ****
--- 124,130 ----
st.close();
TestUtil.dropTable( con, "updateable" );
+ TestUtil.dropTable( con, "second" );
TestUtil.closeDB( con );
}
catch (Exception ex)
Index: src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java,v
retrieving revision 1.5
diff -c -r1.5 AbstractJdbc1DatabaseMetaData.java
*** src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java 2002/09/08 00:15:28 1.5
--- src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java 2002/09/09 20:05:20
***************
*** 2630,2636 ****
tuple[2] = rs.getBytes(1); //PKTABLE_NAME
tuple[6] = rs.getBytes(2); //FKTABLE_NAME
- String fKeyName = rs.getString(3);
String updateRule = rs.getString(10);
if (updateRule != null )
--- 2630,2635 ----
***************
*** 2712,2718 ****
tuple[7] = fkeyColumn.getBytes(); //FKCOLUMN_NAME
tuple[8] = rs.getBytes(4); //KEY_SEQ
! tuple[11] = targs.getBytes(); //FK_NAME this will give us a unique name for the foreign key
tuple[12] = rs.getBytes(5); //PK_NAME
// DEFERRABILITY
--- 2711,2717 ----
tuple[7] = fkeyColumn.getBytes(); //FKCOLUMN_NAME
tuple[8] = rs.getBytes(4); //KEY_SEQ
! tuple[11] = rs.getBytes(3); //FK_NAME
tuple[12] = rs.getBytes(5); //PK_NAME
// DEFERRABILITY
pgsql-patches by date: