On Thu, Sep 25, 2014 at 12:46 AM, Tom Lane <t...@sss.pgh.pa.us> wrote:

> Gregory Smith <gregsmithpg...@gmail.com> writes:
> > I don't see any agreement on the real root of a problem here yet. That
> > makes gauging whether any smaller change leads that way or not fuzzy.  I
> > personally would be fine doing nothing right now, instead waiting until
> > that's charted out--especially if the alternative is applying any of the
> > rounding or error throwing ideas suggested so far.  I'd say that I hate
> > to be that guy who tells everyone else they're wrong, but we all know I
> > enjoy it.
>
> TBH I've also been wondering whether any of these proposed cures are
> better than the disease.  The changes that can be argued to make the
> behavior more sane are also ones that introduce backwards compatibility
> issues of one magnitude or another.  And I do not have a lot of sympathy
> for "let's not change anything except to throw an error in a case that
> seems ambiguous".  That's mostly being pedantic, not helpful, especially
> seeing that the number of field complaints about it is indistinguishable
> from zero.
>
>
​Then what does it matter that we'd choose to error-out?​


> I am personally not as scared of backwards-compatibility problems as some
> other commenters: I do not think that there's ever been a commitment that
> postgresql.conf contents will carry forward blindly across major releases.
> So I'd be willing to break strict compatibility in the name of making the
> behavior less surprising.  But the solutions that have been proposed that
> hold to strict backwards compatibility requirements are not improvements
> IMHO.
>

​Or, put differently, the pre-existing behavior is fine so don't fix what
isn't broken.

This patch simply fixes an oversight in the original implementation - that
someone might try to specify an invalid value (i.e., between 0 and 1).  if
0 and -1 are flags, then the minimum allowable value is 1.  The logic
should have been: range [1, something]; 0 (optionally); -1 (optionally).
Values abs(x) between 0 and 1 (exclusive) should be disallowed and, like an
attempt to specify 0.5 (without units), should throw an error.

David J.
​

Reply via email to