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 1wBDzr-000rGE-1S for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Apr 2026 15:42:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wBDzp-00CuCQ-1g for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Apr 2026 15:42:14 +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 1wBDzp-00CuCD-0N for pgsql-hackers@lists.postgresql.org; Fri, 10 Apr 2026 15:42:14 +0000 Received: from mail-ua1-x92b.google.com ([2607:f8b0:4864:20::92b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wBDzn-00000000M3C-3mPG for pgsql-hackers@lists.postgresql.org; Fri, 10 Apr 2026 15:42:13 +0000 Received: by mail-ua1-x92b.google.com with SMTP id a1e0cc1a2514c-94b07fddecbso1236374241.1 for ; Fri, 10 Apr 2026 08:42:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775835731; cv=none; d=google.com; s=arc-20240605; b=QytpbTKzZQCHOfhqTGzW1HAxCvrIZYCSyYB+a/MNd2S9nbQnSAy8g8pAc/0OCoWb8Y B9enhqF9V/vsiNrwlcZwGSi1QZuj+kN+rxIavoGTP1lUtT2jlf7PnxBoXeLNajjdxvbR /KyU41+1FAZiDOiHXL1tfLyx/seAIICNxPkAQ49KqLLi+YqrZZ0PfTaasDysd/4JIX5H AOW9cumwel4M0HbFNyrKHAx1oU09ZpkjupaO8CV9Y+PcDLL23yT9L/WX4qarvM+1Elor tnRVE7hLiSUtp/S/jxUixqpnjlIJTtVAhAPuR+KYdO9iHRQyPizHag+XcLzmtYQx4yiY mj6w== 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=t3IpxVw8z8Y8FT3EpKhpO/1ePzBLdq0EKXeczQrr0oM=; fh=s8dJ/kk1igS09rYHRqtZMerRAdsGA3wdK0QF8qaRi7E=; b=YJ3bR7pC6Lyq/SN41tVYlSMjsWY/aI98P5CCWjUOvzWosAGnkPFbRx8uED/+jg0mnd RSJps6KBrlLYGkZKe7drtNmVsXFVbv7ZjUoafVmBtexpryZLX30LHflnsG16v5cvYFsG aprWwzlWDZlmiFx1lnKmZa8RCQmuFIpUTCz9jvTjPmnqa5a3d2b9IGUCnyt3Rurur8Jy g8hpAwnsnwamh5aIEwKENRNhvNpbuyYMdEbHiqGZ0jzos4tF/XRIDKm94ScNQBmeRVR3 cxUCEqT4Ydo3hVKALwlgU02/aCAiODTTjia4sJGJT1KRR5M+7ASp0IbfA4v3fVWY4cuU dXAQ==; 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=1775835731; x=1776440531; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=t3IpxVw8z8Y8FT3EpKhpO/1ePzBLdq0EKXeczQrr0oM=; b=ecYF+Gq0tbcL1674ejWcypEOSiIMajGTnDlcjEMlkOtt551GJApeQar3DnyOmAJtd5 vFA/+wBZ48twFI9wjOZ+Hv50TUo9G10kifgnf/GSO9lXi/zFk+ug64TbHh10oSK842aZ qo/EEZCEfThGg38NN1FsZAcMsgjZTtbHXjK+5yVvtRgpSZq6ow0PicvtxgsmwjYY9mXV S0F/VOxXe4YVk9LvvE/q0wmdgrNkQ/vvuwOcnK4rU8+jqTXGJyjCpTM1SPTCNN74YPwi 1q3B5dWQIPF2t6o9nEp0B08zA0mnnNJs0oCdHy9h98Ec9yZgpRO5S5azLYWsBnoQLKJa ms5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775835731; x=1776440531; 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=t3IpxVw8z8Y8FT3EpKhpO/1ePzBLdq0EKXeczQrr0oM=; b=sZwlPD6YmQ44vLdPpkkLCcRg1FCkVPjXrRUL4HJwyUqWBoGSLiREYO3zJQ1RkEY+Qk LYVIkBlp9YfzrG1d2j+5VHggFRSDw9Wc3qH8+3gsSWqD3LVPmNO4gCL8xtWavZCxwgKH mqFIHmWkW4RfBYCNQVAvac4vnQFWB6mcSnl4hNFKZOjMjHYW7vmL+yyjXi7yYX6J3wn7 Hwf/Fp9AsesMsZ6hpvp2BNsNzhWHQv7SZbYdEC7psYwi8zJhtWU4Aiu6qZEk7mhchlUk NkJQA+xW/fu52ZCHvBTZ1vUwKFmazXPkIc76GIKuB7ohVICzGNJYOYwxLIChrJd25SwX yzZQ== X-Gm-Message-State: AOJu0Yw2itF6trEYRnYAWuzmFfMDC6C4eSIjfxp8I/q+MX6Plp3KTt7v t3gyTMZKUr1eZhXCSvi+DsLXpSE+dezeTrUjN05hS+93qwWbrUMII4PjfD239YiNobLo0adSRPr fZX1xfujaK+39pOoVHB7kg2gmeI93r+NZoy4f X-Gm-Gg: AeBDieufk7gwSGtt8ddiHpEM1ld8ClNwHRe5QRIeGrc+3gkDHrtCM0MBkDA56bcgnYa b8ukVtV/rcxQ1pJRU+bxZ9v04IBRTWOcBmrdwK4JLbfx0b9T25h62oeV4LD3pdMT2cdtF6uX+xA OWy4ord8cr4asUpkZ4IlyOZZl714RQR9OCECXbPXA+FtttCqDfBjZOnCVCN4PLQpe14ZIZtxPLv z38qhouOoCUUDW39AkSdctW597i890ho5B/pJdAk42gRSL3v7HwoGp9IhGJ0LW9vKt/BBlvuwcl UuAcnuE= X-Received: by 2002:a05:6102:1612:b0:605:7067:e143 with SMTP id ada2fe7eead31-60a00f4964cmr1867781137.25.1775835730755; Fri, 10 Apr 2026 08:42:10 -0700 (PDT) MIME-Version: 1.0 From: SATYANARAYANA NARLAPURAM Date: Fri, 10 Apr 2026 08:41:58 -0700 X-Gm-Features: AQROBzD15igbznhQtjT_rbC0b14d7U7fKLU9NUszF8VwrDLr3WwOxzRqB0ZDvWM Message-ID: Subject: Bug: Missing collation assignment for GRAPH_TABLE COLUMNS expressions To: PostgreSQL Hackers , Ashutosh Bapat , Peter Eisentraut Content-Type: multipart/mixed; boundary="000000000000e995b2064f1cf92a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000e995b2064f1cf92a Content-Type: multipart/alternative; boundary="000000000000e995b1064f1cf928" --000000000000e995b1064f1cf928 Content-Type: text/plain; charset="UTF-8" Hi hackers, GRAPH_TABLE COLUMNS expressions that involve collation-dependent functions or operators fail with: ERROR: could not determine which collation to use for upper() function HINT: Use the COLLATE clause to set the collation explicitly. Setup: CREATE TABLE vtx (id int PRIMARY KEY, name text); CREATE TABLE edg (id int PRIMARY KEY, src int REFERENCES vtx(id), dst int REFERENCES vtx(id)); INSERT INTO vtx VALUES (1,'Alice'),(2,'Bob'),(3,'Carol'); INSERT INTO edg VALUES (1,1,2),(2,2,3); CREATE PROPERTY GRAPH g VERTEX TABLES (vtx KEY (id)) EDGE TABLES (edg KEY (id) SOURCE KEY (src) REFERENCES vtx (id) DESTINATION KEY (dst) REFERENCES vtx (id)); postgres=# SELECT * FROM GRAPH_TABLE (g MATCH (a IS vtx)-[e IS edg]->(b IS vtx) COLUMNS (upper(a.name) AS src_upper)); ERROR: could not determine which collation to use for upper() function HINT: Use the COLLATE clause to set the collation explicitly. In transformRangeGraphTable(), the COLUMNS transformation loop calls transformExpr() on each column expression but omits the subsequent assign_expr_collations() call. Both WHERE clause transformation sites in parse_graphtable.c correctly include it. Attached a patch to fix this. Thanks, Satya --000000000000e995b1064f1cf928 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi hackers,

GRAPH_TABLE COLUMNS expressions that in= volve collation-dependent functions or operators fail with:

=C2=A0 E= RROR: could not determine which collation to use for upper() function
= =C2=A0 HINT: Use the COLLATE clause to set the collation explicitly.
Setup:=C2=A0

=C2=A0 CREATE TABLE vtx (id int PRIMARY KEY, name tex= t);
=C2=A0 CREATE TABLE edg (id int PRIMARY KEY,
=C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 src int REFERENCES vtx(id= ),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= dst int REFERENCES vtx(id));
=C2=A0 INSERT INTO vtx VALUES (1,'Alic= e'),(2,'Bob'),(3,'Carol');
=C2=A0 INSERT INTO edg VA= LUES (1,1,2),(2,2,3);

=C2=A0 CREATE PROPERTY GRAPH g
=C2=A0 =C2= =A0 VERTEX TABLES (vtx KEY (id))
=C2=A0 =C2=A0 EDGE TABLES (edg KEY (id)=
=C2=A0 =C2=A0 =C2=A0 SOURCE KEY (src) REFERENCES vtx (id)
=C2=A0 =C2= =A0 =C2=A0 DESTINATION KEY (dst) REFERENCES vtx (id));

postgres=3D# = SELECT * FROM GRAPH_TABLE (g
=C2=A0 MATCH (a IS vtx)-[e IS edg]->(b I= S vtx) COLUMNS (upper(a.name) AS src_upper));=
ERROR: =C2=A0could not determine which collation to use for upper() fun= ction
HINT: =C2=A0Use the COLLATE clause to set the collation explicitly= .


In transformRangeGraphTable(), the COLUMNS transformation loop= calls transformExpr()=C2=A0
on each column expression but omits the su= bsequent assign_expr_collations() call.=C2=A0 Both=C2=A0
WHERE cl= ause transformation sites in parse_graphtable.c correctly include it.

Attached a patch to fix this.

<= /div>
Thanks,
Satya
--000000000000e995b1064f1cf928-- --000000000000e995b2064f1cf92a Content-Type: application/octet-stream; name="0001-fix-graph-table-columns-collation.patch" Content-Disposition: attachment; filename="0001-fix-graph-table-columns-collation.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnt2pd0c0 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9jbGF1c2UuYyBiL3NyYy9iYWNr ZW5kL3BhcnNlci9wYXJzZV9jbGF1c2UuYwppbmRleCA5NjdlZWE0NC4uNDJkMzVhMTggMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9jbGF1c2UuYworKysgYi9zcmMvYmFja2Vu ZC9wYXJzZXIvcGFyc2VfY2xhdXNlLmMKQEAgLTk4MCw2ICs5ODAsNyBAQCB0cmFuc2Zvcm1SYW5n ZUdyYXBoVGFibGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBSYW5nZUdyYXBoVGFibGUgKnJndCkKIAkJ Y2hhcgkgICAqY29sbmFtZTsKIAogCQljb2xleHByID0gdHJhbnNmb3JtRXhwcihwc3RhdGUsIHJ0 LT52YWwsIEVYUFJfS0lORF9TRUxFQ1RfVEFSR0VUKTsKKwkJYXNzaWduX2V4cHJfY29sbGF0aW9u cyhwc3RhdGUsIGNvbGV4cHIpOwogCiAJCWlmIChydC0+bmFtZSkKIAkJCWNvbG5hbWUgPSBydC0+ bmFtZTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZ3JhcGhfdGFibGUu b3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ncmFwaF90YWJsZS5vdXQKaW5kZXggYjU3 OWUzZGYuLjI2YmE5NWU1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2dy YXBoX3RhYmxlLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2dyYXBoX3RhYmxl Lm91dApAQCAtMTAyMiw0ICsxMDIyLDUzIEBAIFNFTEVDVCBzbmFtZSwgZG5hbWUgRlJPTSBHUkFQ SF9UQUJMRSAoZzEgTUFUQ0ggKHNyYyktPihkZXN0KSBXSEVSRSBzcmMudnByb3AxID4KIEVSUk9S OiAgc3VicXVlcmllcyB3aXRoaW4gR1JBUEhfVEFCTEUgcmVmZXJlbmNlIGFyZSBub3Qgc3VwcG9y dGVkCiBTRUxFQ1Qgc25hbWUsIGRuYW1lIEZST00gR1JBUEhfVEFCTEUgKGcxIE1BVENIIChzcmMp LT4oZGVzdCkgV0hFUkUgb3V0X2RlZ3JlZShzcmMudm5hbWUpID4gKFNFTEVDVCBtYXgob3V0X2Rl Z3JlZShubmFtZSkpIEZST00gR1JBUEhfVEFCTEUgKGcxIE1BVENIIChub2RlKSBDT0xVTU5TIChu b2RlLnZuYW1lIEFTIG5uYW1lKSkpIENPTFVNTlMoc3JjLnZuYW1lIEFTIHNuYW1lLCBkZXN0LnZu YW1lIEFTIGRuYW1lKSk7CiBFUlJPUjogIHN1YnF1ZXJpZXMgd2l0aGluIEdSQVBIX1RBQkxFIHJl ZmVyZW5jZSBhcmUgbm90IHN1cHBvcnRlZAorLS0gY29sbGF0aW9uIGFzc2lnbm1lbnQgZm9yIENP TFVNTlMgZXhwcmVzc2lvbnMKK1NFTEVDVCAqIEZST00gR1JBUEhfVEFCTEUgKGcxIE1BVENIIChz cmMpLT4oZGVzdCkgQ09MVU1OUyAodXBwZXIoc3JjLnZuYW1lKSBBUyB1KSkgT1JERVIgQlkgdTsK KyAgdSAgCistLS0tLQorIFYxMQorIFYxMQorIFYxMQorIFYxMgorIFYxMworIFYyMQorIFYyMgor IFYyMworIFYzMgorIFYzMworIFYzMworKDExIHJvd3MpCisKK1NFTEVDVCAqIEZST00gR1JBUEhf VEFCTEUgKGcxIE1BVENIIChzcmMpLT4oZGVzdCkgQ09MVU1OUyAoc3JjLnZuYW1lIHx8IGRlc3Qu dm5hbWUgQVMgY29tYmluZWQpKSBPUkRFUiBCWSBjb21iaW5lZDsKKyBjb21iaW5lZCAKKy0tLS0t LS0tLS0KKyB2MTF2MjIKKyB2MTF2MzEKKyB2MTF2MzMKKyB2MTJ2MjEKKyB2MTN2MjMKKyB2MjF2 MTIKKyB2MjJ2MzIKKyB2MjN2MTMKKyB2MzJ2MjIKKyB2MzN2MzMKKyB2MzN2MzMKKygxMSByb3dz KQorCitTRUxFQ1QgKiBGUk9NIEdSQVBIX1RBQkxFIChnMSBNQVRDSCAoc3JjKS0+KGRlc3QpIENP TFVNTlMgKHJlcGxhY2Uoc3JjLnZuYW1lLCAnUycsICdYJykgQVMgcmVwbGFjZWQpKSBPUkRFUiBC WSByZXBsYWNlZDsKKyByZXBsYWNlZCAKKy0tLS0tLS0tLS0KKyB2MTEKKyB2MTEKKyB2MTEKKyB2 MTIKKyB2MTMKKyB2MjEKKyB2MjIKKyB2MjMKKyB2MzIKKyB2MzMKKyB2MzMKKygxMSByb3dzKQor CiAtLSBsZWF2ZSB0aGUgb2JqZWN0cyBiZWhpbmQgZm9yIHBnX3VwZ3JhZGUvcGdfZHVtcCB0ZXN0 cwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZ3JhcGhfdGFibGUuc3FsIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvZ3JhcGhfdGFibGUuc3FsCmluZGV4IDRmZjk4ODE3Li4xM2VjZTZk OCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZ3JhcGhfdGFibGUuc3FsCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2dyYXBoX3RhYmxlLnNxbApAQCAtNTgyLDQgKzU4Miw5IEBA IFNFTEVDVCAqIEZST00gY3VzdG9tZXJzIGNvIFdIRVJFIGNvLmN1c3RvbWVyX2lkID0gKFNFTEVD VCBjdXN0b21lcl9pZCBGUk9NIEdSQVBICiBTRUxFQ1Qgc25hbWUsIGRuYW1lIEZST00gR1JBUEhf VEFCTEUgKGcxIE1BVENIIChzcmMpLT4oZGVzdCkgV0hFUkUgc3JjLnZwcm9wMSA+IChTRUxFQ1Qg bWF4KHYxLnZwcm9wMSkgRlJPTSB2MSkgQ09MVU1OUyhzcmMudm5hbWUgQVMgc25hbWUsIGRlc3Qu dm5hbWUgQVMgZG5hbWUpKTsKIFNFTEVDVCBzbmFtZSwgZG5hbWUgRlJPTSBHUkFQSF9UQUJMRSAo ZzEgTUFUQ0ggKHNyYyktPihkZXN0KSBXSEVSRSBvdXRfZGVncmVlKHNyYy52bmFtZSkgPiAoU0VM RUNUIG1heChvdXRfZGVncmVlKG5uYW1lKSkgRlJPTSBHUkFQSF9UQUJMRSAoZzEgTUFUQ0ggKG5v ZGUpIENPTFVNTlMgKG5vZGUudm5hbWUgQVMgbm5hbWUpKSkgQ09MVU1OUyhzcmMudm5hbWUgQVMg c25hbWUsIGRlc3Qudm5hbWUgQVMgZG5hbWUpKTsKIAorLS0gY29sbGF0aW9uIGFzc2lnbm1lbnQg Zm9yIENPTFVNTlMgZXhwcmVzc2lvbnMKK1NFTEVDVCAqIEZST00gR1JBUEhfVEFCTEUgKGcxIE1B VENIIChzcmMpLT4oZGVzdCkgQ09MVU1OUyAodXBwZXIoc3JjLnZuYW1lKSBBUyB1KSkgT1JERVIg QlkgdTsKK1NFTEVDVCAqIEZST00gR1JBUEhfVEFCTEUgKGcxIE1BVENIIChzcmMpLT4oZGVzdCkg Q09MVU1OUyAoc3JjLnZuYW1lIHx8IGRlc3Qudm5hbWUgQVMgY29tYmluZWQpKSBPUkRFUiBCWSBj b21iaW5lZDsKK1NFTEVDVCAqIEZST00gR1JBUEhfVEFCTEUgKGcxIE1BVENIIChzcmMpLT4oZGVz dCkgQ09MVU1OUyAocmVwbGFjZShzcmMudm5hbWUsICdTJywgJ1gnKSBBUyByZXBsYWNlZCkpIE9S REVSIEJZIHJlcGxhY2VkOworCiAtLSBsZWF2ZSB0aGUgb2JqZWN0cyBiZWhpbmQgZm9yIHBnX3Vw Z3JhZGUvcGdfZHVtcCB0ZXN0cwo= --000000000000e995b2064f1cf92a--