Re: sqlsmith: ERROR: XX000: bogus varno: 2

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Justin Pryzby <pryzby@telsasoft.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-12-20T18:13:51Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> The commit that added PartitionBoundSpec and PartitionRangeDatum was
> committed by me and authored by Amit Langote. It is the original table
> partitioning commit -- f0e44751d7175fa3394da2c8f85e3ceb3cdbfe63. I'm
> reasonably sure that the reason why those didn't get added to
> expression_tree_walker is that they don't seem like something that can
> ever appear in an expression. I still don't understand why that's not
> true.

The reason the regression tests fail if I only patch ruleutils is
that psql \d on a partitioned table invokes
	... pg_get_expr(c.relpartbound, c.oid) FROM pg_catalog.pg_class c
and evidently relpartbound does contain precisely these node types.

			regards, tom lane



Commits

  1. Make pg_get_expr() more bulletproof.

  2. Implement table partitioning.