You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Eric Evans (JIRA)" <ji...@apache.org> on 2013/01/14 22:48:12 UTC

[jira] [Commented] (CASSANDRA-5156) CQL: loosen useless versioning constraint

    [ https://issues.apache.org/jira/browse/CASSANDRA-5156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13553157#comment-13553157 ] 

Eric Evans commented on CASSANDRA-5156:
---------------------------------------

{quote}
So far the CQL doc says the CQL language follows http://semver.org/. Meaning that a version is X.Y.Z where:
* X is the major version and denotes backward incompatible changes
* Y is the minor version and denotes backward compatible changes
* Z is the patch version and denotes backward and forward compatible changes, i.e. change to the implementation.
{quote}

My reading of http://semver.org was that (paraphrasing) X is for major, backward incompatible changes, Y is for new but backward compatible _features_ (and possibly for other largish-but-backward-compatible changes), and Z is for everything else (typos, breakfixes, etc).  In other words, a 3.1 compliant driver should work fine for the set of 3.1 features on a 3.2 server, but if 3.2 introduced feature $FOO, than users of a 3.1 driver should not expect $FOO to work.

As for the patch version (Z), I think you're right.  I doesn't offer much value.

{quote}
# remove it and have CQL3 version being just major and minor.
# use that latter number as a sub-minor version, i.e. a version that only
# denotes backward compatible changes, not forward ones. We would then bump the two last digit at our discretion, to denote some form of "importance" of the changes.

I don't care much about which of the two we end up doing, but since we already have a 3 numbers version and since I kind of like the idea of having two numbers to convey a sense of importance of the changes, I'm attaching a patch for the 2nd solution.
{quote}

I'm not sure I grok what you mean wrt 2 and 3.  Presumably it involves retaining Z for something (gauging from the patch); I think dropping it entirely is easiest.
                
> CQL: loosen useless versioning constraint
> -----------------------------------------
>
>                 Key: CASSANDRA-5156
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5156
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>            Priority: Trivial
>             Fix For: 1.2.1
>
>         Attachments: 5156.txt
>
>
> So far the CQL doc says the CQL language follows http://semver.org/. Meaning that a version is X.Y.Z where:
> * X is the major version and denotes backward incompatible changes
> * Y is the minor version and denotes backward compatible changes
> * Z is the patch version and denotes backward *and* forward compatible changes, i.e. change to the implementation.
> Now I don't think for CQL we have much use of the patch version. Not that knowing when implementation fixes have been done is not useful but:
> # The Cassandra version number already kind of cover that.
> # While a patch version would be more precise in that it would only concern CQL3 related changes, I have no illusion on our capacity in maintaining such patch version accuratly (and frankly, I don't blame us).
> So instead of keeping a number that will end up having no usefulness whatsoever, I suggest that we either:
> # remove it and have CQL3 version being just major and minor.
> # use that latter number as a sub-minor version, i.e. a version that only
> # denotes backward compatible changes, not forward ones. We would then bump the two last digit at our discretion, to denote some form of "importance" of the changes.
> I don't care much about which of the two we end up doing, but since we already have a 3 numbers version and since I kind of like the idea of having two numbers to convey a sense of importance of the changes, I'm attaching a patch for the 2nd solution.
> Note that the patch removes the changes section from the doc, but that's because I think it's useless in it's current form (on top of being inaccurate).  I do plan on adding a new changes section that lists changes between CQL minor version as soon as we have some of those.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira