You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2016/03/17 10:22:40 UTC

[01/15] cassandra git commit: Update CQL doc for CASSANDRA-6839 (non equal conditions in LWT)

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 0c53c3a9e -> 41bb4bcd0
  refs/heads/cassandra-2.2 6d383bedd -> 5e2d3d2fa
  refs/heads/cassandra-3.0 a64ad4e0f -> 8d101fdd5
  refs/heads/cassandra-3.5 807597f90 -> d526ad79d
  refs/heads/trunk 7a9b8ca4e -> 3508cd1af


Update CQL doc for CASSANDRA-6839 (non equal conditions in LWT)

patch by slebresne; reviewed by blerer for CASSANDRA-10752


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/41bb4bcd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/41bb4bcd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/41bb4bcd

Branch: refs/heads/cassandra-2.1
Commit: 41bb4bcd09da39924585a4d9be75d77f556647c4
Parents: 0c53c3a
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 09:54:05 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:18:32 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/41bb4bcd/doc/cql3/CQL.textile
----------------------------------------------------------------------
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index 812a75e..87a4be9 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -639,14 +639,18 @@ bc(syntax)..
                | <identifier> '=' <identifier> '+' <map-literal>
                | <identifier> '[' <term> ']' '=' <term>
 
-<condition> ::= <identifier> '=' <term>
-              | <identifier> '[' <term> ']' '=' <term>
+<condition> ::= <identifier> <op> <term>
+              | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
+              | <identifier> '[' <term> ']' <op> <term>
+              | <identifier> '[' <term> ']' IN <term>
+
+<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
 
 <where-clause> ::= <relation> ( AND <relation> )*
 
 <relation> ::= <identifier> '=' <term>
              | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
-             | <identifier> IN '?'
+             | <identifier> IN <variable>
 
 <option> ::= TIMESTAMP <integer>
            | TTL <integer>
@@ -664,7 +668,7 @@ UPDATE UserActions SET total = total + 2 WHERE user = B70DE1D0-9908-4AE3-BE34-55
 p. 
 The @UPDATE@ statement writes one or more columns for a given row in a table. The @<where-clause>@ is used to select the row to update and must include all columns composing the @PRIMARY KEY@ (the @IN@ relation is only supported for the last column of the partition key). Other columns values are specified through @<assignment>@ after the @SET@ keyword.
 
-Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default: the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
+Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default (except through the use of @<condition>@, see below): the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
 
 It is however possible to use the conditions on some columns through @IF@, in which case the row will not be updated unless such condition are met. But please note that using @IF@ conditions will incur a non negligible performance cost (internally, Paxos will be used) so this should be used sparingly.
 
@@ -698,10 +702,14 @@ bc(syntax)..
 
 <relation> ::= <identifier> '=' <term>
              | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
-             | <identifier> IN '?'
+             | <identifier> IN <variable>
+
+<condition> ::= <identifier> <op> <term>
+              | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
+              | <identifier> '[' <term> ']' <op> <term>
+              | <identifier> '[' <term> ']' IN <term>
 
-<condition> ::= <identifier> '=' <term>
-              | <identifier> '[' <term> ']' '=' <term>
+<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
 p. 
 __Sample:__
 


[08/15] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by sl...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e2d3d2f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e2d3d2f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e2d3d2f

Branch: refs/heads/cassandra-3.0
Commit: 5e2d3d2fa751e3ae0b1b1a0643a578709e715448
Parents: 6d383be 41bb4bc
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 10:18:58 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:18:58 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e2d3d2f/doc/cql3/CQL.textile
----------------------------------------------------------------------


[03/15] cassandra git commit: Update CQL doc for CASSANDRA-6839 (non equal conditions in LWT)

Posted by sl...@apache.org.
Update CQL doc for CASSANDRA-6839 (non equal conditions in LWT)

patch by slebresne; reviewed by blerer for CASSANDRA-10752


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/41bb4bcd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/41bb4bcd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/41bb4bcd

Branch: refs/heads/trunk
Commit: 41bb4bcd09da39924585a4d9be75d77f556647c4
Parents: 0c53c3a
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 09:54:05 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:18:32 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/41bb4bcd/doc/cql3/CQL.textile
----------------------------------------------------------------------
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index 812a75e..87a4be9 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -639,14 +639,18 @@ bc(syntax)..
                | <identifier> '=' <identifier> '+' <map-literal>
                | <identifier> '[' <term> ']' '=' <term>
 
-<condition> ::= <identifier> '=' <term>
-              | <identifier> '[' <term> ']' '=' <term>
+<condition> ::= <identifier> <op> <term>
+              | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
+              | <identifier> '[' <term> ']' <op> <term>
+              | <identifier> '[' <term> ']' IN <term>
+
+<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
 
 <where-clause> ::= <relation> ( AND <relation> )*
 
 <relation> ::= <identifier> '=' <term>
              | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
-             | <identifier> IN '?'
+             | <identifier> IN <variable>
 
 <option> ::= TIMESTAMP <integer>
            | TTL <integer>
@@ -664,7 +668,7 @@ UPDATE UserActions SET total = total + 2 WHERE user = B70DE1D0-9908-4AE3-BE34-55
 p. 
 The @UPDATE@ statement writes one or more columns for a given row in a table. The @<where-clause>@ is used to select the row to update and must include all columns composing the @PRIMARY KEY@ (the @IN@ relation is only supported for the last column of the partition key). Other columns values are specified through @<assignment>@ after the @SET@ keyword.
 
-Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default: the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
+Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default (except through the use of @<condition>@, see below): the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
 
 It is however possible to use the conditions on some columns through @IF@, in which case the row will not be updated unless such condition are met. But please note that using @IF@ conditions will incur a non negligible performance cost (internally, Paxos will be used) so this should be used sparingly.
 
@@ -698,10 +702,14 @@ bc(syntax)..
 
 <relation> ::= <identifier> '=' <term>
              | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
-             | <identifier> IN '?'
+             | <identifier> IN <variable>
+
+<condition> ::= <identifier> <op> <term>
+              | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
+              | <identifier> '[' <term> ']' <op> <term>
+              | <identifier> '[' <term> ']' IN <term>
 
-<condition> ::= <identifier> '=' <term>
-              | <identifier> '[' <term> ']' '=' <term>
+<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
 p. 
 __Sample:__
 


[15/15] cassandra git commit: Merge branch 'cassandra-3.5' into trunk

Posted by sl...@apache.org.
Merge branch 'cassandra-3.5' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3508cd1a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3508cd1a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3508cd1a

Branch: refs/heads/trunk
Commit: 3508cd1af337c1f082f1b3ce112ee4e44b8cb55d
Parents: 7a9b8ca d526ad7
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 10:22:10 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:22:10 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3508cd1a/doc/cql3/CQL.textile
----------------------------------------------------------------------


[09/15] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by sl...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e2d3d2f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e2d3d2f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e2d3d2f

Branch: refs/heads/cassandra-3.5
Commit: 5e2d3d2fa751e3ae0b1b1a0643a578709e715448
Parents: 6d383be 41bb4bc
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 10:18:58 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:18:58 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e2d3d2f/doc/cql3/CQL.textile
----------------------------------------------------------------------


[11/15] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by sl...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8d101fdd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8d101fdd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8d101fdd

Branch: refs/heads/cassandra-3.5
Commit: 8d101fdd5c8a5ba1795b5c233b5e4bcdf5ddff19
Parents: a64ad4e 5e2d3d2
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 10:21:46 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:21:46 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8d101fdd/doc/cql3/CQL.textile
----------------------------------------------------------------------
diff --cc doc/cql3/CQL.textile
index 68333ab,af584d0..059b195
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@@ -875,11 -822,8 +879,11 @@@ bc(syntax).
  <where-clause> ::= <relation> ( AND <relation> )*
  
  <relation> ::= <identifier> '=' <term>
 -             | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
 +             | '(' <identifier> (',' <identifier>)* ')' '=' <term-tuple>
 +             | <identifier> IN '(' ( <term> ( ',' <term>)* )? ')'
-              | <identifier> IN '?'
+              | <identifier> IN <variable>
 +             | '(' <identifier> (',' <identifier>)* ')' IN '(' ( <term-tuple> ( ',' <term-tuple>)* )? ')'
-              | '(' <identifier> (',' <identifier>)* ')' IN '?'
++             | '(' <identifier> (',' <identifier>)* ')' IN <variable>
  
  <option> ::= TIMESTAMP <integer>
             | TTL <integer>
@@@ -895,11 -839,11 +899,11 @@@ WHERE movie = 'Serenity'
  
  UPDATE UserActions SET total = total + 2 WHERE user = B70DE1D0-9908-4AE3-BE34-5573E5B09F14 AND action = 'click';
  p. 
 -The @UPDATE@ statement writes one or more columns for a given row in a table. The @<where-clause>@ is used to select the row to update and must include all columns composing the @PRIMARY KEY@ (the @IN@ relation is only supported for the last column of the partition key). Other columns values are specified through @<assignment>@ after the @SET@ keyword.
 +The @UPDATE@ statement writes one or more columns for a given row in a table. The @<where-clause>@ is used to select the row to update and must include all columns composing the @PRIMARY KEY@. Other columns values are specified through @<assignment>@ after the @SET@ keyword.
  
- Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default: the row is created if none existed before, and updated otherwise. Furthermore, there are no means to know whether a creation or update occurred.
 -Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default (except through the use of @<condition>@, see below): the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
++Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default (except through the use of @<condition>@, see below): the row is created if none existed before, and updated otherwise. Furthermore, there are no means to know whether a creation or update occurred.
  
 -It is however possible to use the conditions on some columns through @IF@, in which case the row will not be updated unless such condition are met. But please note that using @IF@ conditions will incur a non negligible performance cost (internally, Paxos will be used) so this should be used sparingly.
 +It is however possible to use the conditions on some columns through @IF@, in which case the row will not be updated unless the conditions are met. But, please note that using @IF@ conditions will incur a non-negligible performance cost (internally, Paxos will be used) so this should be used sparingly.
  
  In an @UPDATE@ statement, all updates within the same partition key are applied atomically and in isolation.
  
@@@ -929,16 -873,16 +933,20 @@@ bc(syntax).
  
  <where-clause> ::= <relation> ( AND <relation> )*
  
 -<relation> ::= <identifier> '=' <term>
 -             | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
 +<relation> ::= <identifier> <op> <term>
 +             | '(' <identifier> (',' <identifier>)* ')' <op> <term-tuple>
 +             | <identifier> IN '(' ( <term> ( ',' <term>)* )? ')'
-              | <identifier> IN '?'
+              | <identifier> IN <variable>
 +             | '(' <identifier> (',' <identifier>)* ')' IN '(' ( <term-tuple> ( ',' <term-tuple>)* )? ')'
-              | '(' <identifier> (',' <identifier>)* ')' IN '?'
++             | '(' <identifier> (',' <identifier>)* ')' IN <variable>
  
 -<condition> ::= <identifier> <op> <term>
 +<op> ::= '=' | '<' | '>' | '<=' | '>='
- <condition> ::= <identifier> '=' <term>
-               | <identifier> '[' <term> ']' '=' <term>
++
++<condition> ::= <identifier> (<op> | '!=') <term>
+               | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
 -              | <identifier> '[' <term> ']' <op> <term>
++              | <identifier> '[' <term> ']' (<op> | '!=') <term>
+               | <identifier> '[' <term> ']' IN <term>
+ 
 -<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
  p. 
  __Sample:__
  


[02/15] cassandra git commit: Update CQL doc for CASSANDRA-6839 (non equal conditions in LWT)

Posted by sl...@apache.org.
Update CQL doc for CASSANDRA-6839 (non equal conditions in LWT)

patch by slebresne; reviewed by blerer for CASSANDRA-10752


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/41bb4bcd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/41bb4bcd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/41bb4bcd

Branch: refs/heads/cassandra-2.2
Commit: 41bb4bcd09da39924585a4d9be75d77f556647c4
Parents: 0c53c3a
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 09:54:05 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:18:32 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/41bb4bcd/doc/cql3/CQL.textile
----------------------------------------------------------------------
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index 812a75e..87a4be9 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -639,14 +639,18 @@ bc(syntax)..
                | <identifier> '=' <identifier> '+' <map-literal>
                | <identifier> '[' <term> ']' '=' <term>
 
-<condition> ::= <identifier> '=' <term>
-              | <identifier> '[' <term> ']' '=' <term>
+<condition> ::= <identifier> <op> <term>
+              | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
+              | <identifier> '[' <term> ']' <op> <term>
+              | <identifier> '[' <term> ']' IN <term>
+
+<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
 
 <where-clause> ::= <relation> ( AND <relation> )*
 
 <relation> ::= <identifier> '=' <term>
              | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
-             | <identifier> IN '?'
+             | <identifier> IN <variable>
 
 <option> ::= TIMESTAMP <integer>
            | TTL <integer>
@@ -664,7 +668,7 @@ UPDATE UserActions SET total = total + 2 WHERE user = B70DE1D0-9908-4AE3-BE34-55
 p. 
 The @UPDATE@ statement writes one or more columns for a given row in a table. The @<where-clause>@ is used to select the row to update and must include all columns composing the @PRIMARY KEY@ (the @IN@ relation is only supported for the last column of the partition key). Other columns values are specified through @<assignment>@ after the @SET@ keyword.
 
-Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default: the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
+Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default (except through the use of @<condition>@, see below): the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
 
 It is however possible to use the conditions on some columns through @IF@, in which case the row will not be updated unless such condition are met. But please note that using @IF@ conditions will incur a non negligible performance cost (internally, Paxos will be used) so this should be used sparingly.
 
@@ -698,10 +702,14 @@ bc(syntax)..
 
 <relation> ::= <identifier> '=' <term>
              | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
-             | <identifier> IN '?'
+             | <identifier> IN <variable>
+
+<condition> ::= <identifier> <op> <term>
+              | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
+              | <identifier> '[' <term> ']' <op> <term>
+              | <identifier> '[' <term> ']' IN <term>
 
-<condition> ::= <identifier> '=' <term>
-              | <identifier> '[' <term> ']' '=' <term>
+<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
 p. 
 __Sample:__
 


[10/15] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by sl...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8d101fdd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8d101fdd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8d101fdd

Branch: refs/heads/trunk
Commit: 8d101fdd5c8a5ba1795b5c233b5e4bcdf5ddff19
Parents: a64ad4e 5e2d3d2
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 10:21:46 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:21:46 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8d101fdd/doc/cql3/CQL.textile
----------------------------------------------------------------------
diff --cc doc/cql3/CQL.textile
index 68333ab,af584d0..059b195
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@@ -875,11 -822,8 +879,11 @@@ bc(syntax).
  <where-clause> ::= <relation> ( AND <relation> )*
  
  <relation> ::= <identifier> '=' <term>
 -             | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
 +             | '(' <identifier> (',' <identifier>)* ')' '=' <term-tuple>
 +             | <identifier> IN '(' ( <term> ( ',' <term>)* )? ')'
-              | <identifier> IN '?'
+              | <identifier> IN <variable>
 +             | '(' <identifier> (',' <identifier>)* ')' IN '(' ( <term-tuple> ( ',' <term-tuple>)* )? ')'
-              | '(' <identifier> (',' <identifier>)* ')' IN '?'
++             | '(' <identifier> (',' <identifier>)* ')' IN <variable>
  
  <option> ::= TIMESTAMP <integer>
             | TTL <integer>
@@@ -895,11 -839,11 +899,11 @@@ WHERE movie = 'Serenity'
  
  UPDATE UserActions SET total = total + 2 WHERE user = B70DE1D0-9908-4AE3-BE34-5573E5B09F14 AND action = 'click';
  p. 
 -The @UPDATE@ statement writes one or more columns for a given row in a table. The @<where-clause>@ is used to select the row to update and must include all columns composing the @PRIMARY KEY@ (the @IN@ relation is only supported for the last column of the partition key). Other columns values are specified through @<assignment>@ after the @SET@ keyword.
 +The @UPDATE@ statement writes one or more columns for a given row in a table. The @<where-clause>@ is used to select the row to update and must include all columns composing the @PRIMARY KEY@. Other columns values are specified through @<assignment>@ after the @SET@ keyword.
  
- Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default: the row is created if none existed before, and updated otherwise. Furthermore, there are no means to know whether a creation or update occurred.
 -Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default (except through the use of @<condition>@, see below): the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
++Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default (except through the use of @<condition>@, see below): the row is created if none existed before, and updated otherwise. Furthermore, there are no means to know whether a creation or update occurred.
  
 -It is however possible to use the conditions on some columns through @IF@, in which case the row will not be updated unless such condition are met. But please note that using @IF@ conditions will incur a non negligible performance cost (internally, Paxos will be used) so this should be used sparingly.
 +It is however possible to use the conditions on some columns through @IF@, in which case the row will not be updated unless the conditions are met. But, please note that using @IF@ conditions will incur a non-negligible performance cost (internally, Paxos will be used) so this should be used sparingly.
  
  In an @UPDATE@ statement, all updates within the same partition key are applied atomically and in isolation.
  
@@@ -929,16 -873,16 +933,20 @@@ bc(syntax).
  
  <where-clause> ::= <relation> ( AND <relation> )*
  
 -<relation> ::= <identifier> '=' <term>
 -             | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
 +<relation> ::= <identifier> <op> <term>
 +             | '(' <identifier> (',' <identifier>)* ')' <op> <term-tuple>
 +             | <identifier> IN '(' ( <term> ( ',' <term>)* )? ')'
-              | <identifier> IN '?'
+              | <identifier> IN <variable>
 +             | '(' <identifier> (',' <identifier>)* ')' IN '(' ( <term-tuple> ( ',' <term-tuple>)* )? ')'
-              | '(' <identifier> (',' <identifier>)* ')' IN '?'
++             | '(' <identifier> (',' <identifier>)* ')' IN <variable>
  
 -<condition> ::= <identifier> <op> <term>
 +<op> ::= '=' | '<' | '>' | '<=' | '>='
- <condition> ::= <identifier> '=' <term>
-               | <identifier> '[' <term> ']' '=' <term>
++
++<condition> ::= <identifier> (<op> | '!=') <term>
+               | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
 -              | <identifier> '[' <term> ']' <op> <term>
++              | <identifier> '[' <term> ']' (<op> | '!=') <term>
+               | <identifier> '[' <term> ']' IN <term>
+ 
 -<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
  p. 
  __Sample:__
  


[05/15] cassandra git commit: Update CQL doc for CASSANDRA-6839 (non equal conditions in LWT)

Posted by sl...@apache.org.
Update CQL doc for CASSANDRA-6839 (non equal conditions in LWT)

patch by slebresne; reviewed by blerer for CASSANDRA-10752


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/41bb4bcd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/41bb4bcd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/41bb4bcd

Branch: refs/heads/cassandra-3.5
Commit: 41bb4bcd09da39924585a4d9be75d77f556647c4
Parents: 0c53c3a
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 09:54:05 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:18:32 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/41bb4bcd/doc/cql3/CQL.textile
----------------------------------------------------------------------
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index 812a75e..87a4be9 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -639,14 +639,18 @@ bc(syntax)..
                | <identifier> '=' <identifier> '+' <map-literal>
                | <identifier> '[' <term> ']' '=' <term>
 
-<condition> ::= <identifier> '=' <term>
-              | <identifier> '[' <term> ']' '=' <term>
+<condition> ::= <identifier> <op> <term>
+              | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
+              | <identifier> '[' <term> ']' <op> <term>
+              | <identifier> '[' <term> ']' IN <term>
+
+<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
 
 <where-clause> ::= <relation> ( AND <relation> )*
 
 <relation> ::= <identifier> '=' <term>
              | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
-             | <identifier> IN '?'
+             | <identifier> IN <variable>
 
 <option> ::= TIMESTAMP <integer>
            | TTL <integer>
@@ -664,7 +668,7 @@ UPDATE UserActions SET total = total + 2 WHERE user = B70DE1D0-9908-4AE3-BE34-55
 p. 
 The @UPDATE@ statement writes one or more columns for a given row in a table. The @<where-clause>@ is used to select the row to update and must include all columns composing the @PRIMARY KEY@ (the @IN@ relation is only supported for the last column of the partition key). Other columns values are specified through @<assignment>@ after the @SET@ keyword.
 
-Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default: the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
+Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default (except through the use of @<condition>@, see below): the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
 
 It is however possible to use the conditions on some columns through @IF@, in which case the row will not be updated unless such condition are met. But please note that using @IF@ conditions will incur a non negligible performance cost (internally, Paxos will be used) so this should be used sparingly.
 
@@ -698,10 +702,14 @@ bc(syntax)..
 
 <relation> ::= <identifier> '=' <term>
              | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
-             | <identifier> IN '?'
+             | <identifier> IN <variable>
+
+<condition> ::= <identifier> <op> <term>
+              | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
+              | <identifier> '[' <term> ']' <op> <term>
+              | <identifier> '[' <term> ']' IN <term>
 
-<condition> ::= <identifier> '=' <term>
-              | <identifier> '[' <term> ']' '=' <term>
+<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
 p. 
 __Sample:__
 


[12/15] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by sl...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8d101fdd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8d101fdd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8d101fdd

Branch: refs/heads/cassandra-3.0
Commit: 8d101fdd5c8a5ba1795b5c233b5e4bcdf5ddff19
Parents: a64ad4e 5e2d3d2
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 10:21:46 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:21:46 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8d101fdd/doc/cql3/CQL.textile
----------------------------------------------------------------------
diff --cc doc/cql3/CQL.textile
index 68333ab,af584d0..059b195
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@@ -875,11 -822,8 +879,11 @@@ bc(syntax).
  <where-clause> ::= <relation> ( AND <relation> )*
  
  <relation> ::= <identifier> '=' <term>
 -             | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
 +             | '(' <identifier> (',' <identifier>)* ')' '=' <term-tuple>
 +             | <identifier> IN '(' ( <term> ( ',' <term>)* )? ')'
-              | <identifier> IN '?'
+              | <identifier> IN <variable>
 +             | '(' <identifier> (',' <identifier>)* ')' IN '(' ( <term-tuple> ( ',' <term-tuple>)* )? ')'
-              | '(' <identifier> (',' <identifier>)* ')' IN '?'
++             | '(' <identifier> (',' <identifier>)* ')' IN <variable>
  
  <option> ::= TIMESTAMP <integer>
             | TTL <integer>
@@@ -895,11 -839,11 +899,11 @@@ WHERE movie = 'Serenity'
  
  UPDATE UserActions SET total = total + 2 WHERE user = B70DE1D0-9908-4AE3-BE34-5573E5B09F14 AND action = 'click';
  p. 
 -The @UPDATE@ statement writes one or more columns for a given row in a table. The @<where-clause>@ is used to select the row to update and must include all columns composing the @PRIMARY KEY@ (the @IN@ relation is only supported for the last column of the partition key). Other columns values are specified through @<assignment>@ after the @SET@ keyword.
 +The @UPDATE@ statement writes one or more columns for a given row in a table. The @<where-clause>@ is used to select the row to update and must include all columns composing the @PRIMARY KEY@. Other columns values are specified through @<assignment>@ after the @SET@ keyword.
  
- Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default: the row is created if none existed before, and updated otherwise. Furthermore, there are no means to know whether a creation or update occurred.
 -Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default (except through the use of @<condition>@, see below): the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
++Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default (except through the use of @<condition>@, see below): the row is created if none existed before, and updated otherwise. Furthermore, there are no means to know whether a creation or update occurred.
  
 -It is however possible to use the conditions on some columns through @IF@, in which case the row will not be updated unless such condition are met. But please note that using @IF@ conditions will incur a non negligible performance cost (internally, Paxos will be used) so this should be used sparingly.
 +It is however possible to use the conditions on some columns through @IF@, in which case the row will not be updated unless the conditions are met. But, please note that using @IF@ conditions will incur a non-negligible performance cost (internally, Paxos will be used) so this should be used sparingly.
  
  In an @UPDATE@ statement, all updates within the same partition key are applied atomically and in isolation.
  
@@@ -929,16 -873,16 +933,20 @@@ bc(syntax).
  
  <where-clause> ::= <relation> ( AND <relation> )*
  
 -<relation> ::= <identifier> '=' <term>
 -             | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
 +<relation> ::= <identifier> <op> <term>
 +             | '(' <identifier> (',' <identifier>)* ')' <op> <term-tuple>
 +             | <identifier> IN '(' ( <term> ( ',' <term>)* )? ')'
-              | <identifier> IN '?'
+              | <identifier> IN <variable>
 +             | '(' <identifier> (',' <identifier>)* ')' IN '(' ( <term-tuple> ( ',' <term-tuple>)* )? ')'
-              | '(' <identifier> (',' <identifier>)* ')' IN '?'
++             | '(' <identifier> (',' <identifier>)* ')' IN <variable>
  
 -<condition> ::= <identifier> <op> <term>
 +<op> ::= '=' | '<' | '>' | '<=' | '>='
- <condition> ::= <identifier> '=' <term>
-               | <identifier> '[' <term> ']' '=' <term>
++
++<condition> ::= <identifier> (<op> | '!=') <term>
+               | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
 -              | <identifier> '[' <term> ']' <op> <term>
++              | <identifier> '[' <term> ']' (<op> | '!=') <term>
+               | <identifier> '[' <term> ']' IN <term>
+ 
 -<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
  p. 
  __Sample:__
  


[04/15] cassandra git commit: Update CQL doc for CASSANDRA-6839 (non equal conditions in LWT)

Posted by sl...@apache.org.
Update CQL doc for CASSANDRA-6839 (non equal conditions in LWT)

patch by slebresne; reviewed by blerer for CASSANDRA-10752


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/41bb4bcd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/41bb4bcd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/41bb4bcd

Branch: refs/heads/cassandra-3.0
Commit: 41bb4bcd09da39924585a4d9be75d77f556647c4
Parents: 0c53c3a
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 09:54:05 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:18:32 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/41bb4bcd/doc/cql3/CQL.textile
----------------------------------------------------------------------
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index 812a75e..87a4be9 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -639,14 +639,18 @@ bc(syntax)..
                | <identifier> '=' <identifier> '+' <map-literal>
                | <identifier> '[' <term> ']' '=' <term>
 
-<condition> ::= <identifier> '=' <term>
-              | <identifier> '[' <term> ']' '=' <term>
+<condition> ::= <identifier> <op> <term>
+              | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
+              | <identifier> '[' <term> ']' <op> <term>
+              | <identifier> '[' <term> ']' IN <term>
+
+<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
 
 <where-clause> ::= <relation> ( AND <relation> )*
 
 <relation> ::= <identifier> '=' <term>
              | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
-             | <identifier> IN '?'
+             | <identifier> IN <variable>
 
 <option> ::= TIMESTAMP <integer>
            | TTL <integer>
@@ -664,7 +668,7 @@ UPDATE UserActions SET total = total + 2 WHERE user = B70DE1D0-9908-4AE3-BE34-55
 p. 
 The @UPDATE@ statement writes one or more columns for a given row in a table. The @<where-clause>@ is used to select the row to update and must include all columns composing the @PRIMARY KEY@ (the @IN@ relation is only supported for the last column of the partition key). Other columns values are specified through @<assignment>@ after the @SET@ keyword.
 
-Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default: the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
+Note that unlike in SQL, @UPDATE@ does not check the prior existence of the row by default (except through the use of @<condition>@, see below): the row is created if none existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.
 
 It is however possible to use the conditions on some columns through @IF@, in which case the row will not be updated unless such condition are met. But please note that using @IF@ conditions will incur a non negligible performance cost (internally, Paxos will be used) so this should be used sparingly.
 
@@ -698,10 +702,14 @@ bc(syntax)..
 
 <relation> ::= <identifier> '=' <term>
              | <identifier> IN '(' ( <term> ( ',' <term> )* )? ')'
-             | <identifier> IN '?'
+             | <identifier> IN <variable>
+
+<condition> ::= <identifier> <op> <term>
+              | <identifier> IN (<variable> | '(' ( <term> ( ',' <term> )* )? ')')
+              | <identifier> '[' <term> ']' <op> <term>
+              | <identifier> '[' <term> ']' IN <term>
 
-<condition> ::= <identifier> '=' <term>
-              | <identifier> '[' <term> ']' '=' <term>
+<op> ::= '<' | '<=' | '=' | '!=' | '>=' | '>'
 p. 
 __Sample:__
 


[06/15] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by sl...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e2d3d2f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e2d3d2f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e2d3d2f

Branch: refs/heads/trunk
Commit: 5e2d3d2fa751e3ae0b1b1a0643a578709e715448
Parents: 6d383be 41bb4bc
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 10:18:58 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:18:58 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e2d3d2f/doc/cql3/CQL.textile
----------------------------------------------------------------------


[13/15] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.5

Posted by sl...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.5


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d526ad79
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d526ad79
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d526ad79

Branch: refs/heads/cassandra-3.5
Commit: d526ad79d7971a5d9ad730c232e56343e2b3b377
Parents: 807597f 8d101fd
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 10:21:58 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:21:58 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d526ad79/doc/cql3/CQL.textile
----------------------------------------------------------------------


[14/15] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.5

Posted by sl...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.5


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d526ad79
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d526ad79
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d526ad79

Branch: refs/heads/trunk
Commit: d526ad79d7971a5d9ad730c232e56343e2b3b377
Parents: 807597f 8d101fd
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 10:21:58 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:21:58 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d526ad79/doc/cql3/CQL.textile
----------------------------------------------------------------------


[07/15] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by sl...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e2d3d2f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e2d3d2f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e2d3d2f

Branch: refs/heads/cassandra-2.2
Commit: 5e2d3d2fa751e3ae0b1b1a0643a578709e715448
Parents: 6d383be 41bb4bc
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 17 10:18:58 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 17 10:18:58 2016 +0100

----------------------------------------------------------------------
 doc/cql3/CQL.textile | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e2d3d2f/doc/cql3/CQL.textile
----------------------------------------------------------------------