Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wJzPp-000TS7-22 for pgsql-hackers@arkaria.postgresql.org; Mon, 04 May 2026 19:57:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wJzPo-008jqM-1s for pgsql-hackers@arkaria.postgresql.org; Mon, 04 May 2026 19:57:16 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wJzPo-008jqE-0q for pgsql-hackers@lists.postgresql.org; Mon, 04 May 2026 19:57:16 +0000 Received: from mail-yw1-x1136.google.com ([2607:f8b0:4864:20::1136]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wJzPm-00000000VMC-1B1U for pgsql-hackers@postgresql.org; Mon, 04 May 2026 19:57:16 +0000 Received: by mail-yw1-x1136.google.com with SMTP id 00721157ae682-7bd5c582c47so37963747b3.2 for ; Mon, 04 May 2026 12:57:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777924632; cv=none; d=google.com; s=arc-20240605; b=S/dRNoILhO1aQ4D9KYBG+2bdGWH2EKK+AQP90oZq4+Jx0wCjWf91lxiBh5jpSM9pLJ o9XmsUPSyJl/Axp9KsSvOvHIeY8A701kATU3oZKynzma6htyV204HuFnRHsUYG2uB//J 60GP7LZ9xG0++9jFgmlhVpKoVaBNwsOeKDOfWpr8nJO/2OE71mOzqjqvGeqmPVE4JmBI SRfk/jGToMrWCbKtpGN1npBVIINjNqZzTUlR9aIwxQd4rcxr8ncpjC3Bg4d4wAAcj3R8 6muNU6qscIkiz1V8og7zhOUuu2dpKRTBMNAE23KmN4B14UFNitdIu0L+vLH5yzfOVzSj 7bww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=PUrqrQPsmxBOoY92SEYf4Fh0Fl2TikdLQNsA9NN5Va8=; fh=UowC4WEsr3iJbMzmTOL41CblXK2CyRIIsvBhz+DA0uc=; b=KeSpl8rzCVEwUMT40D7JYueI2gYCEq8zbi3RtSLolRSsEws+oTxYf5wdA6zrP8s/un 7WG5g3kukT7my5H7e1pPJnQ+rQcfEQ0VyNAJyEE9BS5RyJ9g6pcc2uQbZDQjJrngZz0v Axa+Ddihw7AANm27kU4D6Sc2Y/rvL278mjTyaE9OB7IZaHUg3u2wtaweiEoO2SGiAXJd 1x+hD3hJ7rjZmIKmLnmcbYIZvYYf5jvoW4YPfAO6CHDmdAh9dnBawtyArlqDx5czUFQj hoZex/tE7eZlZpzdsRBLJZXEefHicvc3KB+7n9rTUaJMn0uxj8u+TgzdiZ64lXn/yJGp gB+g==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777924632; x=1778529432; darn=postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=PUrqrQPsmxBOoY92SEYf4Fh0Fl2TikdLQNsA9NN5Va8=; b=gMS52qXijcKE6pOqJrqcFQx8QkcDjGgtkUf1pNt1pLPbillGc0YyPRxEP/KRk9i9EC 7ngQM+vRFNEW1vApOS5Rzx4HhaVzlb4uktDdKIbOmpiFIMZz6H2uRTMOI5lOdUNHqNiS OcGH3LhQFr7r5Tj9Bo44RFMeo52oqBhp11/Cu2sEcLRThWZ9RbyDeUKThHc+NhLlb/m0 XjnQs7klhQj8KD++wKI2+hOXM5xVCx0rtboch/W3IYHeHVCvNpwBl5zTeiazVkVxj6VS hKwSM0bbFWKpspLykRZ0muec+pFvD8PD6zU+ydsGpRUmutHnn8wgFGjUOFc29ZLTPUoa oRMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777924632; x=1778529432; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PUrqrQPsmxBOoY92SEYf4Fh0Fl2TikdLQNsA9NN5Va8=; b=Njy2yoIe9raJ6G8B09bMzDB0UfdkbA5ZiepoE4CITyz84zoqaYDbzpL8juk1iEOGgi vmc6IudFGZvhDH600l2xn1lKpvjVi03CfZC3jZ1dwM51CvCaZ7yv+Oy2h/4BN1ck/EXS FMQRDTA69CTOYPmb1tCxHpZldw/8bYY8qR6wySYAYtwmwmBFHTkBeCpfjTxvSx9oNXoY hDb3MKdPCgmARgvcUK29uwnDXbYLMILLVeambeLVrkNMPhnaezteKTwaKxuaEG7IGMYR BHGfs9MDCZEngNO9cBcVnnwKVkcJEHD1BIQhckNWlwekSZj8JqRyAv6RqJnOXAIEiMay OrTw== X-Gm-Message-State: AOJu0YxPwas2Iz7YLgm3G6T9ERg0f/lFdP2p3OT0GkFq7WivVyxkBYtE SPGXQuGmnopAZYsA1T/15SxEtZh1qNOpTIEAF+95C7SQBbaHo+MgXxaU3hLY1CpcCPBchqUJku0 UV+0rcxlQ3lW88HYLOBADoqhQT0qgga+YqILqTO0= X-Gm-Gg: AeBDiev5L9vZe+cnYCekYyo7ZsnUocttjTFfvcDLszYHawGQdO1FJ4lrs1uzNIJVOYB g9zwpcHrkkkwCgCuGJx1fv41Cq5A4o2p8xPD7x66r6TnUOmgGE96NsvKZNA4oRlnSP1u54qIeXG DMAZMhdgilyXhgW9GAgCDKs8VuXd41W+gVumji8t5EUPm6wnzabyud+lQHx9uJeeQyRhU4zQyaV B2Ut0NJqpbld7Jh8+zEuZ5RfIa5fTIsKhM0o7x9pAdGJrvSj9Njfuv1MztCVg1FOMrqWGiV7Zwq Twyfdr22Hlquzsa4T6fWz3EXL3HbRfPIp+T/lu5zCRQrYjjIBg== X-Received: by 2002:a05:690c:6ac6:b0:7b1:b27d:2d4b with SMTP id 00721157ae682-7bd76fbe8fcmr125212877b3.12.1777924632286; Mon, 04 May 2026 12:57:12 -0700 (PDT) MIME-Version: 1.0 From: Ayush Tiwari Date: Tue, 5 May 2026 01:27:00 +0530 X-Gm-Features: AVHnY4LMY5_fOCzapTv-7yin5mi7wLIEwgVwttvj8SaaAgZu08Cov88QPvS8NZA Message-ID: Subject: [PATCH] Clean up property graph error messages To: PostgreSQL Hackers , Peter Eisentraut , Ashutosh Bapat Content-Type: multipart/mixed; boundary="0000000000002546af06510356a8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000002546af06510356a8 Content-Type: multipart/alternative; boundary="0000000000002546ad06510356a6" --0000000000002546ad06510356a6 Content-Type: text/plain; charset="UTF-8" Hi, While looking at the SQL/PGQ property graph error paths, I noticed a few small cleanups in propgraphcmds.c. The attached patch fixes a user-visible error message from "mismatching properties names" to "mismatching property names", and moves a ReleaseSysCache() call before an ERROR ereport in check_element_properties(). The existing code should be cleaned up by the resource owner on the ERROR path, but the explicit ReleaseSysCache() placed after ereport(ERROR) was unreachable. The regression expected output is updated for the changed error text. [On a separate note, it might be better to change all "vertexes" to "vertices", haven't included that in the patch though since the other one is not exactly wrong?] Regards, Ayus --0000000000002546ad06510356a6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

While looking at the SQL/PGQ proper= ty graph error paths, I noticed a
few small cleanups in propgraphcmds.c.=

The attached patch fixes a user-visible error message from "mi= smatching
properties names" to "mismatching property names&quo= t;, and moves a
ReleaseSysCache() call before an ERROR ereport in
che= ck_element_properties(). =C2=A0

The existing code = should be cleaned up by
the resource owner on the ERROR path, but the ex= plicit ReleaseSysCache()
placed after ereport(ERROR) was unreachable.
The regression expected output is updated for the changed error text.<= /div>

[On a=C2=A0separate note, it might be better to ch= ange all "vertexes" to "vertices",
haven'= t=C2=A0included that in the patch though since the other one is not exactly=
wrong?]

Regards,
Ayus
--0000000000002546ad06510356a6-- --0000000000002546af06510356a8 Content-Type: application/octet-stream; name="v1-0001-Clean-up-property-graph-error-messages.patch" Content-Disposition: attachment; filename="v1-0001-Clean-up-property-graph-error-messages.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_morm3hjt0 RnJvbSA0YzVhY2EyZDVlNzU0OTExOTY5ODMxYTY1OGQ1MTFmYTUzYmRmZTAzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBeXVzaCBUaXdhcmkgPGF5dXNodGl3YXJpLnNsZzAxQGdtYWls LmNvbT4KRGF0ZTogVHVlLCA1IE1heSAyMDI2IDAxOjEzOjE4ICswNTMwClN1YmplY3Q6IFtQQVRD SCB2MV0gQ2xlYW4gdXAgcHJvcGVydHkgZ3JhcGggZXJyb3IgbWVzc2FnZXMKCmNoZWNrX2VsZW1l bnRfcHJvcGVydGllcygpIHNhdmVkIGEgUmVsZWFzZVN5c0NhY2hlKCkgY2FsbCB1bnRpbCBhZnRl cgplcmVwb3J0KEVSUk9SKSwgbWFraW5nIHRoZSBleHBsaWNpdCByZWxlYXNlIHVucmVhY2hhYmxl LiAgQ29weSB0aGUKY2F0YWxvZyBmaWVsZHMgbmVlZGVkIGZvciB0aGUgZXJyb3IgbWVzc2FnZSBh bmQgcmVsZWFzZSB0aGUgc3lzY2FjaGUKZW50cnkgYmVmb3JlIGJ1aWxkaW5nIGFuZCByZXBvcnRp bmcgdGhlIGVycm9yLgoKQWxzbyBmaXggdGhlIHdvcmRpbmcgb2YgYSBwcm9wZXJ0eSBncmFwaCBs YWJlbCBjb25zaXN0ZW5jeSBlcnJvciBmcm9tCiJtaXNtYXRjaGluZyBwcm9wZXJ0aWVzIG5hbWVz IiB0byAibWlzbWF0Y2hpbmcgcHJvcGVydHkgbmFtZXMiLCBhbmQKdXBkYXRlIHRoZSBtYXRjaGlu ZyBleHBlY3RlZCBvdXRwdXQuCi0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvcHJvcGdyYXBoY21k cy5jICAgICAgICAgICAgICAgfCAxNCArKysrKysrKystLS0tLQogLi4uL3JlZ3Jlc3MvZXhwZWN0 ZWQvY3JlYXRlX3Byb3BlcnR5X2dyYXBoLm91dCAgICAgfCAgNCArKy0tCiAyIGZpbGVzIGNoYW5n ZWQsIDExIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvcHJvcGdyYXBoY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvcHJv cGdyYXBoY21kcy5jCmluZGV4IDZkNTA5ZmNjZjQ2Li43Nzg0ZGQwZjVjNSAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvY29tbWFuZHMvcHJvcGdyYXBoY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3Byb3BncmFwaGNtZHMuYwpAQCAtMTExMyw2ICsxMTEzLDggQEAgY2hlY2tfZWxlbWVu dF9wcm9wZXJ0aWVzKE9pZCBwZW9pZCkKIAkJCQkJCUhlYXBUdXBsZQl0dXBsZTM7CiAJCQkJCQlG b3JtX3BnX3Byb3BncmFwaF9lbGVtZW50IGVsZm9ybTsKIAkJCQkJCUxpc3QJICAgKmRwY29udGV4 dDsKKwkJCQkJCWNoYXIJICAgKmVsZW1lbnRfbmFtZTsKKwkJCQkJCU9pZAkJCWVsZW1lbnRfcmVs aWQ7CiAJCQkJCQljaGFyCSAgICpkcGEsCiAJCQkJCQkJCSAgICpkcGI7CiAKQEAgLTExMjAsNyAr MTEyMiwxMSBAQCBjaGVja19lbGVtZW50X3Byb3BlcnRpZXMoT2lkIHBlb2lkKQogCQkJCQkJaWYg KCF0dXBsZTMpCiAJCQkJCQkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWlsZWQgZm9yIHBy b3BlcnR5IGdyYXBoIGVsZW1lbnQgJXUiLCBwZW9pZCk7CiAJCQkJCQllbGZvcm0gPSAoRm9ybV9w Z19wcm9wZ3JhcGhfZWxlbWVudCkgR0VUU1RSVUNUKHR1cGxlMyk7Ci0JCQkJCQlkcGNvbnRleHQg PSBkZXBhcnNlX2NvbnRleHRfZm9yKGdldF9yZWxfbmFtZShlbGZvcm0tPnBnZXJlbGlkKSwgZWxm b3JtLT5wZ2VyZWxpZCk7CisJCQkJCQllbGVtZW50X25hbWUgPSBwc3RyZHVwKE5hbWVTdHIoZWxm b3JtLT5wZ2VhbGlhcykpOworCQkJCQkJZWxlbWVudF9yZWxpZCA9IGVsZm9ybS0+cGdlcmVsaWQ7 CisJCQkJCQlSZWxlYXNlU3lzQ2FjaGUodHVwbGUzKTsKKworCQkJCQkJZHBjb250ZXh0ID0gZGVw YXJzZV9jb250ZXh0X2ZvcihnZXRfcmVsX25hbWUoZWxlbWVudF9yZWxpZCksIGVsZW1lbnRfcmVs aWQpOwogCiAJCQkJCQlkcGEgPSBkZXBhcnNlX2V4cHJlc3Npb24obmEsIGRwY29udGV4dCwgZmFs c2UsIGZhbHNlKTsKIAkJCQkJCWRwYiA9IGRlcGFyc2VfZXhwcmVzc2lvbihuYiwgZHBjb250ZXh0 LCBmYWxzZSwgZmFsc2UpOwpAQCAtMTE0MSwxMCArMTE0Nyw4IEBAIGNoZWNrX2VsZW1lbnRfcHJv cGVydGllcyhPaWQgcGVvaWQpCiAJCQkJCQllcmVwb3J0KEVSUk9SLAogCQkJCQkJCQllcnJjb2Rl KEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKIAkJCQkJCQkJZXJybXNnKCJlbGVtZW50IFwiJXNcIiBw cm9wZXJ0eSBcIiVzXCIgZXhwcmVzc2lvbiBtaXNtYXRjaDogJXMgdnMuICVzIiwKLQkJCQkJCQkJ CSAgIE5hbWVTdHIoZWxmb3JtLT5wZ2VhbGlhcyksIGdldF9wcm9wZ3JhcGhfcHJvcGVydHlfbmFt ZShwcm9wb2lkKSwgZHBhLCBkcGIpLAorCQkJCQkJCQkJICAgZWxlbWVudF9uYW1lLCBnZXRfcHJv cGdyYXBoX3Byb3BlcnR5X25hbWUocHJvcG9pZCksIGRwYSwgZHBiKSwKIAkJCQkJCQkJZXJyZGV0 YWlsKCJJbiBhIHByb3BlcnR5IGdyYXBoIGVsZW1lbnQsIGEgcHJvcGVydHkgb2YgdGhlIHNhbWUg bmFtZSBoYXMgdG8gaGF2ZSB0aGUgc2FtZSBleHByZXNzaW9uIGluIGVhY2ggbGFiZWwuIikpOwot Ci0JCQkJCQlSZWxlYXNlU3lzQ2FjaGUodHVwbGUzKTsKIAkJCQkJfQogCiAJCQkJCWJyZWFrOwpA QCAtMTI2Niw3ICsxMjcwLDcgQEAgY2hlY2tfZWxlbWVudF9sYWJlbF9wcm9wZXJ0aWVzKE9pZCBl bGxhYmVsb2lkKQogCWlmIChkaWZmMSB8fCBkaWZmMikKIAkJZXJlcG9ydChFUlJPUiwKIAkJCQll cnJjb2RlKEVSUkNPREVfSU5WQUxJRF9PQkpFQ1RfREVGSU5JVElPTiksCi0JCQkJZXJybXNnKCJt aXNtYXRjaGluZyBwcm9wZXJ0aWVzIG5hbWVzIGluIGRlZmluaXRpb24gb2YgbGFiZWwgXCIlc1wi IiwgZ2V0X3Byb3BncmFwaF9sYWJlbF9uYW1lKGxhYmVsaWQpKSk7CisJCQkJZXJybXNnKCJtaXNt YXRjaGluZyBwcm9wZXJ0eSBuYW1lcyBpbiBkZWZpbml0aW9uIG9mIGxhYmVsIFwiJXNcIiIsIGdl dF9wcm9wZ3JhcGhfbGFiZWxfbmFtZShsYWJlbGlkKSkpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfcHJvcGVydHlfZ3JhcGgub3V0IGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfcHJvcGVydHlfZ3JhcGgub3V0CmluZGV4IGJj OWE1OTZlYzg5Li5iZmE2NzEyYjM2NSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9jcmVhdGVfcHJvcGVydHlfZ3JhcGgub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvY3JlYXRlX3Byb3BlcnR5X2dyYXBoLm91dApAQCAtMjEwLDExICsyMTAsMTEgQEAgQ1JF QVRFIFBST1BFUlRZIEdSQVBIIGd4CiAgICAgICAgIHQxIEtFWSAoYSkgTEFCRUwgbDEgUFJPUEVS VElFUyAoYSwgYiksCiAgICAgICAgIHQyIEtFWSAoaSkgTEFCRUwgbDEgUFJPUEVSVElFUyAoaSBB UyBhLCBqIEFTIGopICAtLSBtaXNtYXRjaGluZyBwcm9wZXJ0eSBuYW1lcyBvbiBsYWJlbAogICAg ICk7Ci1FUlJPUjogIG1pc21hdGNoaW5nIHByb3BlcnRpZXMgbmFtZXMgaW4gZGVmaW5pdGlvbiBv ZiBsYWJlbCAibDEiCitFUlJPUjogIG1pc21hdGNoaW5nIHByb3BlcnR5IG5hbWVzIGluIGRlZmlu aXRpb24gb2YgbGFiZWwgImwxIgogQUxURVIgUFJPUEVSVFkgR1JBUEggZzQgQUxURVIgVkVSVEVY IFRBQkxFIHQxIEFERCBMQUJFTCB0M2wxIFBST1BFUlRJRVMgKGEgQVMgeCwgYiBBUyB5eSwgYiBB UyB6eik7ICAtLSBtaXNtYXRjaGluZyBudW1iZXIgb2YgcHJvcGVydGllcyBvbiBsYWJlbAogRVJS T1I6ICBtaXNtYXRjaGluZyBudW1iZXIgb2YgcHJvcGVydGllcyBpbiBkZWZpbml0aW9uIG9mIGxh YmVsICJ0M2wxIgogQUxURVIgUFJPUEVSVFkgR1JBUEggZzQgQUxURVIgVkVSVEVYIFRBQkxFIHQx IEFERCBMQUJFTCB0M2wxIFBST1BFUlRJRVMgKGEgQVMgeCwgYiBBUyB6eik7ICAtLSBtaXNtYXRj aGluZyBwcm9wZXJ0eSBuYW1lcyBvbiBsYWJlbAotRVJST1I6ICBtaXNtYXRjaGluZyBwcm9wZXJ0 aWVzIG5hbWVzIGluIGRlZmluaXRpb24gb2YgbGFiZWwgInQzbDEiCitFUlJPUjogIG1pc21hdGNo aW5nIHByb3BlcnR5IG5hbWVzIGluIGRlZmluaXRpb24gb2YgbGFiZWwgInQzbDEiCiBBTFRFUiBQ Uk9QRVJUWSBHUkFQSCBnNCBBTFRFUiBWRVJURVggVEFCTEUgdDEgQUREIExBQkVMIHQzbDEgUFJP UEVSVElFUyAoYSBBUyB4KTsgIC0tIG1pc21hdGNoaW5nIG51bWJlciBvZiBwcm9wZXJ0aWVzIG9u IGxhYmVsCiBFUlJPUjogIG1pc21hdGNoaW5nIG51bWJlciBvZiBwcm9wZXJ0aWVzIGluIGRlZmlu aXRpb24gb2YgbGFiZWwgInQzbDEiCiBBTFRFUiBQUk9QRVJUWSBHUkFQSCBnMSBPV05FUiBUTyBy ZWdyZXNzX2dyYXBoX3VzZXIxOwotLSAKMi4zNC4xCgo= --0000000000002546af06510356a8--