On 10/17/06, Oystein Grovlen - Sun Norway <[EMAIL PROTECTED]> wrote:

I find it strange that while "SHOW INDEXES", "SHOW PROCEDURES", and
"SHOW SYNONYMS" by default list all corresponding objects in the
database, "SHOW TABLES" and "SHOW VIEWS" by default only list the
corresponding objects in the current schema.  Would it not be better
if all commands behaved the same way?  Are there reasons for not
changing this?

Having looked at the ij code, but not having gone to look at the
corresponding metadata code or the JDBC spec, I can say that this is
the current behavior when calling DatabaseMetadata.getTables() with
null as the argument for the schema parameter and "TABLE" as the table
type. I don't see a reason why it couldn't be fixed, although the fix
may be to the metadata method, and not necessarily to ij. I suspect
that if the schema is null, Derby uses the current connection schema
to restrict the set of tables that is returned.

I also find it a bit strange that "SHOW VIEWS" uses the heading
"TABLE_NAME" and not "VIEW_NAME".

These are the names of the columns returned from the ResultSet
retrieved from DatabaseMetadata.getTables(), and I believe those
column names are mandated by the JDBC spec. And, ij displays them
faithfully. :-)

We could override the column names in a similar way that we set the
column widths but I don't think that is really worthwhile. Probably
better to just document that little idiosyncrasy.

andrew

Reply via email to