All,
> I'll note that we currently prevent adding RETURNING to a *conditional* DO
> INSTEAD rule. This means that if we have a conditional DO INSTEAD rule
> which inserts into a different table than the final unconditional rule,
> we'll be RETURNING wrong or empty values. Mind you, that's a pretty
> extreme corner case.
FYI, after some tinkering around, I've found that RETURNING is 100%
incompatible with any table which has conditional DO INSTEAD rules; there's
just no way to make it work and return any intelligible data. This would be
a completely corner case, except that people use conditional DO INSTEAD rules
heavily with partitioning (and yes, real users are complaining).
I don't see this as super-urgent to fix for 8.3, but can we put it up as a
TODO?
-- Make it possible to use RETURNING together with conditional DO INSTEAD
rules, such as for partitioning setups.
--
Josh Berkus
PostgreSQL @ Sun
San Francisco