Optimize internal funcion _cdb_unlimited_text_column
This commit is contained in:
@@ -520,15 +520,14 @@ CREATE OR REPLACE FUNCTION _cdb_unlimited_text_column(reloid REGCLASS, col_name
|
|||||||
RETURNS BOOLEAN
|
RETURNS BOOLEAN
|
||||||
AS $$
|
AS $$
|
||||||
SELECT EXISTS (
|
SELECT EXISTS (
|
||||||
SELECT *
|
SELECT a.attname
|
||||||
FROM information_schema.columns c, pg_class _tn, pg_namespace _sn
|
FROM pg_class c
|
||||||
WHERE table_name = _tn.relname
|
LEFT JOIN pg_catalog.pg_attribute a ON a.attrelid = c.oid
|
||||||
AND table_schema = _sn.nspname
|
LEFT JOIN pg_catalog.pg_type t ON t.oid = a.atttypid
|
||||||
AND c.column_name = col_name
|
WHERE c.oid = reloid
|
||||||
AND _tn.oid = reloid
|
AND a.attname = col_name
|
||||||
AND _sn.oid = _tn.relnamespace
|
AND pg_catalog.format_type(a.atttypid, NULL) IN ('text', 'character varying', 'character')
|
||||||
AND character_maximum_length IS NULL
|
AND pg_catalog.format_type(a.atttypid, NULL) = pg_catalog.format_type(a.atttypid, a.atttypmod)
|
||||||
AND c.data_type IN ('text', 'character varying', 'character')
|
|
||||||
);
|
);
|
||||||
$$ LANGUAGE SQL STABLE;
|
$$ LANGUAGE SQL STABLE;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user