CREATE TABLE vtab (id int PRIMARY KEY, name text);
CREATE TABLE etab (eid int PRIMARY KEY,
src int REFERENCES vtab(id), dst int REFERENCES vtab(id));
CREATE PROPERTY GRAPH g1
VERTEX TABLES (vtab)
EDGE TABLES (etab KEY (eid)
SOURCE KEY (src) REFERENCES vtab(id)
DESTINATION KEY (dst) REFERENCES vtab(id));
CREATE TABLE outer_t (val int);
CREATE VIEW v AS
SELECT * FROM outer_t,
GRAPH_TABLE (g1 MATCH (a IS vtab)
COLUMNS (
a.name AS src_name, outer_t.val AS oval));
pg_dump -d foo -p 5433
pg_dump: error: query failed: ERROR: bogus varlevelsup: 0 offset 0
pg_dump: detail: Query was: SELECT pg_catalog.pg_get_viewdef('173849'::pg_catalog.oid) AS viewdef
deparse_context context variable declared in the case RTE_GRAPH_TABLE shadows the function's
deparse_context *context parameter. The zeroed struct has namespaces = NIL, so when get_rule_expr()
reaches a Var node, get_variable() sees list_length(context->namespaces) == 0 and raises the error. Property
references are fine because GraphPropertyRef deparsing never touches namespaces.