@@ -100,29 +100,27 @@ class PostgresQueryGenerator extends AbstractQueryGenerator {
}
describeTableQuery(tableName,schema){
if(!schema){
schema='public';
}
return'SELECT pk.constraint_type as "Constraint", c.column_name as "Field", '+
'c.column_default as "Default", c.is_nullable as "Null", '+
'(CASE WHEN c.udt_name = \'hstore\' THEN c.udt_name ELSE c.data_type END) || (CASE WHEN c.character_maximum_length IS NOT NULL THEN \'(\' || c.character_maximum_length || \')\' ELSE \'\' END) as "Type", '+
'(SELECT array_agg(e.enumlabel) '+
'FROM pg_catalog.pg_type t JOIN pg_catalog.pg_enum e ON t.oid=e.enumtypid '+
'WHERE t.typname=c.udt_name) AS "special", '+
'(SELECT pgd.description FROM pg_catalog.pg_statio_all_tables AS st '+
'INNER JOIN pg_catalog.pg_description pgd on (pgd.objoid=st.relid) '+
'WHERE c.ordinal_position=pgd.objsubid AND c.table_name=st.relname) AS "Comment" '+
'ON tc.table_schema=cu.table_schema and tc.table_name=cu.table_name '+
'and tc.constraint_name=cu.constraint_name '+
'and tc.constraint_type=\'PRIMARY KEY\') pk '+
'ON pk.table_schema=c.table_schema '+
'AND pk.table_name=c.table_name '+
'AND pk.column_name=c.column_name '+
if(!schema)schema='public';
return'SELECT '+
'pk.constraint_type as "Constraint",'+
'c.column_name as "Field", '+
'c.column_default as "Default",'+
'c.is_nullable as "Null", '+
'(CASE WHEN c.udt_name = \'hstore\' THEN c.udt_name ELSE c.data_type END) || (CASE WHEN c.character_maximum_length IS NOT NULL THEN \'(\' || c.character_maximum_length || \')\' ELSE \'\' END) as "Type", '+
'(SELECT array_agg(e.enumlabel) FROM pg_catalog.pg_type t JOIN pg_catalog.pg_enum e ON t.oid=e.enumtypid WHERE t.typname=c.udt_name) AS "special", '+
'(SELECT pgd.description FROM pg_catalog.pg_statio_all_tables AS st INNER JOIN pg_catalog.pg_description pgd on (pgd.objoid=st.relid) WHERE c.ordinal_position=pgd.objsubid AND c.table_name=st.relname) AS "Comment" '+