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 1wGj3m-006VaA-2I for pgsql-hackers@arkaria.postgresql.org; Sat, 25 Apr 2026 19:53:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wGj3j-009Ui5-1T for pgsql-hackers@arkaria.postgresql.org; Sat, 25 Apr 2026 19:52:59 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wGj3i-009Uhw-37 for pgsql-hackers@lists.postgresql.org; Sat, 25 Apr 2026 19:52:59 +0000 Received: from mail-vs1-xe29.google.com ([2607:f8b0:4864:20::e29]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wGj3g-00000002lwT-3g0y for pgsql-hackers@lists.postgresql.org; Sat, 25 Apr 2026 19:52:58 +0000 Received: by mail-vs1-xe29.google.com with SMTP id ada2fe7eead31-60904a76e63so5132355137.0 for ; Sat, 25 Apr 2026 12:52:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777146776; cv=none; d=google.com; s=arc-20240605; b=Aph8hItIt7FBptCjfADiUIhRnSVZ0ETQo/ir7/2m6GsLFauCOEn6guxzIGmHmbr1Sd 2NYQxe4FzOnkE2vAQPbqTQKbTCYTypii6qE+vnZ79DAWCLgmFoTp29UxoIRDHEIebcH/ 4k/95cfxnqG5zh98oB0zjIOCI66NQW1e5NLXvzf+wBU+mMpw81R8iXyyPhr+29xgw+pb cy6tB+MSKBY6gSLkQ90X1rxCfzny78Kq6vFTg3TAPMH/cKBL202gCY1+RqHft13TDxeE +NoeUOoa/I03kn+mHC2Anq/wUVTFSNt/9x1YtXkm2uGjKcCKKIKX48HQn7a27WoiZZ1S 3GDw== 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=MslsgpZJiXQyCr6uq6aXzjOrYlsyNgXoR0MaJOwIjoE=; fh=rf79rTKPGsw7cX8Ly8TKTWm50sbG7CfzRgfTSNZkF6w=; b=Q63XS15rCuGcbpN73TWwpYpDbRQEsdHDEOLgN8EPlRT2hAhUWuYkOt+hNIpyJyVyqd nMB94rym0MEEDOACIYQsXJWHpyzjZFgeQ1kH0utlwwmrLbEDT+KyGPutxwprd3a1Z135 mJ/V1+JWP+OiNcPYvUWYyNUPU1/UNAQe1nW+gs/Me/oZuPLlnOyWhobRrUSXV1EI+O6h gT+assrscMfNcM9KwQDm6AhUACUYpnsXjPiYwze69S/jcDEPNf2iq9k5+vqf6Y9tUn+Q FKmoCXOoTQbEZWfSwtPdgfoe8c33uz95ovRDO3wDaNNVvn6L+BCRA6MwuYUD6aDd1VJz 8u9A==; darn=lists.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=1777146776; x=1777751576; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=MslsgpZJiXQyCr6uq6aXzjOrYlsyNgXoR0MaJOwIjoE=; b=bd1bBxEdjrCk1lqbZ0Y+6fUmzEmf6pswMjRrtVauDJVb0/lydh4wY3yyNFhOeoOsuE CZKidmDV2no/wtVBPhUzUtYNhTGok4qD7RSAMjQrefqmjodTjKVSG9lFtwntdNEJkcaN lie4tH6C4pXD7zLJmGHyFDnQ9pj7C2JutMnWH9sAGme0Zllvp6n3Kb/3xpKManq7ivSW Q2nqRDo6unb9D3juOL9VdRa7xVaUpUm2dvOVJRsoQwFfRzICs/M2EyVXuwmW+PHi/hGC unAiQGDd77MIGjouF9JV6f78X1Y2MCxQhBqvCCIG24310dJ1E0gdFgUb1BeUQgYqeaCi 1mWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777146776; x=1777751576; 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=MslsgpZJiXQyCr6uq6aXzjOrYlsyNgXoR0MaJOwIjoE=; b=mlE5xWAqmIdsD/b5qGZVEaxW9tuNrFkYf1pA7BfEHbDhC5uHyaBXlnZB11Sc5wlUNX W+oo7uvIRP33EzkuHwo472y2ZEb3+TWzMz1NDR4Pf+6+s/yVSmwBFlbMM1azN7DfKKIx v8GuwKDR4/iEiNzr6GWojrszpKfYoddNfSQusy3rqVs2mmdFA0YkOk1xowfE9nzidz+z inYILsjVAmBfcMa/3PUMrC90+gnYtUQB2NrBw0U4t/VKkzP/wisl4uFsjvcfNZc/s6yh Ijj0/0K4HnXAO8jDV91ztOMBxkgvXx7BZjLIXJGawtqcEIBgZ+pzIXa2KDP/uIYcwDhX KIrA== X-Gm-Message-State: AOJu0YwLWH8tuvDo7e0QxvmqnzWIeAAqkqAyhGlQeFUVfnlb2RJ/S2Gb q16QOlQPaAZ9oj72Pt1xaTCZUfAx0fW8DzORe6HSFt1aEodzx1JI0hpIHP2cSMZRkBdfXfeR2hG m8+zne+XcR0eGU0HZyuiQcHuDF0Gdh0V/B4tI X-Gm-Gg: AeBDievB40PmahjiFoHnaKXvSoCIgg0J/jWmecodUQpQSTGuMrOFkGU6nyQ/t8Tke1j egp3psQuMXp4VyClwEmQglt897tqRs8KbKc471aaR8P73jZspN5gIhTLEQIx+0K5hrlqKHScD0d 1zb3sCfGe1PNZfmDmd4ARU94iZH2AkSwwi7aDs+x/s083BYxka1KIy8zu3h44H1XY0nT7Iubx9I QxEx639AMorkSe6BABoS5gDmFeS4+qQCOqGvxc9mY/li5WKSydfG3kg1RbDSSWrDVL7v1dS6SvY tsiC0fhPz3EtAKbldk1HQO+dfXKB X-Received: by 2002:a05:6102:689c:b0:611:c543:8fff with SMTP id ada2fe7eead31-616f4643b36mr20753662137.4.1777146776201; Sat, 25 Apr 2026 12:52:56 -0700 (PDT) MIME-Version: 1.0 From: SATYANARAYANA NARLAPURAM Date: Sat, 25 Apr 2026 12:52:44 -0700 X-Gm-Features: AVHnY4KJ2ODySKiguNvvwOHBCVsH8ettKiprQZs-3JAHtscbD-lKrwgq0aNsOy0 Message-ID: Subject: [PATCH] Resolve unknown-type literals in GRAPH_TABLE COLUMNS To: PostgreSQL Hackers , Ashutosh Bapat Content-Type: multipart/mixed; boundary="0000000000004f4fb606504e3a56" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000004f4fb606504e3a56 Content-Type: multipart/alternative; boundary="0000000000004f4fb506504e3a54" --0000000000004f4fb506504e3a54 Content-Type: text/plain; charset="UTF-8" Hi hackers, transformRangeGraphTable() calls transformExpr() and assign_list_collations() for COLUMNS expressions but missed calling resolveTargetListUnknowns(). As a result, literals such as 'val1' in a COLUMNS clause retained type "unknown", causing failures with ORDER BY, UNION, and output conversions. Fix by calling resolveTargetListUnknowns() on the columns target list right after assign_list_collations(), similar to SELECT target lists in transformSelectStmt(). Attached a patch to fix this, which also includes test cases to reproduce. Thanks, Satya --0000000000004f4fb506504e3a54 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi hackers,

transformRangeGraphTable() = calls transformExpr() and
assign_list_collations() for COLUMNS expressio= ns but missed calling
resolveTargetListUnknowns(). As a result, literals= such as 'val1'
in a COLUMNS clause retained type "unknown= ", causing failures with
ORDER BY, UNION, and output conversions.<= br>
Fix by calling resolveTargetListUnknowns() on the columns target
= list right after assign_list_collations(), similar to SELECT target lists i= n=C2=A0
transformSelectStmt().

Attached = a patch to fix this, which also includes test cases to reproduce.


Thanks,
Satya

=

--0000000000004f4fb506504e3a54-- --0000000000004f4fb606504e3a56 Content-Type: application/octet-stream; name="0001-Resolve-unknown-type-literals-in-GRAPH_TABLE-COLUMNS.patch" Content-Disposition: attachment; filename="0001-Resolve-unknown-type-literals-in-GRAPH_TABLE-COLUMNS.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_moeraknj0 RnJvbSBlZmEwMDA5MDUzNDNmNmMyNTEyZjM2M2MwMDEzYzE5ZmJhZDViOGE1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYXR5YSBOYXJsYXB1cmFtIDxzYXR5YW5hcmxhcHVyYW1AZ21h aWwuY29tPgpEYXRlOiBTYXQsIDI1IEFwciAyMDI2IDE3OjMwOjQzICswMDAwClN1YmplY3Q6IFtQ QVRDSF0gUmVzb2x2ZSB1bmtub3duLXR5cGUgbGl0ZXJhbHMgaW4gR1JBUEhfVEFCTEUgQ09MVU1O UwogZXhwcmVzc2lvbnMKCnRyYW5zZm9ybVJhbmdlR3JhcGhUYWJsZSgpIGNhbGxzIHRyYW5zZm9y bUV4cHIoKSBhbmQKYXNzaWduX2xpc3RfY29sbGF0aW9ucygpIGZvciBDT0xVTU5TIGV4cHJlc3Np b25zIGJ1dCBtaXNzZWQgY2FsbGluZwpyZXNvbHZlVGFyZ2V0TGlzdFVua25vd25zKCkuIEFzIGEg cmVzdWx0LCBsaXRlcmFscyBzdWNoIGFzICdjb2wxJyAKaW4gYSBDT0xVTU5TIGNsYXVzZSByZXRh aW5lZCB0eXBlICJ1bmtub3duIiwgY2F1c2luZyBmYWlsdXJlcyB3aXRoIApPUkRFUiBCWSwgVU5J T04sIGFuZCBvdXRwdXQgY29udmVyc2lvbnMuCgpGaXggYnkgY2FsbGluZyByZXNvbHZlVGFyZ2V0 TGlzdFVua25vd25zKCkgb24gdGhlIGNvbHVtbnMgdGFyZ2V0Cmxpc3QgcmlnaHQgYWZ0ZXIgYXNz aWduX2xpc3RfY29sbGF0aW9ucygpLCBzaW1pbGFyIHRvIFNFTEVDVCB0YXJnZXQgCmxpc3RzIGlu IHRyYW5zZm9ybVNlbGVjdFN0bXQoKS4KLS0tCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfY2xh dXNlLmMgICAgICAgICB8ICAzICsrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2dyYXBoX3Rh YmxlLm91dCB8IDU0ICsrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3Nx bC9ncmFwaF90YWJsZS5zcWwgICAgICB8IDIxICsrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA3 OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2Ns YXVzZS5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2NsYXVzZS5jCmluZGV4IGYzNzM2OTc5 Li43Nzk4MTg1MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2NsYXVzZS5j CisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9jbGF1c2UuYwpAQCAtMTAxMCw2ICsxMDEw LDkgQEAgdHJhbnNmb3JtUmFuZ2VHcmFwaFRhYmxlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgUmFuZ2VH cmFwaFRhYmxlICpyZ3QpCiAJICovCiAJYXNzaWduX2xpc3RfY29sbGF0aW9ucyhwc3RhdGUsIGNv bHVtbnMpOwogCisJLyogUmVzb2x2ZSB1bmtub3duLXR5cGUgbGl0ZXJhbHMgdG8gdGV4dCAqLwor CXJlc29sdmVUYXJnZXRMaXN0VW5rbm93bnMocHN0YXRlLCBjb2x1bW5zKTsKKwogCXRhYmxlX2Ns b3NlKHJlbCwgTm9Mb2NrKTsKIAogCXBzdGF0ZS0+cF9ncmFwaF90YWJsZV9wc3RhdGUgPSBOVUxM OwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ncmFwaF90YWJsZS5vdXQg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2dyYXBoX3RhYmxlLm91dAppbmRleCBkM2MyMDYx MC4uMjEyZmEyOWYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZ3JhcGhf dGFibGUub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZ3JhcGhfdGFibGUub3V0 CkBAIC0xMTEwLDQgKzExMTAsNTggQEAgU0VMRUNUICogRlJPTSBHUkFQSF9UQUJMRSAoZzEgTUFU Q0ggKGEgSVMgdmwxKSBDT0xVTU5TICh1cHBlcihhLnZuYW1lKSBBUyBuKSkgT1IKICBWMTMKICgz IHJvd3MpCiAKKy0tIFN0cmluZyBhbmQgTlVMTCBsaXRlcmFscyBpbiBDT0xVTU5TIG11c3QgcmVz b2x2ZSB0byBwcm9wZXIgdHlwZXMKKy0tIChub3QgcmVtYWluIGFzICJ1bmtub3duIikKK1NFTEVD VCBwZ190eXBlb2YoYzEpLCBjMQorICBGUk9NIEdSQVBIX1RBQkxFIChnMSBNQVRDSCAoYSBJUyB2 bDEpCisgICAgQ09MVU1OUyAoYS52bmFtZSBBUyBuLCAndmFsMScgQVMgYzEpKSBPUkRFUiBCWSBu OworIHBnX3R5cGVvZiB8ICBjMSAgCistLS0tLS0tLS0tLSstLS0tLS0KKyB0ZXh0ICAgICAgfCB2 YWwxCisgdGV4dCAgICAgIHwgdmFsMQorIHRleHQgICAgICB8IHZhbDEKKygzIHJvd3MpCisKKy0t IE9SREVSIEJZIG9uIGEgbGl0ZXJhbCBjb2x1bW4KK1NFTEVDVCAqIEZST00gR1JBUEhfVEFCTEUg KGcxIE1BVENIIChhIElTIHZsMSkKKyAgICBDT0xVTU5TIChhLnZuYW1lIEFTIG4sICd2YWwxJyBB UyBjMSkpIE9SREVSIEJZIGMxLCBuOworICBuICB8ICBjMSAgCistLS0tLSstLS0tLS0KKyB2MTEg fCB2YWwxCisgdjEyIHwgdmFsMQorIHYxMyB8IHZhbDEKKygzIHJvd3MpCisKKy0tIFVOSU9OIGJl dHdlZW4gR1JBUEhfVEFCTEUgbGl0ZXJhbCBjb2x1bW4gYW5kIHBsYWluIHRleHQKK1NFTEVDVCAq IEZST00gR1JBUEhfVEFCTEUgKGcxIE1BVENIIChhIElTIHZsMSkKKyAgICBDT0xVTU5TIChhLnZu YW1lIEFTIG4sICd2YWwxJyBBUyBjMSkpCisgIFVOSU9OIEFMTCBTRUxFQ1QgJ3ZhbDInLCAndmFs Myc7CisgIG4gICB8ICBjMSAgCistLS0tLS0rLS0tLS0tCisgdjExICB8IHZhbDEKKyB2MTIgIHwg dmFsMQorIHYxMyAgfCB2YWwxCisgdmFsMiB8IHZhbDMKKyg0IHJvd3MpCisKKy0tIE5VTEwgbGl0 ZXJhbCBtdXN0IG5vdCBjYXVzZSBmYWlsdXJlcworU0VMRUNUIG4sIHBnX3R5cGVvZihjMSkKKyAg RlJPTSBHUkFQSF9UQUJMRSAoZzEgTUFUQ0ggKGEgSVMgdmwxKQorICAgIENPTFVNTlMgKGEudm5h bWUgQVMgbiwgTlVMTCBBUyBjMSkpIE9SREVSIEJZIG47CisgIG4gIHwgcGdfdHlwZW9mIAorLS0t LS0rLS0tLS0tLS0tLS0KKyB2MTEgfCB0ZXh0CisgdjEyIHwgdGV4dAorIHYxMyB8IHRleHQKKygz IHJvd3MpCisKKy0tIGludGVnZXIgbGl0ZXJhbCB0eXBlIGlzIHByZXNlcnZlZAorU0VMRUNUIHBn X3R5cGVvZihjMSkKKyAgRlJPTSBHUkFQSF9UQUJMRSAoZzEgTUFUQ0ggKGEgSVMgdmwxKQorICAg IENPTFVNTlMgKDQyIEFTIGMxKSkgTElNSVQgMTsKKyBwZ190eXBlb2YgCistLS0tLS0tLS0tLQor IGludGVnZXIKKygxIHJvdykKKwogLS0gbGVhdmUgdGhlIG9iamVjdHMgYmVoaW5kIGZvciBwZ191 cGdyYWRlL3BnX2R1bXAgdGVzdHMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2dy YXBoX3RhYmxlLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2dyYXBoX3RhYmxlLnNxbAppbmRl eCAyNTIxYzRjYS4uM2Q3NGFiNGMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2dy YXBoX3RhYmxlLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9ncmFwaF90YWJsZS5zcWwK QEAgLTYzNCw0ICs2MzQsMjUgQEAgU0VMRUNUIHNyYy52bmFtZSwgY291bnQoKikKIFNFTEVDVCAq IEZST00gR1JBUEhfVEFCTEUgKGcxIE1BVENIIChhIElTIHZsMSkgQ09MVU1OUyAoYS52bmFtZSB8 fCAnIScgQVMgbikpIE9SREVSIEJZIG47CiBTRUxFQ1QgKiBGUk9NIEdSQVBIX1RBQkxFIChnMSBN QVRDSCAoYSBJUyB2bDEpIENPTFVNTlMgKHVwcGVyKGEudm5hbWUpIEFTIG4pKSBPUkRFUiBCWSBu OwogCistLSBTdHJpbmcgYW5kIE5VTEwgbGl0ZXJhbHMgaW4gQ09MVU1OUyBtdXN0IHJlc29sdmUg dG8gcHJvcGVyIHR5cGVzCistLSAobm90IHJlbWFpbiBhcyAidW5rbm93biIpCitTRUxFQ1QgcGdf dHlwZW9mKGMxKSwgYzEKKyAgRlJPTSBHUkFQSF9UQUJMRSAoZzEgTUFUQ0ggKGEgSVMgdmwxKQor ICAgIENPTFVNTlMgKGEudm5hbWUgQVMgbiwgJ3ZhbDEnIEFTIGMxKSkgT1JERVIgQlkgbjsKKy0t IE9SREVSIEJZIG9uIGEgbGl0ZXJhbCBjb2x1bW4KK1NFTEVDVCAqIEZST00gR1JBUEhfVEFCTEUg KGcxIE1BVENIIChhIElTIHZsMSkKKyAgICBDT0xVTU5TIChhLnZuYW1lIEFTIG4sICd2YWwxJyBB UyBjMSkpIE9SREVSIEJZIGMxLCBuOworLS0gVU5JT04gYmV0d2VlbiBHUkFQSF9UQUJMRSBsaXRl cmFsIGNvbHVtbiBhbmQgcGxhaW4gdGV4dAorU0VMRUNUICogRlJPTSBHUkFQSF9UQUJMRSAoZzEg TUFUQ0ggKGEgSVMgdmwxKQorICAgIENPTFVNTlMgKGEudm5hbWUgQVMgbiwgJ3ZhbDEnIEFTIGMx KSkKKyAgVU5JT04gQUxMIFNFTEVDVCAndmFsMicsICd2YWwzJzsKKy0tIE5VTEwgbGl0ZXJhbCBt dXN0IG5vdCBjYXVzZSBmYWlsdXJlcworU0VMRUNUIG4sIHBnX3R5cGVvZihjMSkKKyAgRlJPTSBH UkFQSF9UQUJMRSAoZzEgTUFUQ0ggKGEgSVMgdmwxKQorICAgIENPTFVNTlMgKGEudm5hbWUgQVMg biwgTlVMTCBBUyBjMSkpIE9SREVSIEJZIG47CistLSBpbnRlZ2VyIGxpdGVyYWwgdHlwZSBpcyBw cmVzZXJ2ZWQKK1NFTEVDVCBwZ190eXBlb2YoYzEpCisgIEZST00gR1JBUEhfVEFCTEUgKGcxIE1B VENIIChhIElTIHZsMSkKKyAgICBDT0xVTU5TICg0MiBBUyBjMSkpIExJTUlUIDE7CisKIC0tIGxl YXZlIHRoZSBvYmplY3RzIGJlaGluZCBmb3IgcGdfdXBncmFkZS9wZ19kdW1wIHRlc3RzCi0tIAoy LjQzLjAKCg== --0000000000004f4fb606504e3a56--