Alex Pilosov <alex@pilosoft.com> writes:
> In latest 7.1 (checked out 2 days ago from CVS), I see following
> behaviour:
> create table foo(x int4);
> create function xx(foo) returns int4 as ' return 0;' language 'plpgsql';
> create view tv2 as select xx(foo) from foo;
> users=# \d tv2
> ERROR: cache lookup of attribute 0 in relation 21747 failed
Okay, this is a simple oversight in ruleutils.c: the rule dumper doesn't
have logic to handle whole-tuple function arguments, such as (foo) in
the above example. Will fix.
> HOWEVER, 'select * from tv2' succeeds (sometimes). Sometimes it fails with
> the same error (cache lookup failed).
The ruleutils.c bug cannot explain this however, since ruleutils won't
even be invoked. Can you find a sequence to reproduce it?
regards, tom lane