Hi,
tried accessing table/column/index info using DatabaseMetaData.getColumns and DatabaseMetaData.getIndexInfo and simply receive unintelligible exceptions. I am wondering what is "valid" input data for catalogName, schemaName etc for these methods. Can anyone help? I'm using 3.8.5-pre1 (the latest in Maven Central).
I performed the following
CREATE TABLE SCHEMA_TABLE_1
(
TABLE1_ID1 bigint NOT NULL,
TABLE1_ID2 bigint NOT NULL,
"NAME" TEXT(255) NULL,
OTHER_ID bigint NULL,
CONSTRAINT TABLE1_PK PRIMARY KEY (TABLE1_ID1,TABLE1_ID2)
);
CREATE INDEX SCHEMA_TABLE_1_N49 ON SCHEMA_TABLE_1 (OTHER_ID);
and committed the connection.
Using DatabaseMetaData.getIndexInfo(conn, null, null, "SCHEMA_TABLE_1", false, true) I am getting
java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (near "0": syntax error)
at org.sqlite.core.DB.newSQLException(DB.java:890)
at org.sqlite.core.DB.newSQLException(DB.java:901)
at org.sqlite.core.DB.throwex(DB.java:868)
at org.sqlite.core.NativeDB.prepare(Native Method)
at org.sqlite.core.DB.prepare(DB.java:211)
at org.sqlite.jdbc3.JDBC3Statement.executeQuery(JDBC3Statement.java:81)
at org.sqlite.jdbc3.JDBC3Statement.executeQuery(JDBC3Statement.java:71)
at org.sqlite.jdbc3.JDBC3DatabaseMetaData.getIndexInfo(JDBC3DatabaseMetaData.java:1532)
I got the same thing passing "" for catalog/schema.
Using DatabaseMetaData.getColumns(conn, null, null, null, null); I am getting the even more pleasant
java.lang.NullPointerException
at org.sqlite.core.CoreDatabaseMetaData.escape(CoreDatabaseMetaData.java:182)
at org.sqlite.jdbc3.JDBC3DatabaseMetaData.getColumns(JDBC3DatabaseMetaData.java:1114)
Any ideas?
TIA