Query in SQL function still not schema-safe; add a couple

more pg_catalog. qualifications.
This commit is contained in:
Tom Lane 2009-07-07 19:28:00 +00:00
parent 987281274f
commit fc9dd12da0

View File

@ -4,7 +4,7 @@
* *
* Copyright (c) 2003-2009, PostgreSQL Global Development Group * Copyright (c) 2003-2009, PostgreSQL Global Development Group
* *
* $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.55 2009/07/07 18:23:13 petere Exp $ * $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.56 2009/07/07 19:28:00 tgl Exp $
*/ */
/* /*
@ -106,7 +106,8 @@ $$SELECT
CASE WHEN $1 IN (25, 1042, 1043) /* text, char, varchar */ CASE WHEN $1 IN (25, 1042, 1043) /* text, char, varchar */
THEN CASE WHEN $2 = -1 /* default typmod */ THEN CASE WHEN $2 = -1 /* default typmod */
THEN CAST(2^30 AS integer) THEN CAST(2^30 AS integer)
ELSE information_schema._pg_char_max_length($1, $2) * pg_catalog.pg_encoding_max_length((SELECT encoding FROM pg_database WHERE datname = current_database())) ELSE information_schema._pg_char_max_length($1, $2) *
pg_catalog.pg_encoding_max_length((SELECT encoding FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database()))
END END
ELSE null ELSE null
END$$; END$$;