diff --git a/scripts-available/CDB_ColumnType.sql b/scripts-available/CDB_ColumnType.sql index 8ddc36b..eedc4a0 100644 --- a/scripts-available/CDB_ColumnType.sql +++ b/scripts-available/CDB_ColumnType.sql @@ -2,15 +2,13 @@ CREATE OR REPLACE FUNCTION CDB_ColumnType(REGCLASS, TEXT) RETURNS information_schema.character_data AS $$ - - SELECT c.data_type - FROM information_schema.columns c, pg_class _tn, pg_namespace _sn - WHERE table_name = _tn.relname - AND table_schema = _sn.nspname - AND column_name = $2 - AND _tn.oid = $1::oid - AND _sn.oid = _tn.relnamespace; - + SELECT + pg_catalog.format_type(a.atttypid, NULL)::information_schema.character_data data_type + FROM pg_class c + LEFT JOIN pg_catalog.pg_attribute a ON a.attrelid = c.oid + WHERE c.oid = $1::oid + AND a.attname = $2 + AND a.attstattarget = -1; $$ LANGUAGE SQL; -- This is to migrate from pre-0.2.0 version