From d3be4124197ed2deef000300de81b3c7bf36e562 Mon Sep 17 00:00:00 2001 From: laishenghao Date: Tue, 18 Mar 2025 18:04:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=B9=B6=E5=8F=91=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E5=88=A0=E8=A1=A8=E4=B8=8E=E6=9F=A5=E8=AF=A2=E6=97=B6?= =?UTF-8?q?core=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/backend/catalog/namespace.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/common/backend/catalog/namespace.cpp b/src/common/backend/catalog/namespace.cpp index 44774bda08..605cea1000 100644 --- a/src/common/backend/catalog/namespace.cpp +++ b/src/common/backend/catalog/namespace.cpp @@ -334,7 +334,14 @@ Oid RangeVarGetRelidExtended(const RangeVar* relation, LOCKMODE lockmode, bool m errDetail = RelnameGetRelidExtended(relation->relname, &relId, refSynOid, detailInfo); if (OidIsValid(relId)) { Oid namespaceId = get_rel_namespace(relId); - LookupExplicitNamespace(get_namespace_name(namespaceId)); + char* nspname = get_namespace_name(namespaceId); + if (nspname) { + LookupExplicitNamespace(nspname); + pfree(nspname); + } else { + ereport(ERROR, (errmodule(MOD_SEC), errcode(ERRCODE_UNDEFINED_SCHEMA), + errmsg("schema with OID %u does not exist", namespaceId))); + } } } else { relId = RelnameGetRelid(relation->relname, detailInfo); -- Gitee