📄 databaseinformation.java
字号:
} else { o[4] = o[4] + "; "; } o[4] = o[4] + "DataSource=\"" + dataSource + "\""; if (table.isDescDataSource()) { o[4] = o[4] + " DESC"; } } t.insert(o, null); } return t; } case SYSTEM_SCHEMAS : { t.addColumn("TABLE_" + META_SCHEM, Types.VARCHAR);// boucherb@users 20020415 added for JDBC 3 clients t.addColumn("TABLE_CATALOG", Types.VARCHAR); t.createPrimaryKey(); return t; } case SYSTEM_CATALOGS : { t.addColumn("TABLE_" + META_CAT, Types.VARCHAR); t.createPrimaryKey(); return t; } case SYSTEM_TABLETYPES : { t.addColumn("TABLE_TYPE", Types.VARCHAR); t.createPrimaryKey(); for (int i = 0; i < tableTypes.length; i++) { Object o[] = t.getNewRow(); o[0] = tableTypes[i]; t.insert(o, null); } return t; } case SYSTEM_COLUMNS : { t.addColumn("TABLE_" + META_CAT, Types.VARCHAR); t.addColumn("TABLE_" + META_SCHEM, Types.VARCHAR); t.addColumn("TABLE_NAME", Types.VARCHAR); t.addColumn("COLUMN_NAME", Types.VARCHAR); t.addColumn("DATA_TYPE", Types.SMALLINT); t.addColumn("TYPE_NAME", Types.VARCHAR); t.addColumn(META_COLUMN_SIZE, Types.INTEGER); t.addColumn(META_BUFFER_LENGTH, Types.INTEGER); t.addColumn(META_DECIMAL_DIGITS, Types.INTEGER); t.addColumn(META_NUM_PREC_RADIX, Types.INTEGER); t.addColumn("NULLABLE", Types.INTEGER); t.addColumn("REMARKS", Types.VARCHAR); t.addColumn("COLUMN_DEF", Types.VARCHAR);// fredt@users 20020407 - patch 1.7.0 by sqlbob@users - fixed incorrect type t.addColumn("SQL_DATA_TYPE", Types.INTEGER); t.addColumn("SQL_DATETIME_SUB", Types.INTEGER); t.addColumn("CHAR_OCTET_LENGTH", Types.INTEGER);// fredt@users 20020407 - patch 1.7.0 - fixed incorrect type t.addColumn("ORDINAL_POSITION", Types.INTEGER); t.addColumn("IS_NULLABLE", Types.VARCHAR);// boucherb@users 20020415 added for JDBC 3 clients// fredt - spelling of SCOPE_CATLOG is according to JDBC specs t.addColumn("SCOPE_CATLOG", Types.VARCHAR); t.addColumn("SCOPE_SCHEMA", Types.VARCHAR); t.addColumn("SCOPE_TABLE", Types.VARCHAR); t.addColumn("SOURCE_DATA_TYPE", Types.VARCHAR); t.addColumn("SCOPE_CATLOG ", Types.SMALLINT); t.createPrimaryKey(); for (int i = 0, tSize = tTable.size(); i < tSize; i++) { Table table = (Table) tTable.elementAt(i); int columnCount = table.getColumnCount(); if (table.tableType == Table.TEMP_TABLE || table.tableType == Table.TEMP_TEXT_TABLE) { if (dDatabase.findUserTable( table.getName().name, session) == null) { continue; } } for (int j = 0; j < columnCount; j++) { Column column = table.getColumn(j); Object o[] = t.getNewRow(); o[0] = o[1] = ""; o[2] = table.getName().name; o[3] = column.columnName.name; o[4] = new Integer(column.getType()); o[5] = Column.getTypeString(column.getType());// fredt@users 20020130 - patch 491987 by jimbag@users o[6] = new Integer(column.getSize()); o[8] = new Integer(column.getScale()); o[9] = new Integer(10); int nullable; if (column.isNullable()) { nullable = DatabaseMetaData.columnNullable; o[17] = new String("YES"); } else { nullable = DatabaseMetaData.columnNoNulls; o[17] = new String("NO"); } o[10] = new Integer(nullable); if (table.getIdentityColumn() == j) { o[11] = "IDENTITY"; } o[12] = column.getDefaultString(); // ordinal position o[16] = new Integer(j + 1); t.insert(o, null); } } return t; } case SYSTEM_COLUMNPRIVILEGES : { t.addColumn("TABLE_" + META_CAT, Types.VARCHAR); t.addColumn("TABLE_" + META_SCHEM, Types.VARCHAR); t.addColumn("TABLE_NAME", Types.VARCHAR); t.addColumn("COLUMN_NAME", Types.VARCHAR); t.addColumn("GRANTOR", Types.VARCHAR); t.addColumn("GRANTEE", Types.VARCHAR); t.addColumn("PRIVILEGE", Types.VARCHAR); t.addColumn("IS_GRANTABLE", Types.VARCHAR); t.createPrimaryKey(); /* * // todo: get correct info * for(int i=0;i<tTable.size();i++) { * table=(Table)tTable.elementAt(i); * int columns=table.getColumnCount(); * for(int j=0;j<columns;j++) { * Object o[]=t.getNewRow(); * o[2]=table.getName(); * o[3]=table.getColumnName(j); * o[4]="sa"; * o[6]="FULL"; * o[7]="NO"; * t.insert(o,null); * } * } */ return t; } case SYSTEM_TABLEPRIVILEGES : { t.addColumn("TABLE_" + META_CAT, Types.VARCHAR); t.addColumn("TABLE_" + META_SCHEM, Types.VARCHAR); t.addColumn("TABLE_NAME", Types.VARCHAR); t.addColumn("GRANTOR", Types.VARCHAR); t.addColumn("GRANTEE", Types.VARCHAR); t.addColumn("PRIVILEGE", Types.VARCHAR); t.addColumn("IS_GRANTABLE", Types.VARCHAR); t.createPrimaryKey(); for (int i = 0, tSize = tTable.size(); i < tSize; i++) { Table table = (Table) tTable.elementAt(i); if (table.tableType == Table.TEMP_TABLE || table.tableType == Table.TEMP_TEXT_TABLE) { if (dDatabase.findUserTable( table.getName().name, session) == null) { continue; } } Object o[] = t.getNewRow(); o[0] = o[1] = ""; o[2] = table.getName().name; o[3] = "sa"; o[5] = "FULL"; t.insert(o, null); } return t; } case SYSTEM_VERSIONCOLUMNS : // return an empty table for SYSTEM_VERSIONCOLUMNS case SYSTEM_BESTROWIDENTIFIER : t.addColumn("SCOPE", Types.SMALLINT); t.addColumn("COLUMN_NAME", Types.VARCHAR); t.addColumn("DATA_TYPE", Types.SMALLINT); t.addColumn("TYPE_NAME", Types.VARCHAR); t.addColumn(META_COLUMN_SIZE, Types.INTEGER); t.addColumn(META_BUFFER_LENGTH, Types.INTEGER); t.addColumn(META_DECIMAL_DIGITS, Types.SMALLINT); t.addColumn("PSEUDO_COLUMN", Types.SMALLINT); t.addColumn("TABLE_NAME", Types.VARCHAR); t.createPrimaryKey(); if (tableIdValue == SYSTEM_VERSIONCOLUMNS) { return t; } { for (int i = 0, tSize = tTable.size(); i < tSize; i++) { Table table = (Table) tTable.elementAt(i); if (table.tableType == Table.VIEW) { continue; } if (table.tableType == Table.TEMP_TABLE || table.tableType == Table.TEMP_TEXT_TABLE) { if (dDatabase.findUserTable( table.getName().name, session) == null) { continue; } } Index index = null; int[] cols = null; // fredt - don't report primary key on hidden column for (int j = 0; j < table.getIndexCount(); j++) { index = table.getIndex(j); if (index.isUnique()) { cols = index.getColumns(); if (cols[0] == table.getColumnCount()) { cols = null; } else { break; } } } if (cols == null) { continue; } int len = cols.length; for (int j = 0; j < len; j++) { Column column = table.getColumn(cols[j]); Object o[] = t.getNewRow(); o[0] = new Short( (short) DatabaseMetaData.bestRowTemporary); o[1] = column.columnName.name; o[2] = new Short((short) column.getType()); o[3] = Column.getTypeString(column.getType()); o[4] = new Integer(column.getSize()); o[6] = new Integer(column.getScale()); o[7] = new Short( (short) DatabaseMetaData.bestRowNotPseudo); o[8] = table.getName().name; t.insert(o, null); } } } return t; case SYSTEM_PRIMARYKEYS : { t.addColumn("TABLE_" + META_CAT, Types.VARCHAR); t.addColumn("TABLE_" + META_SCHEM, Types.VARCHAR); t.addColumn("TABLE_NAME", Types.VARCHAR); t.addColumn("COLUMN_NAME", Types.VARCHAR); t.addColumn("KEY_SEQ", Types.SMALLINT); t.addColumn("PK_NAME", Types.VARCHAR); t.createPrimaryKey(); for (int i = 0, tSize = tTable.size(); i < tSize; i++) { Table table = (Table) tTable.elementAt(i); if (table.tableType == Table.VIEW) { continue; } if (table.tableType == Table.TEMP_TABLE || table.tableType == Table.TEMP_TEXT_TABLE) { if (dDatabase.findUserTable( table.getName().name, session) == null) { continue; } } Index index = table.getIndex(0); int cols[] = index.getColumns();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -