Stephan Szabo <sszabo@megazone23.bigpanda.com> writes:
> Well, would it time correctly if the override was only around the
> actual execp rather than the prepare and such?
That would definitely feel better, but ultimately global variables
changing the behavior of low-level subroutines are Bad News.
> Do you think it would be better to directly implement the constraint
> checks and actions using scans and C modifying rows rather than the
> query planner and switch over in 7.3?
I believe that's the way to go in the long run, but I don't have any
idea how much work might be involved. What I don't like about the
present setup is (a) the overhead involved, and (b) the fact that we
can't implement quite the right semantics using only user-level queries.
SELECT FOR UPDATE doesn't get the kind of lock we want, and there are
these other issues too.
> I'd also like to know the reasoning Jan had for his decisions so as to
> make an informed attempt. :)
I should probably let Jan speak for himself, but I'm guessing that
it was an easy way to get a prototype implementation up and going.
That was fine at the time --- it was a pretty neat hack, in fact.
But we need to start thinking about an industrial-strength implementation.
regards, tom lane