I suggest to add catalog column to
java.sql.DatabaseMetaData.getSchemas()
in order to better support SQL3.
In SQL3 model (fcd2 May 1998) (look at schemata
base table in foundation p 797)
CREATE TABLE SCHEMATA
(
CATALOG_NAME INFORMATION_SCHEMA.SQL_IDENTIFIER,
SCHEMA_NAME INFORMATION_SCHEMA.SQL_IDENTIFIER,
SCHEMA_OWNER INFORMATION_SCHEMA.SQL_IDENTIFIER
CONSTRAINT SCHEMA_OWNER_NOT_NULL NOT NULL,
DEFAULT_CHARACTER_SET_CATALOG INFORMATION_SCHEMA.SQL_IDENTIFIER,
CONSTRAINT DEFAULT_CHARACTER_SET_CATALOG_NOT_NULL NOT NULL,
DEFAULT_CHARACTER_SET_SCHEMA INFORMATION_SCHEMA.SQL_IDENTIFIER,
CONSTRAINT DEFAULT_CHARACTER_SET_SCHEMA_NOT_NULL NOT NULL,
DEFAULT_CHARACTER_SET_NAME INFORMATION_SCHEMA.SQL_IDENTIFIER,
CONSTRAINT DEFAULT_CHARACTER_SET_NAME_NOT_NULL NOT NULL,
SQL_PATH INFORMATION_SCHEMA.CHARACTER_DATA,
CONSTRAINT SCHEMATA_PRIMARY_KEY PRIMARY KEY ( CATALOG_NAME,
SCHEMA_NAME ),
CONSTRAINT SCHEMATA_FOREIGN_KEY FOREIGN KEY ( SCHEMA_OWNER )
REFERENCES USERS
)
As it could be seen, catalog is part of primary key in SQL3 model.
BTW Why this method is not named getSchemata()?
java.sql.DatabaseMetaData.getSchemas()
in order to better support SQL3.
In SQL3 model (fcd2 May 1998) (look at schemata
base table in foundation p 797)
CREATE TABLE SCHEMATA
(
CATALOG_NAME INFORMATION_SCHEMA.SQL_IDENTIFIER,
SCHEMA_NAME INFORMATION_SCHEMA.SQL_IDENTIFIER,
SCHEMA_OWNER INFORMATION_SCHEMA.SQL_IDENTIFIER
CONSTRAINT SCHEMA_OWNER_NOT_NULL NOT NULL,
DEFAULT_CHARACTER_SET_CATALOG INFORMATION_SCHEMA.SQL_IDENTIFIER,
CONSTRAINT DEFAULT_CHARACTER_SET_CATALOG_NOT_NULL NOT NULL,
DEFAULT_CHARACTER_SET_SCHEMA INFORMATION_SCHEMA.SQL_IDENTIFIER,
CONSTRAINT DEFAULT_CHARACTER_SET_SCHEMA_NOT_NULL NOT NULL,
DEFAULT_CHARACTER_SET_NAME INFORMATION_SCHEMA.SQL_IDENTIFIER,
CONSTRAINT DEFAULT_CHARACTER_SET_NAME_NOT_NULL NOT NULL,
SQL_PATH INFORMATION_SCHEMA.CHARACTER_DATA,
CONSTRAINT SCHEMATA_PRIMARY_KEY PRIMARY KEY ( CATALOG_NAME,
SCHEMA_NAME ),
CONSTRAINT SCHEMATA_FOREIGN_KEY FOREIGN KEY ( SCHEMA_OWNER )
REFERENCES USERS
)
As it could be seen, catalog is part of primary key in SQL3 model.
BTW Why this method is not named getSchemata()?