1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-26 12:21:12 +03:00

Restrict name list len for domain constraints

This avoids an ugly-looking "cache lookup failure" message.

Ugliness pointed out by Andres Freund.
This commit is contained in:
Alvaro Herrera
2014-12-26 14:31:37 -03:00
parent 289121a452
commit 6630420fc9
2 changed files with 8 additions and 2 deletions

View File

@ -1534,6 +1534,12 @@ pg_get_object_address(PG_FUNCTION_ARGS)
*/
switch (type)
{
case OBJECT_DOMCONSTRAINT:
if (list_length(name) < 2)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("name list length must be at least %d", 2)));
break;
case OBJECT_LARGEOBJECT:
if (list_length(name) != 1)
ereport(ERROR,

View File

@ -171,8 +171,8 @@ WARNING: error for table constraint,{addr_nsp,zwei},{}: relation "addr_nsp" doe
WARNING: error for table constraint,{addr_nsp,zwei},{integer}: relation "addr_nsp" does not exist
WARNING: error for table constraint,{eins,zwei,drei},{}: schema "eins" does not exist
WARNING: error for table constraint,{eins,zwei,drei},{integer}: schema "eins" does not exist
WARNING: error for domain constraint,{eins},{}: cache lookup failed for type 0
WARNING: error for domain constraint,{eins},{integer}: cache lookup failed for type 0
WARNING: error for domain constraint,{eins},{}: name list length must be at least 2
WARNING: error for domain constraint,{eins},{integer}: name list length must be at least 2
WARNING: error for domain constraint,{addr_nsp,zwei},{}: type "addr_nsp" does not exist
WARNING: error for domain constraint,{addr_nsp,zwei},{integer}: type "addr_nsp" does not exist
WARNING: error for domain constraint,{eins,zwei,drei},{}: schema "eins" does not exist