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

📄 jdbcdatabasemetadata.java

📁 Java写的含有一个jdbc驱动的小型数据库数据库引擎
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
	return 0;
    }

    /**
     * What's the maximum number of columns in a "GROUP BY" clause?
     *
     * @return max number of columns;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxColumnsInGroupBy() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum number of columns allowed in an index?
     *
     * @return max number of columns;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxColumnsInIndex() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum number of columns in an "ORDER BY" clause?
     *
     * @return max number of columns;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxColumnsInOrderBy() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum number of columns in a "SELECT" list?
     *
     * @return max number of columns;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxColumnsInSelect() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum number of columns in a table?
     *
     * @return max number of columns;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxColumnsInTable() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * How many active connections can we have at a time to this database?
     *
     * @return max number of active connections;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxConnections() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum cursor name length?
     *
     * @return max cursor name length in bytes;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxCursorNameLength() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum length of an index (in bytes)?
     *
     * @return max index length in bytes;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxIndexLength() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum length allowed for a schema name?
     *
     * @return max name length in bytes;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxSchemaNameLength() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum length of a procedure name?
     *
     * @return max name length in bytes;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxProcedureNameLength() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum length of a catalog name?
     *
     * @return max name length in bytes;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxCatalogNameLength() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum length of a single row?
     *
     * @return max row size in bytes;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxRowSize() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY
     * blobs?
     *
     * @return <code>true</code> if so; <code>false</code> otherwise
     */
    public boolean doesMaxRowSizeIncludeBlobs() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return false;
    }

    /**
     * What's the maximum length of a SQL statement?
     *
     * @return max length in bytes;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxStatementLength() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * How many active statements can we have open at one time to this
     * database?
     *
     * @return the maximum number of statements that can be open at one time;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxStatements() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum length of a table name?
     *
     * @return max name length in bytes;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxTableNameLength() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum number of tables in a SELECT statement?
     *
     * @return the maximum number of tables allowed in a SELECT statement;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxTablesInSelect() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the maximum length of a user name?
     *
     * @return max user name length  in bytes;
     * a result of zero means that there is no limit or the limit is not known
     */
    public int getMaxUserNameLength() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return 0;
    }

    /**
     * What's the database's default transaction isolation level?  The
     * values are defined in <code>java.sql.Connection</code>.
     *
     * @return the default isolation level
     * @see Connection
     */
    public int getDefaultTransactionIsolation() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return Connection.TRANSACTION_READ_UNCOMMITTED;
    }

    /**
     * Are transactions supported? If not, invoking the method
     * <code>commit</code> is a noop and the
     * isolation level is TRANSACTION_NONE.
     *
     * @return <code>true</code> if transactions are supported; <code>false</code> otherwise
     */
    public boolean supportsTransactions() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return true;
    }

    /**
     * Does this database support the given transaction isolation level?
     *
     * @param level the values are defined in <code>java.sql.Connection</code>
     * @return <code>true</code> if so; <code>false</code> otherwise
     * @see Connection
     */
    public boolean supportsTransactionIsolationLevel(int level) {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return level == Connection.TRANSACTION_READ_UNCOMMITTED;
    }

    /**
     * Are both data definition and data manipulation statements
     * within a transaction supported?
     *
     * @return <code>true</code> if so; <code>false</code> otherwise
     */
    public boolean supportsDataDefinitionAndDataManipulationTransactions() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return false;
    }

    /**
     * Are only data manipulation statements within a transaction
     * supported?
     *
     * @return <code>true</code> if so; <code>false</code> otherwise
     */
    public boolean supportsDataManipulationTransactionsOnly() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return true;
    }

    /**
     * Does a data definition statement within a transaction force the
     * transaction to commit?
     *
     * @return <code>true</code> if so; <code>false</code> otherwise
     */
    public boolean dataDefinitionCausesTransactionCommit() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return true;
    }

    /**
     * Is a data definition statement within a transaction ignored?
     *
     * @return <code>true</code> if so; <code>false</code> otherwise
     */
    public boolean dataDefinitionIgnoredInTransactions() {
	if (Trace.TRACE) {
	    Trace.trace();
	}

	return false;
    }

    /**
     * Gets a description of the stored procedures available in a
     * catalog.
     *
     * <P>Only procedure descriptions matching the schema and
     * procedure name criteria are returned.  They are ordered by
     * PROCEDURE_SCHEM, and PROCEDURE_NAME.
     *
     * <P>Each procedure description has the the following columns:
     * <OL>
     * <LI><B>PROCEDURE_CAT</B> String => procedure catalog (may be null)
     * <LI><B>PROCEDURE_SCHEM</B> String => procedure schema (may be null)
     * <LI><B>PROCEDURE_NAME</B> String => procedure name
     * <LI> reserved for future use
     * <LI> reserved for future use
     * <LI> reserved for future use
     * <LI><B>REMARKS</B> String => explanatory comment on the procedure
     * <LI><B>PROCEDURE_TYPE</B> short => kind of procedure:
     * <UL>
     * <LI> procedureResultUnknown - May return a result
     * <LI> procedureNoResult - Does not return a result
     * <LI> procedureReturnsResult - Returns a result
     * </UL>
     * </OL>
     *
     * @param catalog a catalog name; "" retrieves those without a
     * catalog; null means drop catalog name from the selection criteria
     * @param schemaPattern a schema name pattern; "" retrieves those
     * without a schema
     * @param procedureNamePattern a procedure name pattern
     * @return ResultSet - each row is a procedure description
     * @exception SQLException if a database access error occurs
     * @see #getSearchStringEscape
     */
    public ResultSet getProcedures(String catalog, String schemaPattern,
				   String procedureNamePattern) throws SQLException {

	// currently no records for any pattern
	return executeSelect("SYSTEM_PROCEDURES", null);
    }

    /**
     * Gets a description of a catalog's stored procedure parameters
     * and result columns.
     *
     * <P>Only descriptions matching the schema, procedure and
     * parameter name criteria are returned.  They are ordered by
     * PROCEDURE_SCHEM and PROCEDURE_NAME. Within this, the return value,
     * if any, is first. Next are the parameter descriptions in call
     * order. The column descriptions follow in column number order.
     *
     * <P>Each row in the ResultSet is a parameter description or
     * column description with the following fields:
     * <OL>
     * <LI><B>PROCEDURE_CAT</B> String => procedure catalog (may be null)
     * <LI><B>PROCEDURE_SCHEM</B> String => procedure schema (may be null)
     * <LI><B>PROCEDURE_NAME</B> String => procedure name
     * <LI><B>COLUMN_NAME</B> String => column/parameter name
     * <LI><B>COLUMN_TYPE</B> Short => kind of column/parameter:
     * <UL>
     * <LI> procedureColumnUnknown - nobody knows
     * <LI> procedureColumnIn - IN parameter
     * <LI> procedureColumnInOut - INOUT parameter
     * <LI> procedureColumnOut - OUT parameter
     * <LI> procedureColumnReturn - procedure return value
     * <LI> procedureColumnResult - result column in ResultSet
     * </UL>
     * <LI><B>DATA_TYPE</B> short => SQL type from java.sql.Types
     * <LI><B>TYPE_NAME</B> String => SQL type name, for a UDT type the
     * type name is fully qualified
     * <LI><B>PRECISION</B> int => precision
     * <LI><B>LENGTH</B> int => length in bytes of data
     * <LI><B>SCALE</B> short => scale
     * <LI><B>RADIX</B> short => radix
     * <LI><B>NULLABLE</B> short => can it contain NULL?
     * <UL>
     * <LI> procedureNoNulls - does not allow NULL values
     * <LI> procedureNullable - allows NULL values
     * <LI> procedureNullableUnknown - nullability unknown
     * </UL>
     * <LI><B>REMARKS</B> String => comment describing parameter/column
     * </OL>
     *
     * <P><B>Note:</B> Some databases may not return the column
     * descriptions for a procedure. Additional columns beyond
     * REMARKS can be defined by the database.
     *
     * @param catalog a catalog name; "" retrieves those without a
     * catalog; null means drop catalog name from the selection criteria
     * @param schemaPattern a schema name pattern; "" retrieves those
     * without a schema
     * @param procedureNamePattern a procedure name pattern
     * @param columnNamePattern a column name pattern
     * @return ResultSet - each row describes a stored procedure parameter or
     * column
     * @exception SQLException if a database access error occurs
     * @see #getSearchStringEscape
     */
    public ResultSet getProcedureColumns(String catalog,
					 String schemaPattern,
					 String procedureNamePattern,
					 String columnNamePattern) throws SQLException {

	// currently no records for any pattern
	return executeSelect("SYSTEM_PROCEDURECOLUMNS", null);
    }

    /**
     * Gets a description of tables available in a catalog.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -