[ https://issues.apache.org/jira/browse/DERBY-2222?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jørgen Løland updated DERBY-2222: --------------------------------- Attachment: ijMultipleResultSetResult.java DERBY-2222-1.stat DERBY-2222-1.diff By fixing DERBY-1484, DatabaseMetaData#getIndexInfo will no longer allow null values for the table name. This breaks the "show indexes" functionality of ij in its current implementation. To remedy this, the "show index" functionality has been rewritten to something like: ---- code --- ij.jj#showIndexes (schema, table){ if (table != null) return new ijResultSetResult(dbmd.getIndexInfo(schema, table)) else dbmd.getTables(schema) for each tablename in schema resultSetList.add(dbmd.getIndexInfo(schema, table)) return new ijMultipleResultSetResult(resultSetList) ---- /code --- The posted patch adds a new subclass of ijResultImpl (currently called ijMultipleResultSetResult) that effectively is a List of ResultSet. JDBCDisplayUtil is modified to handle this by showing the banner first, and then show all the rows in all resultsets in the ijMultipleResultSetResult object. I will apply the same fix to all ij functionality that uses methods in DatabaseMetaData where table = null is no longer allowed. See DERBY-1484 for details. > 'show indexes in SCHEMANAME' does not work with the client driver > ----------------------------------------------------------------- > > Key: DERBY-2222 > URL: https://issues.apache.org/jira/browse/DERBY-2222 > Project: Derby > Issue Type: Bug > Components: Network Client, Tools > Affects Versions: 10.2.2.0, 10.3.0.0 > Reporter: Kristian Waagan > Assigned To: Jørgen Løland > Attachments: DERBY-2222-1.diff, DERBY-2222-1.stat, > ijMultipleResultSetResult.java > > > The ij command 'show indexes in SCHEMANAME' does not work at all with the > client driver. > It does work with the embedded driver. > Sample output from ij: > ij> connect 'jdbc:derby://localhost/myDB;create=true'; > ij> create table test (id int primary key); > 0 rows inserted/updated/deleted > ij> show indexes in app; > ERROR XJ103: Table name can not be null > ij> show indexes from test; > TABLE_NAME |COLUMN_NAME |NON_U&|TYPE|ASC&|CARDINA&|PAGES > ---------------------------------------------------------------------------- > TEST |ID |0 |3 |A |NULL |NULL > 1 row selected > ij> show indexes from app.test; > TABLE_NAME |COLUMN_NAME |NON_U&|TYPE|ASC&|CARDINA&|PAGES > ---------------------------------------------------------------------------- > TEST |ID |0 |3 |A |NULL |NULL > 1 row selected > ij> > Using delimited table and/or schema names does not work, but I think this is > according to documentation. > I.e.: > ij> show indexes from "TEST"; > ERROR 42X01: Syntax error: Encountered "show" at line 1, column 1. > ij> show indexes from "APP".test; > ERROR 42X01: Syntax error: Encountered "show" at line 1, column 1. > ij> show indexes from "APP"."TEST"; > ERROR 42X01: Syntax error: Encountered "show" at line 1, column 1. > ij> -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.