mirror of
https://github.com/postgres/postgres.git
synced 2025-05-11 05:41:32 +03:00
Jens Glaser found that getPrimaryKeys() had a table called test hardwired
into it.
This commit is contained in:
parent
cd68ecfef6
commit
8363e137aa
@ -2152,20 +2152,21 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData
|
|||||||
public java.sql.ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException
|
public java.sql.ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException
|
||||||
{
|
{
|
||||||
return connection.createStatement().executeQuery("SELECT " +
|
return connection.createStatement().executeQuery("SELECT " +
|
||||||
" '' as TABLE_CAT," +
|
"'' as TABLE_CAT," +
|
||||||
" '' AS TABLE_SCHEM," +
|
"'' AS TABLE_SCHEM," +
|
||||||
" bc.relname AS TABLE_NAME," +
|
"bc.relname AS TABLE_NAME," +
|
||||||
" a.attname AS COLUMN_NAME," +
|
"a.attname AS COLUMN_NAME," +
|
||||||
" a.attnum as KEY_SEQ," +
|
"a.attnum as KEY_SEQ,"+
|
||||||
" ic.relname as PK_NAME" +
|
"ic.relname as PK_NAME " +
|
||||||
" from pg_class bc, pg_class ic, pg_index i, pg_attribute a, pg_type t" +
|
" FROM pg_class bc, pg_class ic, pg_index i, pg_attribute a" +
|
||||||
" where bc.relkind = 'r'"+
|
" WHERE bc.relkind = 'r' " + // -- not indices
|
||||||
" and upper(bc.relname) = upper('test')" +
|
" and upper(bc.relname) = upper('"+table+"')" +
|
||||||
" and i.indrelid = bc.oid" +
|
" and i.indrelid = bc.oid" +
|
||||||
" and i.indexrelid = ic.oid and a.attrelid = ic.oid"+
|
" and i.indexrelid = ic.oid" +
|
||||||
" and i.indisprimary='t'"+
|
" and ic.oid = a.attrelid" +
|
||||||
" order by table_name, pk_name,key_seq;"
|
" and i.indisprimary='t' " +
|
||||||
);
|
" ORDER BY table_name, pk_name, key_seq"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2152,20 +2152,21 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData
|
|||||||
public java.sql.ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException
|
public java.sql.ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException
|
||||||
{
|
{
|
||||||
return connection.createStatement().executeQuery("SELECT " +
|
return connection.createStatement().executeQuery("SELECT " +
|
||||||
" '' as TABLE_CAT," +
|
"'' as TABLE_CAT," +
|
||||||
" '' AS TABLE_SCHEM," +
|
"'' AS TABLE_SCHEM," +
|
||||||
" bc.relname AS TABLE_NAME," +
|
"bc.relname AS TABLE_NAME," +
|
||||||
" a.attname AS COLUMN_NAME," +
|
"a.attname AS COLUMN_NAME," +
|
||||||
" a.attnum as KEY_SEQ," +
|
"a.attnum as KEY_SEQ,"+
|
||||||
" ic.relname as PK_NAME" +
|
"ic.relname as PK_NAME " +
|
||||||
" from pg_class bc, pg_class ic, pg_index i, pg_attribute a, pg_type t" +
|
" FROM pg_class bc, pg_class ic, pg_index i, pg_attribute a" +
|
||||||
" where bc.relkind = 'r'"+
|
" WHERE bc.relkind = 'r' " + // -- not indices
|
||||||
" and upper(bc.relname) = upper('test')" +
|
" and upper(bc.relname) = upper('"+table+"')" +
|
||||||
" and i.indrelid = bc.oid" +
|
" and i.indrelid = bc.oid" +
|
||||||
" and i.indexrelid = ic.oid and a.attrelid = ic.oid"+
|
" and i.indexrelid = ic.oid" +
|
||||||
" and i.indisprimary='t'"+
|
" and ic.oid = a.attrelid" +
|
||||||
" order by table_name, pk_name,key_seq;"
|
" and i.indisprimary='t' " +
|
||||||
);
|
" ORDER BY table_name, pk_name, key_seq"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user