提交 4832cdea authored 作者: Thomas Mueller's avatar Thomas Mueller

DatabaseMetaData.getCrossReference now also lists the name of the primary index (PK_NAME).

上级 48bce83f
...@@ -1334,7 +1334,7 @@ public class MetaTable extends Table { ...@@ -1334,7 +1334,7 @@ public class MetaTable extends Table {
// FK_NAME // FK_NAME
identifier(ref.getName()), identifier(ref.getName()),
// PK_NAME // PK_NAME
null, identifier(ref.getUniqueIndex().getName()),
// DEFERRABILITY // DEFERRABILITY
"" + DatabaseMetaData.importedKeyNotDeferrable "" + DatabaseMetaData.importedKeyNotDeferrable
); );
......
...@@ -366,10 +366,10 @@ public class TestMetaData extends TestBase { ...@@ -366,10 +366,10 @@ public class TestMetaData extends TestBase {
assertResultSetOrdered(rs, new String[][] { assertResultSetOrdered(rs, new String[][] {
{ catalog, Constants.SCHEMA_MAIN, "PARENT", "A", catalog, Constants.SCHEMA_MAIN, "CHILD", "PA", "1", { catalog, Constants.SCHEMA_MAIN, "PARENT", "A", catalog, Constants.SCHEMA_MAIN, "CHILD", "PA", "1",
"" + DatabaseMetaData.importedKeyRestrict, "" + DatabaseMetaData.importedKeyRestrict, "AB", "" + DatabaseMetaData.importedKeyRestrict, "" + DatabaseMetaData.importedKeyRestrict, "AB",
null, "" + DatabaseMetaData.importedKeyNotDeferrable }, "PRIMARY_KEY_8", "" + DatabaseMetaData.importedKeyNotDeferrable },
{ catalog, Constants.SCHEMA_MAIN, "PARENT", "B", catalog, Constants.SCHEMA_MAIN, "CHILD", "PB", "2", { catalog, Constants.SCHEMA_MAIN, "PARENT", "B", catalog, Constants.SCHEMA_MAIN, "CHILD", "PB", "2",
"" + DatabaseMetaData.importedKeyRestrict, "" + DatabaseMetaData.importedKeyRestrict, "AB", "" + DatabaseMetaData.importedKeyRestrict, "" + DatabaseMetaData.importedKeyRestrict, "AB",
null, "" + DatabaseMetaData.importedKeyNotDeferrable } }); "PRIMARY_KEY_8", "" + DatabaseMetaData.importedKeyNotDeferrable } });
} }
private void testTempTable() throws SQLException { private void testTempTable() throws SQLException {
......
...@@ -439,6 +439,18 @@ show columns from test; ...@@ -439,6 +439,18 @@ show columns from test;
> X INTEGER(10) YES NULL > X INTEGER(10) YES NULL
> rows: 3 > rows: 3
show columns from catalogs from information_schema;
> FIELD TYPE NULL KEY DEFAULT
> ------------ ------------------- ---- --- -------
> CATALOG_NAME VARCHAR(2147483647) YES NULL
> rows: 1
show columns from information_schema.catalogs;
> FIELD TYPE NULL KEY DEFAULT
> ------------ ------------------- ---- --- -------
> CATALOG_NAME VARCHAR(2147483647) YES NULL
> rows: 1
drop table test; drop table test;
> ok > ok
...@@ -2347,18 +2359,18 @@ CREATE TABLE child(parentid int REFERENCES parent); ...@@ -2347,18 +2359,18 @@ CREATE TABLE child(parentid int REFERENCES parent);
> ok > ok
select * from INFORMATION_SCHEMA.CROSS_REFERENCES; select * from INFORMATION_SCHEMA.CROSS_REFERENCES;
> PKTABLE_CATALOG PKTABLE_SCHEMA PKTABLE_NAME PKCOLUMN_NAME FKTABLE_CATALOG FKTABLE_SCHEMA FKTABLE_NAME FKCOLUMN_NAME ORDINAL_POSITION UPDATE_RULE DELETE_RULE FK_NAME PK_NAME DEFERRABILITY > PKTABLE_CATALOG PKTABLE_SCHEMA PKTABLE_NAME PKCOLUMN_NAME FKTABLE_CATALOG FKTABLE_SCHEMA FKTABLE_NAME FKCOLUMN_NAME ORDINAL_POSITION UPDATE_RULE DELETE_RULE FK_NAME PK_NAME DEFERRABILITY
> --------------- -------------- ------------ ------------- --------------- -------------- ------------ ------------- ---------------- ----------- ----------- ------------ ------- ------------- > --------------- -------------- ------------ ------------- --------------- -------------- ------------ ------------- ---------------- ----------- ----------- ------------ ------------- -------------
> SCRIPT PUBLIC PARENT ID SCRIPT PUBLIC CHILD PARENTID 1 1 1 CONSTRAINT_3 null 7 > SCRIPT PUBLIC PARENT ID SCRIPT PUBLIC CHILD PARENTID 1 1 1 CONSTRAINT_3 PRIMARY_KEY_8 7
> rows: 1 > rows: 1
ALTER TABLE parent ADD COLUMN name varchar; ALTER TABLE parent ADD COLUMN name varchar;
> ok > ok
select * from INFORMATION_SCHEMA.CROSS_REFERENCES; select * from INFORMATION_SCHEMA.CROSS_REFERENCES;
> PKTABLE_CATALOG PKTABLE_SCHEMA PKTABLE_NAME PKCOLUMN_NAME FKTABLE_CATALOG FKTABLE_SCHEMA FKTABLE_NAME FKCOLUMN_NAME ORDINAL_POSITION UPDATE_RULE DELETE_RULE FK_NAME PK_NAME DEFERRABILITY > PKTABLE_CATALOG PKTABLE_SCHEMA PKTABLE_NAME PKCOLUMN_NAME FKTABLE_CATALOG FKTABLE_SCHEMA FKTABLE_NAME FKCOLUMN_NAME ORDINAL_POSITION UPDATE_RULE DELETE_RULE FK_NAME PK_NAME DEFERRABILITY
> --------------- -------------- ------------ ------------- --------------- -------------- ------------ ------------- ---------------- ----------- ----------- ------------ ------- ------------- > --------------- -------------- ------------ ------------- --------------- -------------- ------------ ------------- ---------------- ----------- ----------- ------------ ------------- -------------
> SCRIPT PUBLIC PARENT ID SCRIPT PUBLIC CHILD PARENTID 1 1 1 CONSTRAINT_3 null 7 > SCRIPT PUBLIC PARENT ID SCRIPT PUBLIC CHILD PARENTID 1 1 1 CONSTRAINT_3 PRIMARY_KEY_1 7
> rows: 1 > rows: 1
drop table parent, child; drop table parent, child;
...@@ -8098,10 +8110,10 @@ CREATE TABLE CHILD(ID INT PRIMARY KEY, PA INT, PB INT, CONSTRAINT AB FOREIGN KEY ...@@ -8098,10 +8110,10 @@ CREATE TABLE CHILD(ID INT PRIMARY KEY, PA INT, PB INT, CONSTRAINT AB FOREIGN KEY
> ok > ok
SELECT * FROM INFORMATION_SCHEMA.CROSS_REFERENCES; SELECT * FROM INFORMATION_SCHEMA.CROSS_REFERENCES;
> PKTABLE_CATALOG PKTABLE_SCHEMA PKTABLE_NAME PKCOLUMN_NAME FKTABLE_CATALOG FKTABLE_SCHEMA FKTABLE_NAME FKCOLUMN_NAME ORDINAL_POSITION UPDATE_RULE DELETE_RULE FK_NAME PK_NAME DEFERRABILITY > PKTABLE_CATALOG PKTABLE_SCHEMA PKTABLE_NAME PKCOLUMN_NAME FKTABLE_CATALOG FKTABLE_SCHEMA FKTABLE_NAME FKCOLUMN_NAME ORDINAL_POSITION UPDATE_RULE DELETE_RULE FK_NAME PK_NAME DEFERRABILITY
> --------------- -------------- ------------ ------------- --------------- -------------- ------------ ------------- ---------------- ----------- ----------- ------- ------- ------------- > --------------- -------------- ------------ ------------- --------------- -------------- ------------ ------------- ---------------- ----------- ----------- ------- ------------- -------------
> SCRIPT PUBLIC PARENT A SCRIPT PUBLIC CHILD PA 1 1 1 AB null 7 > SCRIPT PUBLIC PARENT A SCRIPT PUBLIC CHILD PA 1 1 1 AB PRIMARY_KEY_8 7
> SCRIPT PUBLIC PARENT B SCRIPT PUBLIC CHILD PB 2 1 1 AB null 7 > SCRIPT PUBLIC PARENT B SCRIPT PUBLIC CHILD PB 2 1 1 AB PRIMARY_KEY_8 7
> rows: 2 > rows: 2
DROP TABLE PARENT; DROP TABLE PARENT;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论