On Fri, 2010-07-16 at 23:03 +0200, Andres Freund wrote:
> Sure its not that bad, but at least it needs to get documented imho.
> Likely others should chime in here ;-)
Don't understand you. This is a clear bug in join removal, test case
attached, a minor rework of your original test case.
> What could the join removal path (and similar places) *possibly* do
> against such a case? Without stopping to use SnapshotNow I dont see
> any way :-(
The bug is caused by allowing join removal to work in serializable
transactions. The fix for 9.0 is easy and clear: disallow join removal
when planning a query as the second or subsequent query in a
serializable transaction.
A wider fix might be worth doing for 9.1, not sure.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Training and Services