Hi,

I noticed the SHOW COLUMNS FROM <TABLENAME> statement does not support
schema.

Here's the script to replicate/prove the problem. Run this in a new
database;

CREATE TABLE PUBLIC.T1 (publicc1 VARCHAR);
CREATE SCHEMA S1;
CREATE SCHEMA S2;
CREATE TABLE S1.T1 (s1c1 VARCHAR);
CREATE TABLE S2.T1 (s2c1 VARCHAR);

SHOW COLUMNS FROM T1;
=> FIELD   TYPE   NULL   KEY   DEFAULT
=> PUBLICC1 VARCHAR(2147483647) YES   NULL
/* Expected */

SET SCHEMA S1;
SHOW COLUMNS FROM T1;
=> FIELD   TYPE   NULL   KEY   DEFAULT
=> PUBLICC1 VARCHAR(2147483647) YES   NULL
/* Expecting FIELD=s1c1 */

SHOW COLUMNS FROM S1.T1;
=>Syntax error in SQL statement "SHOW COLUMNS FROM S1.[*]T1"; SQL
statement:
/* Should this work? */

SET SCHEMA S2;
SHOW COLUMNS FROM T1;
=> FIELD   TYPE   NULL   KEY   DEFAULT
=> PUBLICC1 VARCHAR(2147483647) YES   NULL
/* Expecting FIELD=s2c1 */


It's not a big problem once you know the issue, I can rewrite the
statement to
  SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE
TABLE_SCHEMA='S1' AND TABLE_NAME='T1'

It just caught me out because it didn't work as I expected to.


Regards,
Anthony

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to