📄 testmetadata.java
字号:
* "0",
* "10", "" +
* DatabaseMetaData.columnNoNulls,
* null,
* null,
* null,
* null,
* null,
* "1",
* "NO"
*/}, });
trace("getColumns - using wildcards");
rs = meta.getColumns(null, null, "_\\__", "%");
testResultSetOrdered(rs, new String[][] {
{ catalog, Constants.SCHEMA_MAIN, "T_2", "B", "" + Types.INTEGER, "INTEGER", "10" /*
* ,
* null,
* "0",
* "10", "" +
* DatabaseMetaData.columnNoNulls,
* null,
* null,
* null,
* null,
* null,
* "1",
* "NO"
*/},
{ catalog, Constants.SCHEMA_MAIN, "T_2", "A", "" + Types.VARCHAR, "VARCHAR", "6" /*
* ,
* null,
* "0",
* "10", "" +
* DatabaseMetaData.columnNoNulls,
* null,
* null,
* null,
* null,
* null,
* "2",
* "NO"
*/},
{ catalog, Constants.SCHEMA_MAIN, "T_2", "C", "" + Types.INTEGER, "INTEGER", "10" /*
* ,
* null,
* "0",
* "10", "" +
* DatabaseMetaData.columnNoNulls,
* null,
* null,
* null,
* null,
* null,
* "3",
* "NO"
*/}, });
trace("getIndexInfo");
stat.executeUpdate("CREATE UNIQUE INDEX A_INDEX ON TX2(B,C,A)");
stat.executeUpdate("CREATE INDEX B_INDEX ON TX2(A,B,C)");
rs = meta.getIndexInfo(null, null, "TX2", false, false);
testResultSetOrdered(rs, new String[][] {
{ catalog, Constants.SCHEMA_MAIN, "TX2", "FALSE", catalog, "A_INDEX",
"" + DatabaseMetaData.tableIndexOther, "1", "B", "A" /*
* ,
* null,
* null,
* null
*/},
{ catalog, Constants.SCHEMA_MAIN, "TX2", "FALSE", catalog, "A_INDEX",
"" + DatabaseMetaData.tableIndexOther, "2", "C", "A" /*
* ,
* null,
* null,
* null
*/},
{ catalog, Constants.SCHEMA_MAIN, "TX2", "FALSE", catalog, "A_INDEX",
"" + DatabaseMetaData.tableIndexOther, "3", "A", "A" /*
* ,
* null,
* null,
* null
*/},
{ catalog, Constants.SCHEMA_MAIN, "TX2", "FALSE", catalog, "PRIMARY_KEY_14",
"" + DatabaseMetaData.tableIndexOther, "1", "C", "A" /*
* ,
* null,
* null,
* null
*/},
{ catalog, Constants.SCHEMA_MAIN, "TX2", "FALSE", catalog, "PRIMARY_KEY_14",
"" + DatabaseMetaData.tableIndexOther, "2", "A", "A" /*
* ,
* null,
* null,
* null
*/},
{ catalog, Constants.SCHEMA_MAIN, "TX2", "FALSE", catalog, "PRIMARY_KEY_14",
"" + DatabaseMetaData.tableIndexOther, "3", "B", "A"/*
* ,
* null,
* null,
* null
*/},
{ catalog, Constants.SCHEMA_MAIN, "TX2", "TRUE", catalog, "B_INDEX",
"" + DatabaseMetaData.tableIndexOther, "1", "A", "A" /*
* ,
* null,
* null,
* null
*/},
{ catalog, Constants.SCHEMA_MAIN, "TX2", "TRUE", catalog, "B_INDEX",
"" + DatabaseMetaData.tableIndexOther, "2", "B", "A" /*
* ,
* null,
* null,
* null
*/},
{ catalog, Constants.SCHEMA_MAIN, "TX2", "TRUE", catalog, "B_INDEX",
"" + DatabaseMetaData.tableIndexOther, "3", "C", "A" /*
* ,
* null,
* null,
* null
*/}, });
trace("getPrimaryKeys");
rs = meta.getPrimaryKeys(null, null, "T_2");
testResultSetOrdered(rs, new String[][] {
{ catalog, Constants.SCHEMA_MAIN, "T_2", "A", "2", "PRIMARY_KEY_1" },
{ catalog, Constants.SCHEMA_MAIN, "T_2", "B", "3", "PRIMARY_KEY_1" },
{ catalog, Constants.SCHEMA_MAIN, "T_2", "C", "1", "PRIMARY_KEY_1" }, });
stat.executeUpdate("DROP TABLE TX2");
stat.executeUpdate("DROP TABLE T_2");
stat.executeUpdate("CREATE TABLE PARENT(ID INT PRIMARY KEY)");
stat
.executeUpdate("CREATE TABLE CHILD(P_ID INT,ID INT,PRIMARY KEY(P_ID,ID),FOREIGN KEY(P_ID) REFERENCES PARENT(ID))");
trace("getImportedKeys");
rs = meta.getImportedKeys(null, null, "CHILD");
testResultSetMeta(rs, 14, new String[] { "PKTABLE_CAT", "PKTABLE_SCHEM", "PKTABLE_NAME", "PKCOLUMN_NAME",
"FKTABLE_CAT", "FKTABLE_SCHEM", "FKTABLE_NAME", "FKCOLUMN_NAME", "KEY_SEQ", "UPDATE_RULE",
"DELETE_RULE", "FK_NAME", "PK_NAME", "DEFERRABILITY" }, new int[] { Types.VARCHAR, Types.VARCHAR,
Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR,
Types.SMALLINT, Types.SMALLINT, Types.SMALLINT, Types.VARCHAR, Types.VARCHAR, Types.SMALLINT }, null,
null);
// TODO test
// testResultSetOrdered(rs, new String[][] { { null, null, "PARENT",
// "ID",
// null, null, "CHILD", "P_ID", "1",
// "" + DatabaseMetaData.importedKeyNoAction,
// "" + DatabaseMetaData.importedKeyNoAction, "FK_1", null,
// "" + DatabaseMetaData.importedKeyNotDeferrable}});
trace("getExportedKeys");
rs = meta.getExportedKeys(null, null, "PARENT");
testResultSetMeta(rs, 14, new String[] { "PKTABLE_CAT", "PKTABLE_SCHEM", "PKTABLE_NAME", "PKCOLUMN_NAME",
"FKTABLE_CAT", "FKTABLE_SCHEM", "FKTABLE_NAME", "FKCOLUMN_NAME", "KEY_SEQ", "UPDATE_RULE",
"DELETE_RULE", "FK_NAME", "PK_NAME", "DEFERRABILITY" }, new int[] { Types.VARCHAR, Types.VARCHAR,
Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR,
Types.SMALLINT, Types.SMALLINT, Types.SMALLINT, Types.VARCHAR, Types.VARCHAR, Types.SMALLINT }, null,
null);
// TODO test
/*
* testResultSetOrdered(rs, new String[][]{ { null,null,"PARENT","ID",
* null,null,"CHILD","P_ID",
* "1",""+DatabaseMetaData.importedKeyNoAction,
* ""+DatabaseMetaData.importedKeyNoAction,
* null,null,""+DatabaseMetaData.importedKeyNotDeferrable } } );
*/
trace("getCrossReference");
rs = meta.getCrossReference(null, null, "PARENT", null, null, "CHILD");
testResultSetMeta(rs, 14, new String[] { "PKTABLE_CAT", "PKTABLE_SCHEM", "PKTABLE_NAME", "PKCOLUMN_NAME",
"FKTABLE_CAT", "FKTABLE_SCHEM", "FKTABLE_NAME", "FKCOLUMN_NAME", "KEY_SEQ", "UPDATE_RULE",
"DELETE_RULE", "FK_NAME", "PK_NAME", "DEFERRABILITY" }, new int[] { Types.VARCHAR, Types.VARCHAR,
Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR,
Types.SMALLINT, Types.SMALLINT, Types.SMALLINT, Types.VARCHAR, Types.VARCHAR, Types.SMALLINT }, null,
null);
// TODO test
/*
* testResultSetOrdered(rs, new String[][]{ { null,null,"PARENT","ID",
* null,null,"CHILD","P_ID",
* "1",""+DatabaseMetaData.importedKeyNoAction,
* ""+DatabaseMetaData.importedKeyNoAction,
* null,null,""+DatabaseMetaData.importedKeyNotDeferrable } } );
*/
rs = meta.getSchemas();
testResultSetMeta(rs, 3, new String[] { "TABLE_SCHEM", "TABLE_CATALOG", "IS_DEFAULT" }, new int[] {
Types.VARCHAR, Types.VARCHAR, DataType.TYPE_BOOLEAN }, null, null);
check(rs.next());
check(rs.getString(1), "INFORMATION_SCHEMA");
check(rs.next());
check(rs.getString(1), "PUBLIC");
checkFalse(rs.next());
rs = meta.getCatalogs();
testResultSetMeta(rs, 1, new String[] { "TABLE_CAT" }, new int[] { Types.VARCHAR }, null, null);
testResultSetOrdered(rs, new String[][] { { catalog } });
rs = meta.getTableTypes();
testResultSetMeta(rs, 1, new String[] { "TABLE_TYPE" }, new int[] { Types.VARCHAR }, null, null);
testResultSetOrdered(rs, new String[][] { { "SYSTEM TABLE" }, { "TABLE" }, { "TABLE LINK" }, { "VIEW" } });
rs = meta.getTypeInfo();
testResultSetMeta(rs, 18, new String[] { "TYPE_NAME", "DATA_TYPE", "PRECISION", "LITERAL_PREFIX",
"LITERAL_SUFFIX", "CREATE_PARAMS", "NULLABLE", "CASE_SENSITIVE", "SEARCHABLE", "UNSIGNED_ATTRIBUTE",
"FIXED_PREC_SCALE", "AUTO_INCREMENT", "LOCAL_TYPE_NAME", "MINIMUM_SCALE", "MAXIMUM_SCALE",
"SQL_DATA_TYPE", "SQL_DATETIME_SUB", "NUM_PREC_RADIX" }, new int[] { Types.VARCHAR, Types.SMALLINT,
Types.INTEGER, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.SMALLINT, DataType.TYPE_BOOLEAN,
Types.SMALLINT, DataType.TYPE_BOOLEAN, DataType.TYPE_BOOLEAN, DataType.TYPE_BOOLEAN, Types.VARCHAR,
Types.SMALLINT, Types.SMALLINT, Types.SMALLINT, Types.INTEGER, Types.INTEGER }, null, null);
rs = meta.getTablePrivileges(null, null, null);
testResultSetMeta(rs, 7, new String[] { "TABLE_CAT", "TABLE_SCHEM", "TABLE_NAME", "GRANTOR", "GRANTEE",
"PRIVILEGE", "IS_GRANTABLE" }, new int[] { Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR,
Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR }, null, null);
rs = meta.getColumnPrivileges(null, null, "TEST", null);
testResultSetMeta(rs, 8, new String[] { "TABLE_CAT", "TABLE_SCHEM", "TABLE_NAME", "COLUMN_NAME", "GRANTOR",
"GRANTEE", "PRIVILEGE", "IS_GRANTABLE" }, new int[] { Types.VARCHAR, Types.VARCHAR, Types.VARCHAR,
Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR }, null, null);
check(conn.getWarnings() == null);
conn.clearWarnings();
check(conn.getWarnings() == null);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -