Package org.h2.jdbc

Class JdbcDatabaseMetaData

java.lang.Object
org.h2.message.TraceObject
org.h2.jdbc.JdbcDatabaseMetaData
All Implemented Interfaces:
DatabaseMetaData, Wrapper

public final class JdbcDatabaseMetaData extends org.h2.message.TraceObject implements DatabaseMetaData
Represents the meta data for a database.
  • Method Details

    • getDriverMajorVersion

      public int getDriverMajorVersion()
      Returns the major version of this driver.
      Specified by:
      getDriverMajorVersion in interface DatabaseMetaData
      Returns:
      the major version number
    • getDriverMinorVersion

      public int getDriverMinorVersion()
      Returns the minor version of this driver.
      Specified by:
      getDriverMinorVersion in interface DatabaseMetaData
      Returns:
      the minor version number
    • getDatabaseProductName

      public String getDatabaseProductName()
      Gets the database product name.
      Specified by:
      getDatabaseProductName in interface DatabaseMetaData
      Returns:
      the product name ("H2")
    • getDatabaseProductVersion

      public String getDatabaseProductVersion() throws SQLException
      Gets the product version of the database.
      Specified by:
      getDatabaseProductVersion in interface DatabaseMetaData
      Returns:
      the product version
      Throws:
      SQLException
    • getDriverName

      public String getDriverName()
      Gets the name of the JDBC driver.
      Specified by:
      getDriverName in interface DatabaseMetaData
      Returns:
      the driver name ("H2 JDBC Driver")
    • getDriverVersion

      public String getDriverVersion()
      Gets the version number of the driver. The format is [MajorVersion].[MinorVersion].
      Specified by:
      getDriverVersion in interface DatabaseMetaData
      Returns:
      the version number
    • getTables

      public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException
      Gets the list of tables in the database. The result set is sorted by TABLE_TYPE, TABLE_SCHEM, and TABLE_NAME.
      1. TABLE_CAT (String) table catalog
      2. TABLE_SCHEM (String) table schema
      3. TABLE_NAME (String) table name
      4. TABLE_TYPE (String) table type
      5. REMARKS (String) comment
      6. TYPE_CAT (String) always null
      7. TYPE_SCHEM (String) always null
      8. TYPE_NAME (String) always null
      9. SELF_REFERENCING_COL_NAME (String) always null
      10. REF_GENERATION (String) always null
      11. SQL (String) the create table statement or NULL for systems tables.
      Specified by:
      getTables in interface DatabaseMetaData
      Parameters:
      catalog - null (to get all objects) or the catalog name
      schemaPattern - null (to get all objects) or a schema name (uppercase for unquoted names)
      tableNamePattern - null (to get all objects) or a table name (uppercase for unquoted names)
      types - null or a list of table types
      Returns:
      the list of columns
      Throws:
      SQLException - if the connection is closed
    • getColumns

      public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
      Gets the list of columns. The result set is sorted by TABLE_SCHEM, TABLE_NAME, and ORDINAL_POSITION.
      1. TABLE_CAT (String) table catalog
      2. TABLE_SCHEM (String) table schema
      3. TABLE_NAME (String) table name
      4. COLUMN_NAME (String) column name
      5. DATA_TYPE (int) data type (see java.sql.Types)
      6. TYPE_NAME (String) data type name ("INTEGER", "VARCHAR",...)
      7. COLUMN_SIZE (int) precision (values larger than 2 GB are returned as 2 GB)
      8. BUFFER_LENGTH (int) unused
      9. DECIMAL_DIGITS (int) scale (0 for INTEGER and VARCHAR)
      10. NUM_PREC_RADIX (int) radix
      11. NULLABLE (int) columnNoNulls or columnNullable
      12. REMARKS (String) comment
      13. COLUMN_DEF (String) default value
      14. SQL_DATA_TYPE (int) unused
      15. SQL_DATETIME_SUB (int) unused
      16. CHAR_OCTET_LENGTH (int) unused
      17. ORDINAL_POSITION (int) the column index (1,2,...)
      18. IS_NULLABLE (String) "NO" or "YES"
      19. SCOPE_CATALOG (String) always null
      20. SCOPE_SCHEMA (String) always null
      21. SCOPE_TABLE (String) always null
      22. SOURCE_DATA_TYPE (short) null
      23. IS_AUTOINCREMENT (String) "NO" or "YES"
      24. IS_GENERATEDCOLUMN (String) "NO" or "YES"
      Specified by:
      getColumns in interface DatabaseMetaData
      Parameters:
      catalog - null (to get all objects) or the catalog name
      schemaPattern - null (to get all objects) or a schema name (uppercase for unquoted names)
      tableNamePattern - null (to get all objects) or a table name (uppercase for unquoted names)
      columnNamePattern - null (to get all objects) or a column name (uppercase for unquoted names)
      Returns:
      the list of columns
      Throws:
      SQLException - if the connection is closed
    • getIndexInfo

      public ResultSet getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) throws SQLException
      Gets the list of indexes for this database. The primary key index (if there is one) is also listed, with the name PRIMARY_KEY. The result set is sorted by NON_UNIQUE ('false' first), TYPE, TABLE_SCHEM, INDEX_NAME, and ORDINAL_POSITION.
      1. TABLE_CAT (String) table catalog
      2. TABLE_SCHEM (String) table schema
      3. TABLE_NAME (String) table name
      4. NON_UNIQUE (boolean) 'true' if non-unique
      5. INDEX_QUALIFIER (String) index catalog
      6. INDEX_NAME (String) index name
      7. TYPE (short) the index type (tableIndexOther or tableIndexHash for unique indexes on non-nullable columns, tableIndexStatistics for other indexes)
      8. ORDINAL_POSITION (short) column index (1, 2, ...)
      9. COLUMN_NAME (String) column name
      10. ASC_OR_DESC (String) ascending or descending (always 'A')
      11. CARDINALITY (long) number of rows or numbers of unique values for unique indexes on non-nullable columns
      12. PAGES (long) number of pages use
      13. FILTER_CONDITION (String) filter condition (always empty)
      Specified by:
      getIndexInfo in interface DatabaseMetaData
      Parameters:
      catalog - null or the catalog name
      schema - null (to get all objects) or a schema name (uppercase for unquoted names)
      table - table name (must be specified)
      unique - only unique indexes
      approximate - if true, return fast, but approximate CARDINALITY and PAGES
      Returns:
      the list of indexes and columns
      Throws:
      SQLException - if the connection is closed
    • getPrimaryKeys

      public ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException
      Gets the primary key columns for a table. The result set is sorted by TABLE_SCHEM, and COLUMN_NAME (and not by KEY_SEQ).
      1. TABLE_CAT (String) table catalog
      2. TABLE_SCHEM (String) table schema
      3. TABLE_NAME (String) table name
      4. COLUMN_NAME (String) column name
      5. KEY_SEQ (short) the column index of this column (1,2,...)
      6. PK_NAME (String) the name of the primary key index
      Specified by:
      getPrimaryKeys in interface DatabaseMetaData
      Parameters:
      catalog - null or the catalog name
      schema - null (to get all objects) or a schema name (uppercase for unquoted names)
      table - table name (must be specified)
      Returns:
      the list of primary key columns
      Throws:
      SQLException - if the connection is closed
    • allProceduresAreCallable

      public boolean allProceduresAreCallable()
      Checks if all procedures callable.
      Specified by:
      allProceduresAreCallable in interface DatabaseMetaData
      Returns:
      true
    • allTablesAreSelectable

      public boolean allTablesAreSelectable()
      Checks if it possible to query all tables returned by getTables.
      Specified by:
      allTablesAreSelectable in interface DatabaseMetaData
      Returns:
      true
    • getURL

      public String getURL() throws SQLException
      Returns the database URL for this connection.
      Specified by:
      getURL in interface DatabaseMetaData
      Returns:
      the url
      Throws:
      SQLException
    • getUserName

      public String getUserName() throws SQLException
      Returns the user name as passed to DriverManager.getConnection(url, user, password).
      Specified by:
      getUserName in interface DatabaseMetaData
      Returns:
      the user name
      Throws:
      SQLException
    • isReadOnly

      public boolean isReadOnly() throws SQLException
      Returns the same as Connection.isReadOnly().
      Specified by:
      isReadOnly in interface DatabaseMetaData
      Returns:
      if read only optimization is switched on
      Throws:
      SQLException
    • nullsAreSortedHigh

      public boolean nullsAreSortedHigh() throws SQLException
      Checks if NULL values are sorted high (bigger than anything that is not null).
      Specified by:
      nullsAreSortedHigh in interface DatabaseMetaData
      Returns:
      if NULL values are sorted high
      Throws:
      SQLException
    • nullsAreSortedLow

      public boolean nullsAreSortedLow() throws SQLException
      Checks if NULL values are sorted low (smaller than anything that is not null).
      Specified by:
      nullsAreSortedLow in interface DatabaseMetaData
      Returns:
      if NULL values are sorted low
      Throws:
      SQLException
    • nullsAreSortedAtStart

      public boolean nullsAreSortedAtStart() throws SQLException
      Checks if NULL values are sorted at the beginning (no matter if ASC or DESC is used).
      Specified by:
      nullsAreSortedAtStart in interface DatabaseMetaData
      Returns:
      if NULL values are sorted at the beginning
      Throws:
      SQLException
    • nullsAreSortedAtEnd

      public boolean nullsAreSortedAtEnd() throws SQLException
      Checks if NULL values are sorted at the end (no matter if ASC or DESC is used).
      Specified by:
      nullsAreSortedAtEnd in interface DatabaseMetaData
      Returns:
      if NULL values are sorted at the end
      Throws:
      SQLException
    • getConnection

      public Connection getConnection()
      Returns the connection that created this object.
      Specified by:
      getConnection in interface DatabaseMetaData
      Returns:
      the connection
    • getProcedures

      public ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern) throws SQLException
      Gets the list of procedures. The result set is sorted by PROCEDURE_SCHEM, PROCEDURE_NAME, and NUM_INPUT_PARAMS. There are potentially multiple procedures with the same name, each with a different number of input parameters.
      1. PROCEDURE_CAT (String) catalog
      2. PROCEDURE_SCHEM (String) schema
      3. PROCEDURE_NAME (String) name
      4. reserved
      5. reserved
      6. reserved
      7. REMARKS (String) description
      8. PROCEDURE_TYPE (short) if this procedure returns a result (procedureNoResult or procedureReturnsResult)
      9. SPECIFIC_NAME (String) non-ambiguous name to distinguish overloads
      Specified by:
      getProcedures in interface DatabaseMetaData
      Parameters:
      catalog - null or the catalog name
      schemaPattern - null (to get all objects) or a schema name (uppercase for unquoted names)
      procedureNamePattern - the procedure name pattern
      Returns:
      the procedures
      Throws:
      SQLException - if the connection is closed
    • getProcedureColumns

      public ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) throws SQLException
      Gets the list of procedure columns. The result set is sorted by PROCEDURE_SCHEM, PROCEDURE_NAME, NUM_INPUT_PARAMS, and POS. There are potentially multiple procedures with the same name, each with a different number of input parameters.
      1. PROCEDURE_CAT (String) catalog
      2. PROCEDURE_SCHEM (String) schema
      3. PROCEDURE_NAME (String) name
      4. COLUMN_NAME (String) column name
      5. COLUMN_TYPE (short) column type (always DatabaseMetaData.procedureColumnIn)
      6. DATA_TYPE (short) sql type
      7. TYPE_NAME (String) type name
      8. PRECISION (int) precision
      9. LENGTH (int) length
      10. SCALE (short) scale
      11. RADIX (int)
      12. NULLABLE (short) nullable (DatabaseMetaData.columnNoNulls for primitive data types, DatabaseMetaData.columnNullable otherwise)
      13. REMARKS (String) description
      14. COLUMN_DEF (String) always null
      15. SQL_DATA_TYPE (int) for future use
      16. SQL_DATETIME_SUB (int) for future use
      17. CHAR_OCTET_LENGTH (int)
      18. ORDINAL_POSITION (int) the parameter index starting from 1 (0 is the return value)
      19. IS_NULLABLE (String) always "YES"
      20. SPECIFIC_NAME (String) non-ambiguous procedure name to distinguish overloads
      Specified by:
      getProcedureColumns in interface DatabaseMetaData
      Parameters:
      catalog - null or the catalog name
      schemaPattern - null (to get all objects) or a schema name (uppercase for unquoted names)
      procedureNamePattern - the procedure name pattern
      columnNamePattern - the procedure name pattern
      Returns:
      the procedure columns
      Throws:
      SQLException - if the connection is closed
    • getSchemas

      public ResultSet getSchemas() throws SQLException
      Gets the list of schemas. The result set is sorted by TABLE_SCHEM.
      1. TABLE_SCHEM (String) schema name
      2. TABLE_CATALOG (String) catalog name
      Specified by:
      getSchemas in interface DatabaseMetaData
      Returns:
      the schema list
      Throws:
      SQLException - if the connection is closed
    • getCatalogs

      public ResultSet getCatalogs() throws SQLException
      Gets the list of catalogs. The result set is sorted by TABLE_CAT.
      1. TABLE_CAT (String) catalog name
      Specified by:
      getCatalogs in interface DatabaseMetaData
      Returns:
      the catalog list
      Throws:
      SQLException - if the connection is closed
    • getTableTypes

      public ResultSet getTableTypes() throws SQLException
      Gets the list of table types. This call returns a result set with five records: "SYSTEM TABLE", "TABLE", "VIEW", "TABLE LINK" and "EXTERNAL".
      1. TABLE_TYPE (String) table type
      Specified by:
      getTableTypes in interface DatabaseMetaData
      Returns:
      the table types
      Throws:
      SQLException - if the connection is closed
    • getColumnPrivileges

      public ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) throws SQLException
      Gets the list of column privileges. The result set is sorted by COLUMN_NAME and PRIVILEGE
      1. TABLE_CAT (String) table catalog
      2. TABLE_SCHEM (String) table schema
      3. TABLE_NAME (String) table name
      4. COLUMN_NAME (String) column name
      5. GRANTOR (String) grantor of access
      6. GRANTEE (String) grantee of access
      7. PRIVILEGE (String) SELECT, INSERT, UPDATE, DELETE or REFERENCES (only one per row)
      8. IS_GRANTABLE (String) YES means the grantee can grant access to others
      Specified by:
      getColumnPrivileges in interface DatabaseMetaData
      Parameters:
      catalog - null (to get all objects) or the catalog name
      schema - null (to get all objects) or a schema name (uppercase for unquoted names)
      table - a table name (uppercase for unquoted names)
      columnNamePattern - null (to get all objects) or a column name (uppercase for unquoted names)
      Returns:
      the list of privileges
      Throws:
      SQLException - if the connection is closed
    • getTablePrivileges

      public ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
      Gets the list of table privileges. The result set is sorted by TABLE_SCHEM, TABLE_NAME, and PRIVILEGE.
      1. TABLE_CAT (String) table catalog
      2. TABLE_SCHEM (String) table schema
      3. TABLE_NAME (String) table name
      4. GRANTOR (String) grantor of access
      5. GRANTEE (String) grantee of access
      6. PRIVILEGE (String) SELECT, INSERT, UPDATE, DELETE or REFERENCES (only one per row)
      7. IS_GRANTABLE (String) YES means the grantee can grant access to others
      Specified by:
      getTablePrivileges in interface DatabaseMetaData
      Parameters:
      catalog - null (to get all objects) or the catalog name
      schemaPattern - null (to get all objects) or a schema name (uppercase for unquoted names)
      tableNamePattern - null (to get all objects) or a table name (uppercase for unquoted names)
      Returns:
      the list of privileges
      Throws:
      SQLException - if the connection is closed
    • getBestRowIdentifier

      public ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) throws SQLException
      Gets the list of columns that best identifier a row in a table. The list is ordered by SCOPE.
      1. SCOPE (short) scope of result (always bestRowSession)
      2. COLUMN_NAME (String) column name
      3. DATA_TYPE (short) SQL data type, see also java.sql.Types
      4. TYPE_NAME (String) type name
      5. COLUMN_SIZE (int) precision (values larger than 2 GB are returned as 2 GB)
      6. BUFFER_LENGTH (int) unused
      7. DECIMAL_DIGITS (short) scale
      8. PSEUDO_COLUMN (short) (always bestRowNotPseudo)
      Specified by:
      getBestRowIdentifier in interface DatabaseMetaData
      Parameters:
      catalog - null (to get all objects) or the catalog name
      schema - null (to get all objects) or a schema name (uppercase for unquoted names)
      table - table name (must be specified)
      scope - ignored
      nullable - ignored
      Returns:
      the primary key index
      Throws:
      SQLException - if the connection is closed
    • getVersionColumns

      public ResultSet getVersionColumns(String catalog, String schema, String table) throws SQLException
      Get the list of columns that are update when any value is updated. The result set is always empty.
      1. 1 SCOPE (int) not used
      2. 2 COLUMN_NAME (String) column name
      3. 3 DATA_TYPE (int) SQL data type - see also java.sql.Types
      4. 4 TYPE_NAME (String) data type name
      5. 5 COLUMN_SIZE (int) precision (values larger than 2 GB are returned as 2 GB)
      6. 6 BUFFER_LENGTH (int) length (bytes)
      7. 7 DECIMAL_DIGITS (int) scale
      8. 8 PSEUDO_COLUMN (int) is this column a pseudo column
      Specified by:
      getVersionColumns in interface DatabaseMetaData
      Parameters:
      catalog - null (to get all objects) or the catalog name
      schema - null (to get all objects) or a schema name
      table - table name (must be specified)
      Returns:
      an empty result set
      Throws:
      SQLException - if the connection is closed
    • getImportedKeys

      public ResultSet getImportedKeys(String catalog, String schema, String table) throws SQLException
      Gets the list of primary key columns that are referenced by a table. The result set is sorted by PKTABLE_CAT, PKTABLE_SCHEM, PKTABLE_NAME, FK_NAME, KEY_SEQ.
      1. PKTABLE_CAT (String) primary catalog
      2. PKTABLE_SCHEM (String) primary schema
      3. PKTABLE_NAME (String) primary table
      4. PKCOLUMN_NAME (String) primary column
      5. FKTABLE_CAT (String) foreign catalog
      6. FKTABLE_SCHEM (String) foreign schema
      7. FKTABLE_NAME (String) foreign table
      8. FKCOLUMN_NAME (String) foreign column
      9. KEY_SEQ (short) sequence number (1, 2, ...)
      10. UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
      11. DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
      12. FK_NAME (String) foreign key name
      13. PK_NAME (String) primary key name
      14. DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
      Specified by:
      getImportedKeys in interface DatabaseMetaData
      Parameters:
      catalog - null (to get all objects) or the catalog name
      schema - the schema name of the foreign table
      table - the name of the foreign table
      Returns:
      the result set
      Throws:
      SQLException - if the connection is closed
    • getExportedKeys

      public ResultSet getExportedKeys(String catalog, String schema, String table) throws SQLException
      Gets the list of foreign key columns that reference a table. The result set is sorted by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, FK_NAME, KEY_SEQ.
      1. PKTABLE_CAT (String) primary catalog
      2. PKTABLE_SCHEM (String) primary schema
      3. PKTABLE_NAME (String) primary table
      4. PKCOLUMN_NAME (String) primary column
      5. FKTABLE_CAT (String) foreign catalog
      6. FKTABLE_SCHEM (String) foreign schema
      7. FKTABLE_NAME (String) foreign table
      8. FKCOLUMN_NAME (String) foreign column
      9. KEY_SEQ (short) sequence number (1,2,...)
      10. UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
      11. DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
      12. FK_NAME (String) foreign key name
      13. PK_NAME (String) primary key name
      14. DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
      Specified by:
      getExportedKeys in interface DatabaseMetaData
      Parameters:
      catalog - null or the catalog name
      schema - the schema name of the primary table
      table - the name of the primary table
      Returns:
      the result set
      Throws:
      SQLException - if the connection is closed
    • getCrossReference

      public ResultSet getCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException
      Gets the list of foreign key columns that references a table, as well as the list of primary key columns that are references by a table. The result set is sorted by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, FK_NAME, KEY_SEQ.
      1. PKTABLE_CAT (String) primary catalog
      2. PKTABLE_SCHEM (String) primary schema
      3. PKTABLE_NAME (String) primary table
      4. PKCOLUMN_NAME (String) primary column
      5. FKTABLE_CAT (String) foreign catalog
      6. FKTABLE_SCHEM (String) foreign schema
      7. FKTABLE_NAME (String) foreign table
      8. FKCOLUMN_NAME (String) foreign column
      9. KEY_SEQ (short) sequence number (1,2,...)
      10. UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
      11. DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
      12. FK_NAME (String) foreign key name
      13. PK_NAME (String) primary key name
      14. DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
      Specified by:
      getCrossReference in interface DatabaseMetaData
      Parameters:
      primaryCatalog - null or the catalog name
      primarySchema - the schema name of the primary table (optional)
      primaryTable - the name of the primary table (must be specified)
      foreignCatalog - null or the catalog name
      foreignSchema - the schema name of the foreign table (optional)
      foreignTable - the name of the foreign table (must be specified)
      Returns:
      the result set
      Throws:
      SQLException - if the connection is closed
    • getUDTs

      public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) throws SQLException
      Gets the list of user-defined data types. This call returns an empty result set.
      1. TYPE_CAT (String) catalog
      2. TYPE_SCHEM (String) schema
      3. TYPE_NAME (String) type name
      4. CLASS_NAME (String) Java class
      5. DATA_TYPE (short) SQL Type - see also java.sql.Types
      6. REMARKS (String) description
      7. BASE_TYPE (short) base type - see also java.sql.Types
      Specified by:
      getUDTs in interface DatabaseMetaData
      Parameters:
      catalog - ignored
      schemaPattern - ignored
      typeNamePattern - ignored
      types - ignored
      Returns:
      an empty result set
      Throws:
      SQLException - if the connection is closed
    • getTypeInfo

      public ResultSet getTypeInfo() throws SQLException
      Gets the list of data types. The result set is sorted by DATA_TYPE and afterwards by how closely the data type maps to the corresponding JDBC SQL type (best match first).
      1. TYPE_NAME (String) type name
      2. DATA_TYPE (short) SQL data type - see also java.sql.Types
      3. PRECISION (int) maximum precision
      4. LITERAL_PREFIX (String) prefix used to quote a literal
      5. LITERAL_SUFFIX (String) suffix used to quote a literal
      6. CREATE_PARAMS (String) parameters used (may be null)
      7. NULLABLE (short) typeNoNulls (NULL not allowed) or typeNullable
      8. CASE_SENSITIVE (boolean) case sensitive
      9. SEARCHABLE (short) typeSearchable
      10. UNSIGNED_ATTRIBUTE (boolean) unsigned
      11. FIXED_PREC_SCALE (boolean) fixed precision
      12. AUTO_INCREMENT (boolean) auto increment
      13. LOCAL_TYPE_NAME (String) localized version of the data type
      14. MINIMUM_SCALE (short) minimum scale
      15. MAXIMUM_SCALE (short) maximum scale
      16. SQL_DATA_TYPE (int) unused
      17. SQL_DATETIME_SUB (int) unused
      18. NUM_PREC_RADIX (int) 2 for binary, 10 for decimal
      Specified by:
      getTypeInfo in interface DatabaseMetaData
      Returns:
      the list of data types
      Throws:
      SQLException - if the connection is closed
    • usesLocalFiles

      public boolean usesLocalFiles()
      Checks if this database store data in local files.
      Specified by:
      usesLocalFiles in interface DatabaseMetaData
      Returns:
      true
    • usesLocalFilePerTable

      public boolean usesLocalFilePerTable()
      Checks if this database use one file per table.
      Specified by:
      usesLocalFilePerTable in interface DatabaseMetaData
      Returns:
      false
    • getIdentifierQuoteString

      public String getIdentifierQuoteString()
      Returns the string used to quote identifiers.
      Specified by:
      getIdentifierQuoteString in interface DatabaseMetaData
      Returns:
      a double quote
    • getSQLKeywords

      public String getSQLKeywords() throws SQLException
      Gets the comma-separated list of all SQL keywords that are not supported as unquoted identifiers, in addition to the SQL:2003 reserved words.

      List of keywords in H2 may depend on compatibility mode and other settings.

      Specified by:
      getSQLKeywords in interface DatabaseMetaData
      Returns:
      a list of additional keywords
      Throws:
      SQLException
    • getNumericFunctions

      public String getNumericFunctions() throws SQLException
      Returns the list of numeric functions supported by this database.
      Specified by:
      getNumericFunctions in interface DatabaseMetaData
      Returns:
      the list
      Throws:
      SQLException
    • getStringFunctions

      public String getStringFunctions() throws SQLException
      Returns the list of string functions supported by this database.
      Specified by:
      getStringFunctions in interface DatabaseMetaData
      Returns:
      the list
      Throws:
      SQLException
    • getSystemFunctions

      public String getSystemFunctions() throws SQLException
      Returns the list of system functions supported by this database.
      Specified by:
      getSystemFunctions in interface DatabaseMetaData
      Returns:
      the list
      Throws:
      SQLException
    • getTimeDateFunctions

      public String getTimeDateFunctions() throws SQLException
      Returns the list of date and time functions supported by this database.
      Specified by:
      getTimeDateFunctions in interface DatabaseMetaData
      Returns:
      the list
      Throws:
      SQLException
    • getSearchStringEscape

      public String getSearchStringEscape() throws SQLException
      Returns the default escape character for DatabaseMetaData search patterns.
      Specified by:
      getSearchStringEscape in interface DatabaseMetaData
      Returns:
      the default escape character (always '\', independent on the mode)
      Throws:
      SQLException
    • getExtraNameCharacters

      public String getExtraNameCharacters()
      Returns the characters that are allowed for identifiers in addiction to A-Z, a-z, 0-9 and '_'.
      Specified by:
      getExtraNameCharacters in interface DatabaseMetaData
      Returns:
      an empty String ("")
    • supportsAlterTableWithAddColumn

      public boolean supportsAlterTableWithAddColumn()
      Returns whether alter table with add column is supported.
      Specified by:
      supportsAlterTableWithAddColumn in interface DatabaseMetaData
      Returns:
      true
    • supportsAlterTableWithDropColumn

      public boolean supportsAlterTableWithDropColumn()
      Returns whether alter table with drop column is supported.
      Specified by:
      supportsAlterTableWithDropColumn in interface DatabaseMetaData
      Returns:
      true
    • supportsColumnAliasing

      public boolean supportsColumnAliasing()
      Returns whether column aliasing is supported.
      Specified by:
      supportsColumnAliasing in interface DatabaseMetaData
      Returns:
      true
    • nullPlusNonNullIsNull

      public boolean nullPlusNonNullIsNull()
      Returns whether NULL+1 is NULL or not.
      Specified by:
      nullPlusNonNullIsNull in interface DatabaseMetaData
      Returns:
      true
    • supportsConvert

      public boolean supportsConvert()
      Returns whether CONVERT is supported.
      Specified by:
      supportsConvert in interface DatabaseMetaData
      Returns:
      true
    • supportsConvert

      public boolean supportsConvert(int fromType, int toType)
      Returns whether CONVERT is supported for one datatype to another.
      Specified by:
      supportsConvert in interface DatabaseMetaData
      Parameters:
      fromType - the source SQL type
      toType - the target SQL type
      Returns:
      true
    • supportsTableCorrelationNames

      public boolean supportsTableCorrelationNames()
      Returns whether table correlation names (table alias) are supported.
      Specified by:
      supportsTableCorrelationNames in interface DatabaseMetaData
      Returns:
      true
    • supportsDifferentTableCorrelationNames

      public boolean supportsDifferentTableCorrelationNames()
      Returns whether table correlation names (table alias) are restricted to be different than table names.
      Specified by:
      supportsDifferentTableCorrelationNames in interface DatabaseMetaData
      Returns:
      false
    • supportsExpressionsInOrderBy

      public boolean supportsExpressionsInOrderBy()
      Returns whether expression in ORDER BY are supported.
      Specified by:
      supportsExpressionsInOrderBy in interface DatabaseMetaData
      Returns:
      true
    • supportsOrderByUnrelated

      public boolean supportsOrderByUnrelated()
      Returns whether ORDER BY is supported if the column is not in the SELECT list.
      Specified by:
      supportsOrderByUnrelated in interface DatabaseMetaData
      Returns:
      true
    • supportsGroupBy

      public boolean supportsGroupBy()
      Returns whether GROUP BY is supported.
      Specified by:
      supportsGroupBy in interface DatabaseMetaData
      Returns:
      true
    • supportsGroupByUnrelated

      public boolean supportsGroupByUnrelated()
      Returns whether GROUP BY is supported if the column is not in the SELECT list.
      Specified by:
      supportsGroupByUnrelated in interface DatabaseMetaData
      Returns:
      true
    • supportsGroupByBeyondSelect

      public boolean supportsGroupByBeyondSelect()
      Checks whether a GROUP BY clause can use columns that are not in the SELECT clause, provided that it specifies all the columns in the SELECT clause.
      Specified by:
      supportsGroupByBeyondSelect in interface DatabaseMetaData
      Returns:
      true
    • supportsLikeEscapeClause

      public boolean supportsLikeEscapeClause()
      Returns whether LIKE... ESCAPE is supported.
      Specified by:
      supportsLikeEscapeClause in interface DatabaseMetaData
      Returns:
      true
    • supportsMultipleResultSets

      public boolean supportsMultipleResultSets()
      Returns whether multiple result sets are supported.
      Specified by:
      supportsMultipleResultSets in interface DatabaseMetaData
      Returns:
      false
    • supportsMultipleTransactions

      public boolean supportsMultipleTransactions()
      Returns whether multiple transactions (on different connections) are supported.
      Specified by:
      supportsMultipleTransactions in interface DatabaseMetaData
      Returns:
      true
    • supportsNonNullableColumns

      public boolean supportsNonNullableColumns()
      Returns whether columns with NOT NULL are supported.
      Specified by:
      supportsNonNullableColumns in interface DatabaseMetaData
      Returns:
      true
    • supportsMinimumSQLGrammar

      public boolean supportsMinimumSQLGrammar()
      Returns whether ODBC Minimum SQL grammar is supported.
      Specified by:
      supportsMinimumSQLGrammar in interface DatabaseMetaData
      Returns:
      true
    • supportsCoreSQLGrammar

      public boolean supportsCoreSQLGrammar()
      Returns whether ODBC Core SQL grammar is supported.
      Specified by:
      supportsCoreSQLGrammar in interface DatabaseMetaData
      Returns:
      true
    • supportsExtendedSQLGrammar

      public boolean supportsExtendedSQLGrammar()
      Returns whether ODBC Extended SQL grammar is supported.
      Specified by:
      supportsExtendedSQLGrammar in interface DatabaseMetaData
      Returns:
      false
    • supportsANSI92EntryLevelSQL

      public boolean supportsANSI92EntryLevelSQL()
      Returns whether SQL-92 entry level grammar is supported.
      Specified by:
      supportsANSI92EntryLevelSQL in interface DatabaseMetaData
      Returns:
      true
    • supportsANSI92IntermediateSQL

      public boolean supportsANSI92IntermediateSQL()
      Returns whether SQL-92 intermediate level grammar is supported.
      Specified by:
      supportsANSI92IntermediateSQL in interface DatabaseMetaData
      Returns:
      false
    • supportsANSI92FullSQL

      public boolean supportsANSI92FullSQL()
      Returns whether SQL-92 full level grammar is supported.
      Specified by:
      supportsANSI92FullSQL in interface DatabaseMetaData
      Returns:
      false
    • supportsIntegrityEnhancementFacility

      public boolean supportsIntegrityEnhancementFacility()
      Returns whether referential integrity is supported.
      Specified by:
      supportsIntegrityEnhancementFacility in interface DatabaseMetaData
      Returns:
      true
    • supportsOuterJoins

      public boolean supportsOuterJoins()
      Returns whether outer joins are supported.
      Specified by:
      supportsOuterJoins in interface DatabaseMetaData
      Returns:
      true
    • supportsFullOuterJoins

      public boolean supportsFullOuterJoins()
      Returns whether full outer joins are supported.
      Specified by:
      supportsFullOuterJoins in interface DatabaseMetaData
      Returns:
      false
    • supportsLimitedOuterJoins

      public boolean supportsLimitedOuterJoins()
      Returns whether limited outer joins are supported.
      Specified by:
      supportsLimitedOuterJoins in interface DatabaseMetaData
      Returns:
      true
    • getSchemaTerm

      public String getSchemaTerm()
      Returns the term for "schema".
      Specified by:
      getSchemaTerm in interface DatabaseMetaData
      Returns:
      "schema"
    • getProcedureTerm

      public String getProcedureTerm()
      Returns the term for "procedure".
      Specified by:
      getProcedureTerm in interface DatabaseMetaData
      Returns:
      "procedure"
    • getCatalogTerm

      public String getCatalogTerm()
      Returns the term for "catalog".
      Specified by:
      getCatalogTerm in interface DatabaseMetaData
      Returns:
      "catalog"
    • isCatalogAtStart

      public boolean isCatalogAtStart()
      Returns whether the catalog is at the beginning.
      Specified by:
      isCatalogAtStart in interface DatabaseMetaData
      Returns:
      true
    • getCatalogSeparator

      public String getCatalogSeparator()
      Returns the catalog separator.
      Specified by:
      getCatalogSeparator in interface DatabaseMetaData
      Returns:
      "."
    • supportsSchemasInDataManipulation

      public boolean supportsSchemasInDataManipulation()
      Returns whether the schema name in INSERT, UPDATE, DELETE is supported.
      Specified by:
      supportsSchemasInDataManipulation in interface DatabaseMetaData
      Returns:
      true
    • supportsSchemasInProcedureCalls

      public boolean supportsSchemasInProcedureCalls()
      Returns whether the schema name in procedure calls is supported.
      Specified by:
      supportsSchemasInProcedureCalls in interface DatabaseMetaData
      Returns:
      true
    • supportsSchemasInTableDefinitions

      public boolean supportsSchemasInTableDefinitions()
      Returns whether the schema name in CREATE TABLE is supported.
      Specified by:
      supportsSchemasInTableDefinitions in interface DatabaseMetaData
      Returns:
      true
    • supportsSchemasInIndexDefinitions

      public boolean supportsSchemasInIndexDefinitions()
      Returns whether the schema name in CREATE INDEX is supported.
      Specified by:
      supportsSchemasInIndexDefinitions in interface DatabaseMetaData
      Returns:
      true
    • supportsSchemasInPrivilegeDefinitions

      public boolean supportsSchemasInPrivilegeDefinitions()
      Returns whether the schema name in GRANT is supported.
      Specified by:
      supportsSchemasInPrivilegeDefinitions in interface DatabaseMetaData
      Returns:
      true
    • supportsCatalogsInDataManipulation

      public boolean supportsCatalogsInDataManipulation()
      Returns whether the catalog name in INSERT, UPDATE, DELETE is supported.
      Specified by:
      supportsCatalogsInDataManipulation in interface DatabaseMetaData
      Returns:
      true
    • supportsCatalogsInProcedureCalls

      public boolean supportsCatalogsInProcedureCalls()
      Returns whether the catalog name in procedure calls is supported.
      Specified by:
      supportsCatalogsInProcedureCalls in interface DatabaseMetaData
      Returns:
      false
    • supportsCatalogsInTableDefinitions

      public boolean supportsCatalogsInTableDefinitions()
      Returns whether the catalog name in CREATE TABLE is supported.
      Specified by:
      supportsCatalogsInTableDefinitions in interface DatabaseMetaData
      Returns:
      true
    • supportsCatalogsInIndexDefinitions

      public boolean supportsCatalogsInIndexDefinitions()
      Returns whether the catalog name in CREATE INDEX is supported.
      Specified by:
      supportsCatalogsInIndexDefinitions in interface DatabaseMetaData
      Returns:
      true
    • supportsCatalogsInPrivilegeDefinitions

      public boolean supportsCatalogsInPrivilegeDefinitions()
      Returns whether the catalog name in GRANT is supported.
      Specified by:
      supportsCatalogsInPrivilegeDefinitions in interface DatabaseMetaData
      Returns:
      true
    • supportsPositionedDelete

      public boolean supportsPositionedDelete()
      Returns whether positioned deletes are supported.
      Specified by:
      supportsPositionedDelete in interface DatabaseMetaData
      Returns:
      false
    • supportsPositionedUpdate

      public boolean supportsPositionedUpdate()
      Returns whether positioned updates are supported.
      Specified by:
      supportsPositionedUpdate in interface DatabaseMetaData
      Returns:
      false
    • supportsSelectForUpdate

      public boolean supportsSelectForUpdate()
      Returns whether SELECT ... FOR UPDATE is supported.
      Specified by:
      supportsSelectForUpdate in interface DatabaseMetaData
      Returns:
      true
    • supportsStoredProcedures

      public boolean supportsStoredProcedures()
      Returns whether stored procedures are supported.
      Specified by:
      supportsStoredProcedures in interface DatabaseMetaData
      Returns:
      false
    • supportsSubqueriesInComparisons

      public boolean supportsSubqueriesInComparisons()
      Returns whether subqueries (SELECT) in comparisons are supported.
      Specified by:
      supportsSubqueriesInComparisons in interface DatabaseMetaData
      Returns:
      true
    • supportsSubqueriesInExists

      public boolean supportsSubqueriesInExists()
      Returns whether SELECT in EXISTS is supported.
      Specified by:
      supportsSubqueriesInExists in interface DatabaseMetaData
      Returns:
      true
    • supportsSubqueriesInIns

      public boolean supportsSubqueriesInIns()
      Returns whether IN(SELECT...) is supported.
      Specified by:
      supportsSubqueriesInIns in interface DatabaseMetaData
      Returns:
      true
    • supportsSubqueriesInQuantifieds

      public boolean supportsSubqueriesInQuantifieds()
      Returns whether subqueries in quantified expression are supported.
      Specified by:
      supportsSubqueriesInQuantifieds in interface DatabaseMetaData
      Returns:
      true
    • supportsCorrelatedSubqueries

      public boolean supportsCorrelatedSubqueries()
      Returns whether correlated subqueries are supported.
      Specified by:
      supportsCorrelatedSubqueries in interface DatabaseMetaData
      Returns:
      true
    • supportsUnion

      public boolean supportsUnion()
      Returns whether UNION SELECT is supported.
      Specified by:
      supportsUnion in interface DatabaseMetaData
      Returns:
      true
    • supportsUnionAll

      public boolean supportsUnionAll()
      Returns whether UNION ALL SELECT is supported.
      Specified by:
      supportsUnionAll in interface DatabaseMetaData
      Returns:
      true
    • supportsOpenCursorsAcrossCommit

      public boolean supportsOpenCursorsAcrossCommit()
      Returns whether open result sets across commits are supported.
      Specified by:
      supportsOpenCursorsAcrossCommit in interface DatabaseMetaData
      Returns:
      false
    • supportsOpenCursorsAcrossRollback

      public boolean supportsOpenCursorsAcrossRollback()
      Returns whether open result sets across rollback are supported.
      Specified by:
      supportsOpenCursorsAcrossRollback in interface DatabaseMetaData
      Returns:
      false
    • supportsOpenStatementsAcrossCommit

      public boolean supportsOpenStatementsAcrossCommit()
      Returns whether open statements across commit are supported.
      Specified by:
      supportsOpenStatementsAcrossCommit in interface DatabaseMetaData
      Returns:
      true
    • supportsOpenStatementsAcrossRollback

      public boolean supportsOpenStatementsAcrossRollback()
      Returns whether open statements across rollback are supported.
      Specified by:
      supportsOpenStatementsAcrossRollback in interface DatabaseMetaData
      Returns:
      true
    • supportsTransactions

      public boolean supportsTransactions()
      Returns whether transactions are supported.
      Specified by:
      supportsTransactions in interface DatabaseMetaData
      Returns:
      true
    • supportsTransactionIsolationLevel

      public boolean supportsTransactionIsolationLevel(int level) throws SQLException
      Returns whether a specific transaction isolation level is supported.
      Specified by:
      supportsTransactionIsolationLevel in interface DatabaseMetaData
      Parameters:
      level - the transaction isolation level (Connection.TRANSACTION_*)
      Returns:
      true
      Throws:
      SQLException
    • supportsDataDefinitionAndDataManipulationTransactions

      public boolean supportsDataDefinitionAndDataManipulationTransactions()
      Returns whether data manipulation and CREATE/DROP is supported in transactions.
      Specified by:
      supportsDataDefinitionAndDataManipulationTransactions in interface DatabaseMetaData
      Returns:
      false
    • supportsDataManipulationTransactionsOnly

      public boolean supportsDataManipulationTransactionsOnly()
      Returns whether only data manipulations are supported in transactions.
      Specified by:
      supportsDataManipulationTransactionsOnly in interface DatabaseMetaData
      Returns:
      true
    • dataDefinitionCausesTransactionCommit

      public boolean dataDefinitionCausesTransactionCommit()
      Returns whether CREATE/DROP commit an open transaction.
      Specified by:
      dataDefinitionCausesTransactionCommit in interface DatabaseMetaData
      Returns:
      true
    • dataDefinitionIgnoredInTransactions

      public boolean dataDefinitionIgnoredInTransactions()
      Returns whether CREATE/DROP do not affect transactions.
      Specified by:
      dataDefinitionIgnoredInTransactions in interface DatabaseMetaData
      Returns:
      false
    • supportsResultSetType

      public boolean supportsResultSetType(int type)
      Returns whether a specific result set type is supported. ResultSet.TYPE_SCROLL_SENSITIVE is not supported.
      Specified by:
      supportsResultSetType in interface DatabaseMetaData
      Parameters:
      type - the result set type
      Returns:
      true for all types except ResultSet.TYPE_SCROLL_SENSITIVE
    • supportsResultSetConcurrency

      public boolean supportsResultSetConcurrency(int type, int concurrency)
      Returns whether a specific result set concurrency is supported. ResultSet.TYPE_SCROLL_SENSITIVE is not supported.
      Specified by:
      supportsResultSetConcurrency in interface DatabaseMetaData
      Parameters:
      type - the result set type
      concurrency - the result set concurrency
      Returns:
      true if the type is not ResultSet.TYPE_SCROLL_SENSITIVE
    • ownUpdatesAreVisible

      public boolean ownUpdatesAreVisible(int type)
      Returns whether own updates are visible.
      Specified by:
      ownUpdatesAreVisible in interface DatabaseMetaData
      Parameters:
      type - the result set type
      Returns:
      true
    • ownDeletesAreVisible

      public boolean ownDeletesAreVisible(int type)
      Returns whether own deletes are visible.
      Specified by:
      ownDeletesAreVisible in interface DatabaseMetaData
      Parameters:
      type - the result set type
      Returns:
      false
    • ownInsertsAreVisible

      public boolean ownInsertsAreVisible(int type)
      Returns whether own inserts are visible.
      Specified by:
      ownInsertsAreVisible in interface DatabaseMetaData
      Parameters:
      type - the result set type
      Returns:
      false
    • othersUpdatesAreVisible

      public boolean othersUpdatesAreVisible(int type)
      Returns whether other updates are visible.
      Specified by:
      othersUpdatesAreVisible in interface DatabaseMetaData
      Parameters:
      type - the result set type
      Returns:
      false
    • othersDeletesAreVisible

      public boolean othersDeletesAreVisible(int type)
      Returns whether other deletes are visible.
      Specified by:
      othersDeletesAreVisible in interface DatabaseMetaData
      Parameters:
      type - the result set type
      Returns:
      false
    • othersInsertsAreVisible

      public boolean othersInsertsAreVisible(int type)
      Returns whether other inserts are visible.
      Specified by:
      othersInsertsAreVisible in interface DatabaseMetaData
      Parameters:
      type - the result set type
      Returns:
      false
    • updatesAreDetected

      public boolean updatesAreDetected(int type)
      Returns whether updates are detected.
      Specified by:
      updatesAreDetected in interface DatabaseMetaData
      Parameters:
      type - the result set type
      Returns:
      false
    • deletesAreDetected

      public boolean deletesAreDetected(int type)
      Returns whether deletes are detected.
      Specified by:
      deletesAreDetected in interface DatabaseMetaData
      Parameters:
      type - the result set type
      Returns:
      false
    • insertsAreDetected

      public boolean insertsAreDetected(int type)
      Returns whether inserts are detected.
      Specified by:
      insertsAreDetected in interface DatabaseMetaData
      Parameters:
      type - the result set type
      Returns:
      false
    • supportsBatchUpdates

      public boolean supportsBatchUpdates()
      Returns whether batch updates are supported.
      Specified by:
      supportsBatchUpdates in interface DatabaseMetaData
      Returns:
      true
    • doesMaxRowSizeIncludeBlobs

      public boolean doesMaxRowSizeIncludeBlobs()
      Returns whether the maximum row size includes blobs.
      Specified by:
      doesMaxRowSizeIncludeBlobs in interface DatabaseMetaData
      Returns:
      false
    • getDefaultTransactionIsolation

      public int getDefaultTransactionIsolation()
      Returns the default transaction isolation level.
      Specified by:
      getDefaultTransactionIsolation in interface DatabaseMetaData
      Returns:
      Connection.TRANSACTION_READ_COMMITTED
    • supportsMixedCaseIdentifiers

      public boolean supportsMixedCaseIdentifiers() throws SQLException
      Checks if for CREATE TABLE Test(ID INT), getTables returns Test as the table name and identifiers are case sensitive.
      Specified by:
      supportsMixedCaseIdentifiers in interface DatabaseMetaData
      Returns:
      true is so, false otherwise
      Throws:
      SQLException
    • storesUpperCaseIdentifiers

      public boolean storesUpperCaseIdentifiers() throws SQLException
      Checks if for CREATE TABLE Test(ID INT), getTables returns TEST as the table name.
      Specified by:
      storesUpperCaseIdentifiers in interface DatabaseMetaData
      Returns:
      true is so, false otherwise
      Throws:
      SQLException
    • storesLowerCaseIdentifiers

      public boolean storesLowerCaseIdentifiers() throws SQLException
      Checks if for CREATE TABLE Test(ID INT), getTables returns test as the table name.
      Specified by:
      storesLowerCaseIdentifiers in interface DatabaseMetaData
      Returns:
      true is so, false otherwise
      Throws:
      SQLException
    • storesMixedCaseIdentifiers

      public boolean storesMixedCaseIdentifiers() throws SQLException
      Checks if for CREATE TABLE Test(ID INT), getTables returns Test as the table name and identifiers are not case sensitive.
      Specified by:
      storesMixedCaseIdentifiers in interface DatabaseMetaData
      Returns:
      true is so, false otherwise
      Throws:
      SQLException
    • supportsMixedCaseQuotedIdentifiers

      public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException
      Checks if a table created with CREATE TABLE "Test"(ID INT) is a different table than a table created with CREATE TABLE "TEST"(ID INT).
      Specified by:
      supportsMixedCaseQuotedIdentifiers in interface DatabaseMetaData
      Returns:
      true is so, false otherwise
      Throws:
      SQLException
    • storesUpperCaseQuotedIdentifiers

      public boolean storesUpperCaseQuotedIdentifiers() throws SQLException
      Checks if for CREATE TABLE "Test"(ID INT), getTables returns TEST as the table name.
      Specified by:
      storesUpperCaseQuotedIdentifiers in interface DatabaseMetaData
      Returns:
      false
      Throws:
      SQLException
    • storesLowerCaseQuotedIdentifiers

      public boolean storesLowerCaseQuotedIdentifiers() throws SQLException
      Checks if for CREATE TABLE "Test"(ID INT), getTables returns test as the table name.
      Specified by:
      storesLowerCaseQuotedIdentifiers in interface DatabaseMetaData
      Returns:
      false
      Throws:
      SQLException
    • storesMixedCaseQuotedIdentifiers

      public boolean storesMixedCaseQuotedIdentifiers() throws SQLException
      Checks if for CREATE TABLE "Test"(ID INT), getTables returns Test as the table name and identifiers are case insensitive.
      Specified by:
      storesMixedCaseQuotedIdentifiers in interface DatabaseMetaData
      Returns:
      true is so, false otherwise
      Throws:
      SQLException
    • getMaxBinaryLiteralLength

      public int getMaxBinaryLiteralLength()
      Returns the maximum length for hex values (characters).
      Specified by:
      getMaxBinaryLiteralLength in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxCharLiteralLength

      public int getMaxCharLiteralLength()
      Returns the maximum length for literals.
      Specified by:
      getMaxCharLiteralLength in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxColumnNameLength

      public int getMaxColumnNameLength()
      Returns the maximum length for column names.
      Specified by:
      getMaxColumnNameLength in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxColumnsInGroupBy

      public int getMaxColumnsInGroupBy()
      Returns the maximum number of columns in GROUP BY.
      Specified by:
      getMaxColumnsInGroupBy in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxColumnsInIndex

      public int getMaxColumnsInIndex()
      Returns the maximum number of columns in CREATE INDEX.
      Specified by:
      getMaxColumnsInIndex in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxColumnsInOrderBy

      public int getMaxColumnsInOrderBy()
      Returns the maximum number of columns in ORDER BY.
      Specified by:
      getMaxColumnsInOrderBy in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxColumnsInSelect

      public int getMaxColumnsInSelect()
      Returns the maximum number of columns in SELECT.
      Specified by:
      getMaxColumnsInSelect in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxColumnsInTable

      public int getMaxColumnsInTable()
      Returns the maximum number of columns in CREATE TABLE.
      Specified by:
      getMaxColumnsInTable in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxConnections

      public int getMaxConnections()
      Returns the maximum number of open connection.
      Specified by:
      getMaxConnections in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxCursorNameLength

      public int getMaxCursorNameLength()
      Returns the maximum length for a cursor name.
      Specified by:
      getMaxCursorNameLength in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxIndexLength

      public int getMaxIndexLength()
      Returns the maximum length for an index (in bytes).
      Specified by:
      getMaxIndexLength in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxSchemaNameLength

      public int getMaxSchemaNameLength()
      Returns the maximum length for a schema name.
      Specified by:
      getMaxSchemaNameLength in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxProcedureNameLength

      public int getMaxProcedureNameLength()
      Returns the maximum length for a procedure name.
      Specified by:
      getMaxProcedureNameLength in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxCatalogNameLength

      public int getMaxCatalogNameLength()
      Returns the maximum length for a catalog name.
      Specified by:
      getMaxCatalogNameLength in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxRowSize

      public int getMaxRowSize()
      Returns the maximum size of a row (in bytes).
      Specified by:
      getMaxRowSize in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxStatementLength

      public int getMaxStatementLength()
      Returns the maximum length of a statement.
      Specified by:
      getMaxStatementLength in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxStatements

      public int getMaxStatements()
      Returns the maximum number of open statements.
      Specified by:
      getMaxStatements in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxTableNameLength

      public int getMaxTableNameLength()
      Returns the maximum length for a table name.
      Specified by:
      getMaxTableNameLength in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxTablesInSelect

      public int getMaxTablesInSelect()
      Returns the maximum number of tables in a SELECT.
      Specified by:
      getMaxTablesInSelect in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • getMaxUserNameLength

      public int getMaxUserNameLength()
      Returns the maximum length for a user name.
      Specified by:
      getMaxUserNameLength in interface DatabaseMetaData
      Returns:
      0 for limit is unknown
    • supportsSavepoints

      public boolean supportsSavepoints()
      Does the database support savepoints.
      Specified by:
      supportsSavepoints in interface DatabaseMetaData
      Returns:
      true
    • supportsNamedParameters

      public boolean supportsNamedParameters()
      Does the database support named parameters.
      Specified by:
      supportsNamedParameters in interface DatabaseMetaData
      Returns:
      false
    • supportsMultipleOpenResults

      public boolean supportsMultipleOpenResults()
      Does the database support multiple open result sets returned from a CallableStatement.
      Specified by:
      supportsMultipleOpenResults in interface DatabaseMetaData
      Returns:
      false
    • supportsGetGeneratedKeys

      public boolean supportsGetGeneratedKeys()
      Does the database support getGeneratedKeys.
      Specified by:
      supportsGetGeneratedKeys in interface DatabaseMetaData
      Returns:
      true
    • getSuperTypes

      public ResultSet getSuperTypes(String catalog, String schemaPattern, String typeNamePattern) throws SQLException
      [Not supported]
      Specified by:
      getSuperTypes in interface DatabaseMetaData
      Throws:
      SQLException
    • getSuperTables

      public ResultSet getSuperTables(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
      Get the list of super tables of a table. This method currently returns an empty result set.
      1. TABLE_CAT (String) table catalog
      2. TABLE_SCHEM (String) table schema
      3. TABLE_NAME (String) table name
      4. SUPERTABLE_NAME (String) the name of the super table
      Specified by:
      getSuperTables in interface DatabaseMetaData
      Parameters:
      catalog - null (to get all objects) or the catalog name
      schemaPattern - null (to get all objects) or a schema name (uppercase for unquoted names)
      tableNamePattern - null (to get all objects) or a table name pattern (uppercase for unquoted names)
      Returns:
      an empty result set
      Throws:
      SQLException
    • getAttributes

      public ResultSet getAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throws SQLException
      [Not supported]
      Specified by:
      getAttributes in interface DatabaseMetaData
      Throws:
      SQLException
    • supportsResultSetHoldability

      public boolean supportsResultSetHoldability(int holdability)
      Does this database supports a result set holdability.
      Specified by:
      supportsResultSetHoldability in interface DatabaseMetaData
      Parameters:
      holdability - ResultSet.HOLD_CURSORS_OVER_COMMIT or CLOSE_CURSORS_AT_COMMIT
      Returns:
      true if the holdability is ResultSet.CLOSE_CURSORS_AT_COMMIT
    • getResultSetHoldability

      public int getResultSetHoldability()
      Gets the result set holdability.
      Specified by:
      getResultSetHoldability in interface DatabaseMetaData
      Returns:
      ResultSet.CLOSE_CURSORS_AT_COMMIT
    • getDatabaseMajorVersion

      public int getDatabaseMajorVersion() throws SQLException
      Gets the major version of the database.
      Specified by:
      getDatabaseMajorVersion in interface DatabaseMetaData
      Returns:
      the major version
      Throws:
      SQLException
    • getDatabaseMinorVersion

      public int getDatabaseMinorVersion() throws SQLException
      Gets the minor version of the database.
      Specified by:
      getDatabaseMinorVersion in interface DatabaseMetaData
      Returns:
      the minor version
      Throws:
      SQLException
    • getJDBCMajorVersion

      public int getJDBCMajorVersion()
      Gets the major version of the supported JDBC API.
      Specified by:
      getJDBCMajorVersion in interface DatabaseMetaData
      Returns:
      the major version (4)
    • getJDBCMinorVersion

      public int getJDBCMinorVersion()
      Gets the minor version of the supported JDBC API.
      Specified by:
      getJDBCMinorVersion in interface DatabaseMetaData
      Returns:
      the minor version (2)
    • getSQLStateType

      public int getSQLStateType()
      Gets the SQL State type.
      Specified by:
      getSQLStateType in interface DatabaseMetaData
      Returns:
      DatabaseMetaData.sqlStateSQL
    • locatorsUpdateCopy

      public boolean locatorsUpdateCopy()
      Does the database make a copy before updating.
      Specified by:
      locatorsUpdateCopy in interface DatabaseMetaData
      Returns:
      false
    • supportsStatementPooling

      public boolean supportsStatementPooling()
      Does the database support statement pooling.
      Specified by:
      supportsStatementPooling in interface DatabaseMetaData
      Returns:
      false
    • getRowIdLifetime

      public RowIdLifetime getRowIdLifetime()
      Get the lifetime of a rowid.
      Specified by:
      getRowIdLifetime in interface DatabaseMetaData
      Returns:
      ROWID_UNSUPPORTED
    • getSchemas

      public ResultSet getSchemas(String catalogPattern, String schemaPattern) throws SQLException
      Gets the list of schemas in the database. The result set is sorted by TABLE_SCHEM.
      1. TABLE_SCHEM (String) schema name
      2. TABLE_CATALOG (String) catalog name
      Specified by:
      getSchemas in interface DatabaseMetaData
      Parameters:
      catalogPattern - null (to get all objects) or the catalog name
      schemaPattern - null (to get all objects) or a schema name (uppercase for unquoted names)
      Returns:
      the schema list
      Throws:
      SQLException - if the connection is closed
    • supportsStoredFunctionsUsingCallSyntax

      public boolean supportsStoredFunctionsUsingCallSyntax()
      Returns whether the database supports calling functions using the call syntax.
      Specified by:
      supportsStoredFunctionsUsingCallSyntax in interface DatabaseMetaData
      Returns:
      true
    • autoCommitFailureClosesAllResultSets

      public boolean autoCommitFailureClosesAllResultSets()
      Returns whether an exception while auto commit is on closes all result sets.
      Specified by:
      autoCommitFailureClosesAllResultSets in interface DatabaseMetaData
      Returns:
      false
    • getClientInfoProperties

      public ResultSet getClientInfoProperties() throws SQLException
      Specified by:
      getClientInfoProperties in interface DatabaseMetaData
      Throws:
      SQLException
    • unwrap

      public <T> T unwrap(Class<T> iface) throws SQLException
      Return an object of this class if possible.
      Specified by:
      unwrap in interface Wrapper
      Parameters:
      iface - the class
      Returns:
      this
      Throws:
      SQLException
    • isWrapperFor

      public boolean isWrapperFor(Class<?> iface) throws SQLException
      Checks if unwrap can return an object of this class.
      Specified by:
      isWrapperFor in interface Wrapper
      Parameters:
      iface - the class
      Returns:
      whether or not the interface is assignable from this class
      Throws:
      SQLException
    • getFunctionColumns

      public ResultSet getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws SQLException
      [Not supported] Gets the list of function columns.
      Specified by:
      getFunctionColumns in interface DatabaseMetaData
      Throws:
      SQLException
    • getFunctions

      public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQLException
      [Not supported] Gets the list of functions.
      Specified by:
      getFunctions in interface DatabaseMetaData
      Throws:
      SQLException
    • generatedKeyAlwaysReturned

      public boolean generatedKeyAlwaysReturned()
      Returns whether database always returns generated keys if valid names or indexes of columns were specified and command was completed successfully.
      Specified by:
      generatedKeyAlwaysReturned in interface DatabaseMetaData
      Returns:
      true
    • getPseudoColumns

      public ResultSet getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
      Gets the list of pseudo and invisible columns. The result set is sorted by TABLE_SCHEM, TABLE_NAME, and COLUMN_NAME.
      1. TABLE_CAT (String) table catalog
      2. TABLE_SCHEM (String) table schema
      3. TABLE_NAME (String) table name
      4. COLUMN_NAME (String) column name
      5. DATA_TYPE (int) data type (see java.sql.Types)
      6. COLUMN_SIZE (int) precision (values larger than 2 GB are returned as 2 GB)
      7. DECIMAL_DIGITS (int) scale (0 for INTEGER and VARCHAR)
      8. NUM_PREC_RADIX (int) radix
      9. COLUMN_USAGE (String) he allowed usage for the column, see PseudoColumnUsage
      10. REMARKS (String) comment
      11. CHAR_OCTET_LENGTH (int) for char types the maximum number of bytes in the column
      12. IS_NULLABLE (String) "NO" or "YES"
      Specified by:
      getPseudoColumns in interface DatabaseMetaData
      Parameters:
      catalog - null (to get all objects) or the catalog name
      schemaPattern - null (to get all objects) or a schema name (uppercase for unquoted names)
      tableNamePattern - null (to get all objects) or a table name (uppercase for unquoted names)
      columnNamePattern - null (to get all objects) or a column name (uppercase for unquoted names)
      Returns:
      the list of pseudo and invisible columns
      Throws:
      SQLException
    • toString

      public String toString()
      INTERNAL
      Overrides:
      toString in class Object