From section 7 of the JDBC4 spec:
42 JDBC 4.0 Specification ? October 2005
7.7 New Methods
The JDBC 4.0 API introduces the following new DatabaseMetaData methods:
? getSchemas ? Overloaded the existing getSchemas() method to take a
catalog and schema as arguments.
? supportsStoredFunctionsUsingCallSyntax ? Method used to indicate
whether user-defined or vendor functions may be called using the stored
procecure escape syntax.
? autoCommitFailureClosesAllResultSets ? Method used to indicate
whether a SQLException while autoCommit is true indicates that all open
ResultSets are closed, even ones that are holdable.
? providesQueryObjectGenerator ? Method used to indicate whether a
JDBC driver provides its own QueryObjectGenerator implementation.
? getClientInfoProperties ? Method used to indicate the list of client info
properties that the driver supports.
A complete definition of these methods may be found in the JDBC 4.0 API
7.8 Modified Methods
The JDBC 4.0 API modifies the definitions of these existing DatabaseMetaData
? getTypeInfo ? Clarified to indicate that if the database supports SQL distinct
types, then getTypeInfo() will return a single row with a TYPE_NAME of
DISTINCT and a DATA_TYPE of Types.DISTINCT. If the database supports SQL
structured types, then getTypeInfo() will return a single row with a TYPE_NAME
of STRUCT and a DATA_TYPE of Types.STRUCT. Support has also been added
for the new data types SQLXML and ROWID.
? getCrossReference ? Clarified that the method retrieves a description of the
foreign key columns in the given foreign key table that reference the primary key
or the unique constraint columns of the parent table (could be the same or a
different table). The number of columns returned from the parent table must
match the number of columns that make up the foreign key. They are ordered by
FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ.
? getColumns ? Clarified that the return value for COLUMN_DEF that the
default value for the column, should be interpreted as a string when the value is
enclosed in quotes.
? getProcedures ? Added the column SPECIFIC_NAME. The ordering of the
returned rows is now by PROCEDURE_SCHEM, PROCEDURE_NAME and
? getProcedureColumns ? Added the columns COLUMN_DEF,
SQL_DATATYPE, SQL_DATETIME_SUB, CHAR_OCTET_LENGTH,
ORDINAL_POSITION, IS_NULLABLE and SPECIFIC_NAME. The ordering of
the returned rows is now by PROCEDURE_SCHEM, PROCEDURE_NAME and
The JDBC 4.0 API specification includes updated definitions of these methods.