Robert Haas <robertmh...@gmail.com> writes: > Yuck. Well, that's certainly a bug. What's weird is that I thought > we had put logic into the join removal code to ignore deferrable > constraints. Apparently not.
I poked around a bit more and could not find any evidence that we'd ever done that. Ah well. > I think maybe what we should do is add > an "immediate" field to IndexOptInfo, mirroring the existing unique > flag, and have get_relation_info() populate it from indimmediate, and > then make relation_has_unique_index() disqualify any non-immediate > index. Yeah, this seems like the right fix. I considered redefining the unique flag to mean indisunique && indimmediate, but that's wrong because of: > has_unique_index() arguably needs a similar fix, although at present > that appears to be used for only statistic purposes, so maybe it's OK. Yes, since this is meant for statistical purposes, I think it's appropriate for it to disregard indimmediate. > A comment update might be a good idea, though. Or we could add a parameter to have the caller indicate which behavior is wanted. But for now I think a comment is enough. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers