> 3. Create a runtime parameter (GUC variable) which when set causes us
> to assume SCROLL is present even if it's not stated. Setting this
> to TRUE would allow existing applications to work without modification;
> when it's FALSE, we'd enforce the spec behavior. The trouble with this
> is the TRUE setting would likely cause materialization costs to be paid
> in very many situations where the client has no intention of fetching
> backwards.
I'd be in favour of creating whole sets of backwards-compatibility GUC's
whenever we break backwards compatibility.
eg.
use_72_compat = yes
use_73_compat = yes
or something.
And then we can define all the things that those variables will affect.
That would mean that people can upgrade to new db engine (say 7.3) without
worrying about all the failures in their applications ( eg ''::int)...
Chris