On Sun, Dec 19, 2021 at 4:17 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > Justin Pryzby <pry...@telsasoft.com> writes: > > I reduced the problematic query to this. > > SELECT 1 FROM pg_rewrite WHERE > > pg_get_function_arg_default(ev_class, 1) !~~ > > pg_get_expr(ev_qual, ev_class, false); > > Or more simply, > > regression=# select pg_get_expr(ev_qual, ev_class, false) from pg_rewrite > where rulename = 'pg_settings_u'; > ERROR: bogus varno: 2 > > I don't see anything particularly surprising here. pg_get_expr is only > able to cope with expression trees over a single relation, but ON UPDATE > rules can refer to both OLD and NEW relations. Maybe we could make the > error message more friendly, but there's not much else to be done, > I think.
+1 for making the error message more friendly. (We would certainly have a difficult time making it less friendly.) -- Robert Haas EDB: http://www.enterprisedb.com