Josh Berkus <josh(at)agliodbs(dot)com> writes:
> A Hibernate developer pointed out the following odd behavior to me in 8.2.1:
> create table test ( test1 text );
> create table test2 ( test_col text );
> create rule test_insert as on insert to test do instead insert into test2
> values ( NEW.test1 ) RETURNING test2.test_col;
> postgres=# insert into test values ( 'joe' );
> INSERT 0 1
> ... no RETURNING.
It would surely be quite broken for an INSERT that has *not* got a
returning clause to spit data at you, don't you think?
What the RETURNING clause in the rule does is let you define the data
that should be returned if the rewritten INSERT had a returning clause
to start with.
regards, tom lane