⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 databaseinformation.java

📁 一个用java写的开源的数据库系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                        } 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 + -