Commit 6630420f authored by Alvaro Herrera's avatar Alvaro Herrera

Restrict name list len for domain constraints

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

Ugliness pointed out by Andres Freund.
parent 289121a4
......@@ -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,
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment