Hi!

> Why H2 does not use SYSTEM TABLE in the table types returned by the 
DatabaseMetaData.getTableTypes() method

Because there is no such thing as system table in the SQL Standard. JDBC 
metadata is an entirely unreliable thing, you can't construct anything 
serious on top of it.

There is a difference between type of a table (base table, view, local 
temporary table, global temporary table and so on) and its actual 
implementation.

In modern versions of H2 you can use a query like that to distinguish 
user-defined tables and views from system tables and views:

SELECT *, DB_OBJECT_ID('TABLE', TABLE_SCHEMA, TABLE_NAME) < 0 IS_SYSTEM FROM 
INFORMATION_SCHEMA.TABLES;

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/h2-database/4464e30e-e247-4946-86b9-b2793988485dn%40googlegroups.com.

Reply via email to