| From: | vaibhave postgres <postgresvaibhave(at)gmail(dot)com> |
|---|---|
| To: | h(dot)lefebvre(dot)69(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org |
| Subject: | Re: BUG #19542: Boolean syntax in GRAPH_TABLE |
| Date: | 2026-07-05 08:20:18 |
| Message-ID: | CAM_eQjx8oO1CwcnYukKsTzzy-rcTn2vHdXk3jtgA91ZdoQ=4nw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
Thanks for reporting.
The crash comes from replace_property_refs()
(src/backend/rewrite/rewriteGraphTable.c) which rewrites the
GraphPropertyRef nodes.
It calls expression_tree_mutator() directly on the top level node instead
of calling it's mutator (replace_property_refs_mutator()) which treats
GraphPropertyRef as a leaf & just copies it unchanged.
```
case T_GraphLabelRef:
case T_GraphPropertyRef:
case T_MergeSupportFunc:
return copyObject(node);
```
The fix is to call the mutator directly at the entry point.
Thanks,
Vaibhave.
On Fri, Jul 3, 2026 at 7:53 PM PG Bug reporting form <noreply(at)postgresql(dot)org>
wrote:
> The following bug has been logged on the website:
>
> Bug reference: 19542
> Logged by: Hervé Lefebvre
> Email address: h(dot)lefebvre(dot)69(at)gmail(dot)com
> PostgreSQL version: 19beta1
> Operating system: Linux
> Description:
>
> In MATCH clause you cannot use "WHERE boolean" Syntax. aka :
>
> select * from GRAPH_TABLE (trajet MATCH ( a IS quai where
> a.nom_station='Place des Fêtes' )-[t IS dessert where t.correspondance
> ]->(b
> IS quai) columns (a.nom_station as station1, a.num_ligne as ligne1,
> b.nom_station as station2, b.num_ligne as ligne2, T.correspondance as
> correspondance));
> ERROR: unrecognized node type: 63
>
> You have to add " = true" (ugly) :
> select * from GRAPH_TABLE (trajet MATCH ( a IS quai where
> a.nom_station='Place des Fêtes' )-[t IS dessert where t.correspondance=true
> ]->(b IS quai) columns (a.nom_station as station1, a.num_ligne as ligne1,
> b.nom_station as station2, b.num_ligne as ligne2, T.correspondance as
> correspondance));
> station1 | ligne1 | station2 | ligne2 | correspondance
> -----------------+--------+-----------------+--------+----------------
> Place des Fêtes | 7bis | Place des Fêtes | 11 | t
> Place des Fêtes | 11 | Place des Fêtes | 7bis | t
> (2 rows)
>
>
>
>
>
| Attachment | Content-Type | Size |
|---|---|---|
| fix-19542.patch | application/octet-stream | 2.7 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | John Naylor | 2026-07-05 10:44:02 | Re: BUG #19533: Wrong results from WindowAgg run-condition pushdown on count() with EXCLUDE CURRENT ROW |
| Previous Message | Tom Lane | 2026-07-04 14:37:37 | Re: BUG #19543: ALTER RULE ... RENAME accepts reserved name "_RETURN" for a non-view rule; breaks a restored dump |