On Monday, June 20, 2016, Mark Dilger <hornschnor...@gmail.com> wrote:

>
> > On Jun 18, 2016, at 5:48 PM, Josh Berkus <j...@agliodbs.com
> <javascript:;>> wrote:
> >
> > On 06/16/2016 11:01 PM, Craig Ringer wrote:
> >>
> >> I thought about raising this, but I think in the end it's replacing one
> >> confusing and weird versioning scheme for another confusing and weird
> >> versioning scheme.
> >>
> >> It does have the advantage that that compare a two-part major like
> >> 090401 vs 090402 won't be confused when they compare 100100 and 100200,
> >> since it'll be 100001 and 100002. So it's more backward-compatible. But
> >> ugly.
> >>
> >
> > Realistically, though, we're more likely to end up with 10.0.1 than
> > 10.1.  I don't think we're anywhere near plumbing the depths of the
> > stuff which will break because folks are parsing our version numbers
> > with regexes.  In more major software, this will break nagios
> > check_postgres.
>
> Having a 3 part versioning scheme where the middle portion is always
> zero makes the least sense to me of any of the proposals.  If we're going
> to have the pain and hurting of moving to a 2 part versioning scheme,
> and breaking nagios and what not, then lets just get on with it.  If we're
> going to keep all three parts, can we please use my proposal earlier in
> this thread where A.B.C are allocated for:
>
> C++:  bug fixes only
> B++:  new features added, but still backward compatible with prior version
> A++:  new features added, not backward compatible, pg_upgrade required
>
> If every new feature release ends up requiring pg_upgrade, then B will
> always be zero, which is no worse than your proposal.  But at least users
> can
> refer to part B to learn something useful, namely whether they will need to
> run pg_upgrade as part of upgrading their existing cluster.
>
> This has the advantage that new minor features, like adding a new guc, can
> be released sooner than the next major release, but does not have to be
> released in disguise as if it were a bug fix.
>
> This is not a plea for keeping the three part versioning system.  It's just
> a plea not to have a 2 part versioning system masquerading as a three
> part versioning system, or vice versa.
>
>
In practical effect that is exactly what your proposal does.  You just feel
better because you defined when B is allowed to change even though it never
should happen based upon our project policy.  And any rare exception can
justifiably be called a bug fix because, face it, it would only happen if
someone reports a bug.

If we keep the middle digit it will be for compatibility reasons.  Let's
not cause people to infer something that isn't true by saying it could
change.

David J.

Reply via email to