Fix bug in unqualified, non-existing DROP DOMAIN IF EXISTS

pull/6004/head
Marco Slot 2022-06-15 13:59:08 +02:00
parent 268d3fa3a6
commit ee34e1ed9d
3 changed files with 10 additions and 3 deletions

View File

@ -205,10 +205,13 @@ QualifyTypeName(TypeName *typeName, bool missing_ok)
if (!schemaName)
{
Oid typeOid = LookupTypeNameOid(NULL, typeName, missing_ok);
Oid namespaceOid = TypeOidGetNamespaceOid(typeOid);
schemaName = get_namespace_name(namespaceOid);
if (OidIsValid(typeOid))
{
Oid namespaceOid = TypeOidGetNamespaceOid(typeOid);
schemaName = get_namespace_name(namespaceOid);
typeName->names = list_make2(makeString(schemaName), makeString(name));
typeName->names = list_make2(makeString(schemaName), makeString(name));
}
}
}
}

View File

@ -943,5 +943,7 @@ SELECT * FROM run_command_on_workers($$ SELECT '1'::distributed_domain.domain3;
localhost | 57638 | f | ERROR: type "distributed_domain.domain3" does not exist
(2 rows)
DROP DOMAIN IF EXISTS domain_does_not_exist;
NOTICE: type "domain_does_not_exist" does not exist, skipping
SET client_min_messages TO warning;
DROP SCHEMA distributed_domain, distributed_domain_moved CASCADE;

View File

@ -483,5 +483,7 @@ SELECT * FROM run_command_on_workers($$ SELECT 1::distributed_domain.domain1; $$
SELECT * FROM run_command_on_workers($$ SELECT '1'::distributed_domain.domain2; $$) ORDER BY 1,2;
SELECT * FROM run_command_on_workers($$ SELECT '1'::distributed_domain.domain3; $$) ORDER BY 1,2;
DROP DOMAIN IF EXISTS domain_does_not_exist;
SET client_min_messages TO warning;
DROP SCHEMA distributed_domain, distributed_domain_moved CASCADE;