| From: | SATYANARAYANA NARLAPURAM <satyanarlapuram(at)gmail(dot)com> |
|---|---|
| To: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org> |
| Subject: | Bug: Missing collation assignment for GRAPH_TABLE COLUMNS expressions |
| Date: | 2026-04-10 15:41:58 |
| Message-ID: | CAHg+QDc4aaiufYSgrwMMPMMRTPtQ66SghcrPFbWJFZMqNaG+BA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
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
| Attachment | Content-Type | Size |
|---|---|---|
| 0001-fix-graph-table-columns-collation.patch | application/octet-stream | 3.0 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Robert Haas | 2026-04-10 15:57:41 | Re: pg_stash_advice doc |
| Previous Message | Daniil Davydov | 2026-04-10 15:28:01 | Re: Fix bug with accessing to temporary tables of other sessions |