You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by mi...@apache.org on 2014/04/19 03:18:35 UTC

[01/10] git commit: cqlsh: Updated CQL3 parser to support functions and BLOB literals

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-1.2 87097066e -> 13d3a4746
  refs/heads/cassandra-2.0 ba95a68ab -> 167af2b25
  refs/heads/cassandra-2.1 22d86eb2d -> 477a0a28b
  refs/heads/trunk c65973d2d -> 894d6f67a


cqlsh: Updated CQL3 parser to support functions and BLOB literals

patch by Mikhail Stepura; reviewed by Aleksey Yeschenko for CASSANDRA-7018


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

Branch: refs/heads/cassandra-1.2
Commit: 13d3a47461af24fbd4b2ddee71a7042168ed860f
Parents: 8709706
Author: Mikhail Stepura <mi...@apache.org>
Authored: Wed Apr 16 21:10:18 2014 -0700
Committer: Mikhail Stepura <mi...@apache.org>
Committed: Fri Apr 18 18:01:41 2014 -0700

----------------------------------------------------------------------
 CHANGES.txt                    |  1 +
 bin/cqlsh                      |  2 +-
 pylib/cqlshlib/cql3handling.py | 24 ++++++++++++++++++------
 3 files changed, 20 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index bb08a37..bf80e1e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,6 +6,7 @@
  * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
  * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
  * Fix batchlog to account for CF truncation records (CASSANDRA-6999)
+ * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
 
 
 1.2.16

http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/bin/cqlsh
----------------------------------------------------------------------
diff --git a/bin/cqlsh b/bin/cqlsh
index 4bf1b76..8e1e0e2 100755
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@ -133,7 +133,7 @@ if os.path.exists(OLD_HISTORY):
 
 DEFAULT_HOST = 'localhost'
 DEFAULT_PORT = 9160
-DEFAULT_CQLVER = '3'
+DEFAULT_CQLVER = '3.0.5'
 DEFAULT_TRANSPORT_FACTORY = 'cqlshlib.tfactory.regular_transport_factory'
 
 DEFAULT_TIME_FORMAT = '%Y-%m-%d %H:%M:%S%z'

http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 50e2015..b04ba1d 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -206,6 +206,7 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
 <stringLiteral> ::= /'([^']|'')*'/ ;
 <quotedName> ::=    /"([^"]|"")*"/ ;
 <float> ::=         /-?[0-9]+\.[0-9]+/ ;
+<blobLiteral> ::=    /0x[0-9a-f]+/ ;
 <wholenumber> ::=   /[0-9]+/ ;
 <uuid> ::=          /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ;
 <identifier> ::=    /[a-z][a-z0-9_]*/ ;
@@ -230,10 +231,15 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
          | <float>
          | <uuid>
          | <boolean>
+         | <blobLiteral>
+         | <functionName> <functionArguments>
          ;
 
+<functionArguments> ::= "(" ( <term> ( "," <term> )* )? ")"
+                 ;
+
 <tokenDefinition> ::= token="TOKEN" "(" <term> ( "," <term> )* ")"
-                    | <stringLiteral>
+                    | <term>
                     ;
 <value> ::= <term>
           | <collectionLiteral>
@@ -255,6 +261,9 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
 <mapLiteral> ::= "{" <term> ":" <term> ( "," <term> ":" <term> )* "}"
                ;
 
+<functionName> ::= <identifier>
+                 ;
+
 <statementBody> ::= <useStatement>
                   | <selectStatement>
                   | <dataChangeStatement>
@@ -739,13 +748,13 @@ syntax_rules += r'''
                  ;
 <selectStatement> ::= "SELECT" <selectClause>
                         "FROM" cf=<columnFamilyName>
-                          ("WHERE" <whereClause>)?
-                          ("ORDER" "BY" <orderByClause> ( "," <orderByClause> )* )?
-                          ("LIMIT" limit=<wholenumber>)?
+                          ( "WHERE" <whereClause> )?
+                          ( "ORDER" "BY" <orderByClause> ( "," <orderByClause> )* )?
+                          ( "LIMIT" limit=<wholenumber> )?
                     ;
-<whereClause> ::= <relation> ("AND" <relation>)*
+<whereClause> ::= <relation> ( "AND" <relation> )*
                 ;
-<relation> ::= [rel_lhs]=<cident> ("=" | "<" | ">" | "<=" | ">=") <term>
+<relation> ::= [rel_lhs]=<cident> ( "=" | "<" | ">" | "<=" | ">=" ) <term>
              | token="TOKEN" "(" [rel_tokname]=<cident>
                                  ( "," [rel_tokname]=<cident> )*
                              ")" ("=" | "<" | ">" | "<=" | ">=") <tokenDefinition>
@@ -758,7 +767,10 @@ syntax_rules += r'''
 <selector> ::= [colname]=<cident>
              | "WRITETIME" "(" [colname]=<cident> ")"
              | "TTL" "(" [colname]=<cident> ")"
+             | <functionName> <selectionFunctionArguments>
              ;
+<selectionFunctionArguments> ::= "(" ( <selector> ( "," <selector> )* )? ")"
+                          ;
 <orderByClause> ::= [ordercol]=<cident> ( "ASC" | "DESC" )?
                   ;
 '''


[02/10] git commit: cqlsh: Updated CQL3 parser to support functions and BLOB literals

Posted by mi...@apache.org.
cqlsh: Updated CQL3 parser to support functions and BLOB literals

patch by Mikhail Stepura; reviewed by Aleksey Yeschenko for CASSANDRA-7018


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

Branch: refs/heads/cassandra-2.0
Commit: 13d3a47461af24fbd4b2ddee71a7042168ed860f
Parents: 8709706
Author: Mikhail Stepura <mi...@apache.org>
Authored: Wed Apr 16 21:10:18 2014 -0700
Committer: Mikhail Stepura <mi...@apache.org>
Committed: Fri Apr 18 18:01:41 2014 -0700

----------------------------------------------------------------------
 CHANGES.txt                    |  1 +
 bin/cqlsh                      |  2 +-
 pylib/cqlshlib/cql3handling.py | 24 ++++++++++++++++++------
 3 files changed, 20 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index bb08a37..bf80e1e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,6 +6,7 @@
  * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
  * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
  * Fix batchlog to account for CF truncation records (CASSANDRA-6999)
+ * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
 
 
 1.2.16

http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/bin/cqlsh
----------------------------------------------------------------------
diff --git a/bin/cqlsh b/bin/cqlsh
index 4bf1b76..8e1e0e2 100755
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@ -133,7 +133,7 @@ if os.path.exists(OLD_HISTORY):
 
 DEFAULT_HOST = 'localhost'
 DEFAULT_PORT = 9160
-DEFAULT_CQLVER = '3'
+DEFAULT_CQLVER = '3.0.5'
 DEFAULT_TRANSPORT_FACTORY = 'cqlshlib.tfactory.regular_transport_factory'
 
 DEFAULT_TIME_FORMAT = '%Y-%m-%d %H:%M:%S%z'

http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 50e2015..b04ba1d 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -206,6 +206,7 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
 <stringLiteral> ::= /'([^']|'')*'/ ;
 <quotedName> ::=    /"([^"]|"")*"/ ;
 <float> ::=         /-?[0-9]+\.[0-9]+/ ;
+<blobLiteral> ::=    /0x[0-9a-f]+/ ;
 <wholenumber> ::=   /[0-9]+/ ;
 <uuid> ::=          /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ;
 <identifier> ::=    /[a-z][a-z0-9_]*/ ;
@@ -230,10 +231,15 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
          | <float>
          | <uuid>
          | <boolean>
+         | <blobLiteral>
+         | <functionName> <functionArguments>
          ;
 
+<functionArguments> ::= "(" ( <term> ( "," <term> )* )? ")"
+                 ;
+
 <tokenDefinition> ::= token="TOKEN" "(" <term> ( "," <term> )* ")"
-                    | <stringLiteral>
+                    | <term>
                     ;
 <value> ::= <term>
           | <collectionLiteral>
@@ -255,6 +261,9 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
 <mapLiteral> ::= "{" <term> ":" <term> ( "," <term> ":" <term> )* "}"
                ;
 
+<functionName> ::= <identifier>
+                 ;
+
 <statementBody> ::= <useStatement>
                   | <selectStatement>
                   | <dataChangeStatement>
@@ -739,13 +748,13 @@ syntax_rules += r'''
                  ;
 <selectStatement> ::= "SELECT" <selectClause>
                         "FROM" cf=<columnFamilyName>
-                          ("WHERE" <whereClause>)?
-                          ("ORDER" "BY" <orderByClause> ( "," <orderByClause> )* )?
-                          ("LIMIT" limit=<wholenumber>)?
+                          ( "WHERE" <whereClause> )?
+                          ( "ORDER" "BY" <orderByClause> ( "," <orderByClause> )* )?
+                          ( "LIMIT" limit=<wholenumber> )?
                     ;
-<whereClause> ::= <relation> ("AND" <relation>)*
+<whereClause> ::= <relation> ( "AND" <relation> )*
                 ;
-<relation> ::= [rel_lhs]=<cident> ("=" | "<" | ">" | "<=" | ">=") <term>
+<relation> ::= [rel_lhs]=<cident> ( "=" | "<" | ">" | "<=" | ">=" ) <term>
              | token="TOKEN" "(" [rel_tokname]=<cident>
                                  ( "," [rel_tokname]=<cident> )*
                              ")" ("=" | "<" | ">" | "<=" | ">=") <tokenDefinition>
@@ -758,7 +767,10 @@ syntax_rules += r'''
 <selector> ::= [colname]=<cident>
              | "WRITETIME" "(" [colname]=<cident> ")"
              | "TTL" "(" [colname]=<cident> ")"
+             | <functionName> <selectionFunctionArguments>
              ;
+<selectionFunctionArguments> ::= "(" ( <selector> ( "," <selector> )* )? ")"
+                          ;
 <orderByClause> ::= [ordercol]=<cident> ( "ASC" | "DESC" )?
                   ;
 '''


[04/10] git commit: cqlsh: Updated CQL3 parser to support functions and BLOB literals

Posted by mi...@apache.org.
cqlsh: Updated CQL3 parser to support functions and BLOB literals

patch by Mikhail Stepura; reviewed by Aleksey Yeschenko for CASSANDRA-7018


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

Branch: refs/heads/trunk
Commit: 13d3a47461af24fbd4b2ddee71a7042168ed860f
Parents: 8709706
Author: Mikhail Stepura <mi...@apache.org>
Authored: Wed Apr 16 21:10:18 2014 -0700
Committer: Mikhail Stepura <mi...@apache.org>
Committed: Fri Apr 18 18:01:41 2014 -0700

----------------------------------------------------------------------
 CHANGES.txt                    |  1 +
 bin/cqlsh                      |  2 +-
 pylib/cqlshlib/cql3handling.py | 24 ++++++++++++++++++------
 3 files changed, 20 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index bb08a37..bf80e1e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,6 +6,7 @@
  * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
  * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
  * Fix batchlog to account for CF truncation records (CASSANDRA-6999)
+ * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
 
 
 1.2.16

http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/bin/cqlsh
----------------------------------------------------------------------
diff --git a/bin/cqlsh b/bin/cqlsh
index 4bf1b76..8e1e0e2 100755
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@ -133,7 +133,7 @@ if os.path.exists(OLD_HISTORY):
 
 DEFAULT_HOST = 'localhost'
 DEFAULT_PORT = 9160
-DEFAULT_CQLVER = '3'
+DEFAULT_CQLVER = '3.0.5'
 DEFAULT_TRANSPORT_FACTORY = 'cqlshlib.tfactory.regular_transport_factory'
 
 DEFAULT_TIME_FORMAT = '%Y-%m-%d %H:%M:%S%z'

http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 50e2015..b04ba1d 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -206,6 +206,7 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
 <stringLiteral> ::= /'([^']|'')*'/ ;
 <quotedName> ::=    /"([^"]|"")*"/ ;
 <float> ::=         /-?[0-9]+\.[0-9]+/ ;
+<blobLiteral> ::=    /0x[0-9a-f]+/ ;
 <wholenumber> ::=   /[0-9]+/ ;
 <uuid> ::=          /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ;
 <identifier> ::=    /[a-z][a-z0-9_]*/ ;
@@ -230,10 +231,15 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
          | <float>
          | <uuid>
          | <boolean>
+         | <blobLiteral>
+         | <functionName> <functionArguments>
          ;
 
+<functionArguments> ::= "(" ( <term> ( "," <term> )* )? ")"
+                 ;
+
 <tokenDefinition> ::= token="TOKEN" "(" <term> ( "," <term> )* ")"
-                    | <stringLiteral>
+                    | <term>
                     ;
 <value> ::= <term>
           | <collectionLiteral>
@@ -255,6 +261,9 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
 <mapLiteral> ::= "{" <term> ":" <term> ( "," <term> ":" <term> )* "}"
                ;
 
+<functionName> ::= <identifier>
+                 ;
+
 <statementBody> ::= <useStatement>
                   | <selectStatement>
                   | <dataChangeStatement>
@@ -739,13 +748,13 @@ syntax_rules += r'''
                  ;
 <selectStatement> ::= "SELECT" <selectClause>
                         "FROM" cf=<columnFamilyName>
-                          ("WHERE" <whereClause>)?
-                          ("ORDER" "BY" <orderByClause> ( "," <orderByClause> )* )?
-                          ("LIMIT" limit=<wholenumber>)?
+                          ( "WHERE" <whereClause> )?
+                          ( "ORDER" "BY" <orderByClause> ( "," <orderByClause> )* )?
+                          ( "LIMIT" limit=<wholenumber> )?
                     ;
-<whereClause> ::= <relation> ("AND" <relation>)*
+<whereClause> ::= <relation> ( "AND" <relation> )*
                 ;
-<relation> ::= [rel_lhs]=<cident> ("=" | "<" | ">" | "<=" | ">=") <term>
+<relation> ::= [rel_lhs]=<cident> ( "=" | "<" | ">" | "<=" | ">=" ) <term>
              | token="TOKEN" "(" [rel_tokname]=<cident>
                                  ( "," [rel_tokname]=<cident> )*
                              ")" ("=" | "<" | ">" | "<=" | ">=") <tokenDefinition>
@@ -758,7 +767,10 @@ syntax_rules += r'''
 <selector> ::= [colname]=<cident>
              | "WRITETIME" "(" [colname]=<cident> ")"
              | "TTL" "(" [colname]=<cident> ")"
+             | <functionName> <selectionFunctionArguments>
              ;
+<selectionFunctionArguments> ::= "(" ( <selector> ( "," <selector> )* )? ")"
+                          ;
 <orderByClause> ::= [ordercol]=<cident> ( "ASC" | "DESC" )?
                   ;
 '''


[03/10] git commit: cqlsh: Updated CQL3 parser to support functions and BLOB literals

Posted by mi...@apache.org.
cqlsh: Updated CQL3 parser to support functions and BLOB literals

patch by Mikhail Stepura; reviewed by Aleksey Yeschenko for CASSANDRA-7018


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

Branch: refs/heads/cassandra-2.1
Commit: 13d3a47461af24fbd4b2ddee71a7042168ed860f
Parents: 8709706
Author: Mikhail Stepura <mi...@apache.org>
Authored: Wed Apr 16 21:10:18 2014 -0700
Committer: Mikhail Stepura <mi...@apache.org>
Committed: Fri Apr 18 18:01:41 2014 -0700

----------------------------------------------------------------------
 CHANGES.txt                    |  1 +
 bin/cqlsh                      |  2 +-
 pylib/cqlshlib/cql3handling.py | 24 ++++++++++++++++++------
 3 files changed, 20 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index bb08a37..bf80e1e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,6 +6,7 @@
  * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
  * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
  * Fix batchlog to account for CF truncation records (CASSANDRA-6999)
+ * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
 
 
 1.2.16

http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/bin/cqlsh
----------------------------------------------------------------------
diff --git a/bin/cqlsh b/bin/cqlsh
index 4bf1b76..8e1e0e2 100755
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@ -133,7 +133,7 @@ if os.path.exists(OLD_HISTORY):
 
 DEFAULT_HOST = 'localhost'
 DEFAULT_PORT = 9160
-DEFAULT_CQLVER = '3'
+DEFAULT_CQLVER = '3.0.5'
 DEFAULT_TRANSPORT_FACTORY = 'cqlshlib.tfactory.regular_transport_factory'
 
 DEFAULT_TIME_FORMAT = '%Y-%m-%d %H:%M:%S%z'

http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 50e2015..b04ba1d 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -206,6 +206,7 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
 <stringLiteral> ::= /'([^']|'')*'/ ;
 <quotedName> ::=    /"([^"]|"")*"/ ;
 <float> ::=         /-?[0-9]+\.[0-9]+/ ;
+<blobLiteral> ::=    /0x[0-9a-f]+/ ;
 <wholenumber> ::=   /[0-9]+/ ;
 <uuid> ::=          /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ;
 <identifier> ::=    /[a-z][a-z0-9_]*/ ;
@@ -230,10 +231,15 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
          | <float>
          | <uuid>
          | <boolean>
+         | <blobLiteral>
+         | <functionName> <functionArguments>
          ;
 
+<functionArguments> ::= "(" ( <term> ( "," <term> )* )? ")"
+                 ;
+
 <tokenDefinition> ::= token="TOKEN" "(" <term> ( "," <term> )* ")"
-                    | <stringLiteral>
+                    | <term>
                     ;
 <value> ::= <term>
           | <collectionLiteral>
@@ -255,6 +261,9 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
 <mapLiteral> ::= "{" <term> ":" <term> ( "," <term> ":" <term> )* "}"
                ;
 
+<functionName> ::= <identifier>
+                 ;
+
 <statementBody> ::= <useStatement>
                   | <selectStatement>
                   | <dataChangeStatement>
@@ -739,13 +748,13 @@ syntax_rules += r'''
                  ;
 <selectStatement> ::= "SELECT" <selectClause>
                         "FROM" cf=<columnFamilyName>
-                          ("WHERE" <whereClause>)?
-                          ("ORDER" "BY" <orderByClause> ( "," <orderByClause> )* )?
-                          ("LIMIT" limit=<wholenumber>)?
+                          ( "WHERE" <whereClause> )?
+                          ( "ORDER" "BY" <orderByClause> ( "," <orderByClause> )* )?
+                          ( "LIMIT" limit=<wholenumber> )?
                     ;
-<whereClause> ::= <relation> ("AND" <relation>)*
+<whereClause> ::= <relation> ( "AND" <relation> )*
                 ;
-<relation> ::= [rel_lhs]=<cident> ("=" | "<" | ">" | "<=" | ">=") <term>
+<relation> ::= [rel_lhs]=<cident> ( "=" | "<" | ">" | "<=" | ">=" ) <term>
              | token="TOKEN" "(" [rel_tokname]=<cident>
                                  ( "," [rel_tokname]=<cident> )*
                              ")" ("=" | "<" | ">" | "<=" | ">=") <tokenDefinition>
@@ -758,7 +767,10 @@ syntax_rules += r'''
 <selector> ::= [colname]=<cident>
              | "WRITETIME" "(" [colname]=<cident> ")"
              | "TTL" "(" [colname]=<cident> ")"
+             | <functionName> <selectionFunctionArguments>
              ;
+<selectionFunctionArguments> ::= "(" ( <selector> ( "," <selector> )* )? ")"
+                          ;
 <orderByClause> ::= [ordercol]=<cident> ( "ASC" | "DESC" )?
                   ;
 '''


[08/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Posted by mi...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
	CHANGES.txt


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

Branch: refs/heads/cassandra-2.1
Commit: 477a0a28b5be1c8097c51fefaa77faed2f10e5b0
Parents: 22d86eb 167af2b
Author: Mikhail Stepura <mi...@apache.org>
Authored: Fri Apr 18 18:13:45 2014 -0700
Committer: Mikhail Stepura <mi...@apache.org>
Committed: Fri Apr 18 18:13:45 2014 -0700

----------------------------------------------------------------------
 CHANGES.txt                    |  1 +
 pylib/cqlshlib/cql3handling.py | 24 ++++++++++++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/477a0a28/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 6533ef4,0605f87..ca88dfd
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -108,7 -65,6 +108,8 @@@ Merged from 1.2
   * Schedule schema pulls on change (CASSANDRA-6971)
   * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
   * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
 + * Fix batchlog to account for CF truncation records (CASSANDRA-6999)
++ * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
  
  
  2.0.6

http://git-wip-us.apache.org/repos/asf/cassandra/blob/477a0a28/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------


[07/10] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

Posted by mi...@apache.org.
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
	CHANGES.txt
	bin/cqlsh
	pylib/cqlshlib/cql3handling.py


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

Branch: refs/heads/trunk
Commit: 167af2b252f264fe60fedd51fbf9af56f3a9262d
Parents: ba95a68 13d3a47
Author: Mikhail Stepura <mi...@apache.org>
Authored: Fri Apr 18 18:10:44 2014 -0700
Committer: Mikhail Stepura <mi...@apache.org>
Committed: Fri Apr 18 18:10:44 2014 -0700

----------------------------------------------------------------------
 CHANGES.txt                    |  1 +
 pylib/cqlshlib/cql3handling.py | 24 ++++++++++++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/167af2b2/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index e02e9b2,bf80e1e..0605f87
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,60 -1,15 +1,61 @@@
 -1.2.17
 - * Fix BatchlogManager#deleteBatch() use of millisecond timsestamps
 -   (CASSANDRA-6822)
 - * Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
 - * Schedule schema pulls on change (CASSANDRA-6971)
 - * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
 - * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
 +2.0.8
 +Merged from 1.2:
   * Fix batchlog to account for CF truncation records (CASSANDRA-6999)
+  * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
  
  
 -1.2.16
 +2.0.7
 + * Put nodes in hibernate when join_ring is false (CASSANDRA-6961)
 + * Allow compaction of system tables during startup (CASSANDRA-6913)
 + * Restrict Windows to parallel repairs (CASSANDRA-6907)
 + * (Hadoop) Allow manually specifying start/end tokens in CFIF (CASSANDRA-6436)
 + * Fix NPE in MeteredFlusher (CASSANDRA-6820)
 + * Fix race processing range scan responses (CASSANDRA-6820)
 + * Allow deleting snapshots from dropped keyspaces (CASSANDRA-6821)
 + * Add uuid() function (CASSANDRA-6473)
 + * Omit tombstones from schema digests (CASSANDRA-6862)
 + * Include correct consistencyLevel in LWT timeout (CASSANDRA-6884)
 + * Lower chances for losing new SSTables during nodetool refresh and
 +   ColumnFamilyStore.loadNewSSTables (CASSANDRA-6514)
 + * Add support for DELETE ... IF EXISTS to CQL3 (CASSANDRA-5708)
 + * Update hadoop_cql3_word_count example (CASSANDRA-6793)
 + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788)
 + * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865)
 + * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864)
 + * Fix schema concurrency exceptions (CASSANDRA-6841)
 + * Fix leaking validator FH in StreamWriter (CASSANDRA-6832)
 + * Fix saving triggers to schema (CASSANDRA-6789)
 + * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790)
 + * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838)
 + * Fix static counter columns (CASSANDRA-6827)
 + * Restore expiring->deleted (cell) compaction optimization (CASSANDRA-6844)
 + * Fix CompactionManager.needsCleanup (CASSANDRA-6845)
 + * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779)
 + * Read message id as string from earlier versions (CASSANDRA-6840)
 + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837)
 + * Add paranoid disk failure option (CASSANDRA-6646)
 + * Improve PerRowSecondaryIndex performance (CASSANDRA-6876)
 + * Extend triggers to support CAS updates (CASSANDRA-6882)
 + * Static columns with IF NOT EXISTS don't always work as expected (CASSANDRA-6873)
 + * Fix paging with SELECT DISTINCT (CASSANDRA-6857)
 + * Fix UnsupportedOperationException on CAS timeout (CASSANDRA-6923)
 + * Improve MeteredFlusher handling of MF-unaffected column families
 +   (CASSANDRA-6867)
 + * Add CqlRecordReader using native pagination (CASSANDRA-6311)
 + * Add QueryHandler interface (CASSANDRA-6659)
 + * Track liveRatio per-memtable, not per-CF (CASSANDRA-6945)
 + * Make sure upgradesstables keeps sstable level (CASSANDRA-6958)
 + * Fix LIMIT with static columns (CASSANDRA-6956)
 + * Fix clash with CQL column name in thrift validation (CASSANDRA-6892)
 + * Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966)
 + * Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825)
 + * Fix unintended update with conditional statement (CASSANDRA-6893)
 + * Fix map element access in IF (CASSANDRA-6914)
 + * Avoid costly range calculations for range queries on system keyspaces
 +   (CASSANDRA-6906)
 + * Fix SSTable not released if stream session fails (CASSANDRA-6818)
 + * Avoid build failure due to ANTLR timeout (CASSANDRA-6991)
 +Merged from 1.2:
   * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816)
   * add extra SSL cipher suites (CASSANDRA-6613)
   * fix nodetool getsstables for blob PK (CASSANDRA-6803)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/167af2b2/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------
diff --cc pylib/cqlshlib/cql3handling.py
index 4791a15,b04ba1d..af3067a
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@@ -177,8 -206,9 +177,9 @@@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n
  <stringLiteral> ::= /'([^']|'')*'/ ;
  <quotedName> ::=    /"([^"]|"")*"/ ;
  <float> ::=         /-?[0-9]+\.[0-9]+/ ;
 +<uuid> ::=          /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ;
+ <blobLiteral> ::=    /0x[0-9a-f]+/ ;
  <wholenumber> ::=   /[0-9]+/ ;
 -<uuid> ::=          /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ;
  <identifier> ::=    /[a-z][a-z0-9_]*/ ;
  <colon> ::=         ":" ;
  <star> ::=          "*" ;


[05/10] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

Posted by mi...@apache.org.
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
	CHANGES.txt
	bin/cqlsh
	pylib/cqlshlib/cql3handling.py


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

Branch: refs/heads/cassandra-2.1
Commit: 167af2b252f264fe60fedd51fbf9af56f3a9262d
Parents: ba95a68 13d3a47
Author: Mikhail Stepura <mi...@apache.org>
Authored: Fri Apr 18 18:10:44 2014 -0700
Committer: Mikhail Stepura <mi...@apache.org>
Committed: Fri Apr 18 18:10:44 2014 -0700

----------------------------------------------------------------------
 CHANGES.txt                    |  1 +
 pylib/cqlshlib/cql3handling.py | 24 ++++++++++++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/167af2b2/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index e02e9b2,bf80e1e..0605f87
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,60 -1,15 +1,61 @@@
 -1.2.17
 - * Fix BatchlogManager#deleteBatch() use of millisecond timsestamps
 -   (CASSANDRA-6822)
 - * Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
 - * Schedule schema pulls on change (CASSANDRA-6971)
 - * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
 - * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
 +2.0.8
 +Merged from 1.2:
   * Fix batchlog to account for CF truncation records (CASSANDRA-6999)
+  * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
  
  
 -1.2.16
 +2.0.7
 + * Put nodes in hibernate when join_ring is false (CASSANDRA-6961)
 + * Allow compaction of system tables during startup (CASSANDRA-6913)
 + * Restrict Windows to parallel repairs (CASSANDRA-6907)
 + * (Hadoop) Allow manually specifying start/end tokens in CFIF (CASSANDRA-6436)
 + * Fix NPE in MeteredFlusher (CASSANDRA-6820)
 + * Fix race processing range scan responses (CASSANDRA-6820)
 + * Allow deleting snapshots from dropped keyspaces (CASSANDRA-6821)
 + * Add uuid() function (CASSANDRA-6473)
 + * Omit tombstones from schema digests (CASSANDRA-6862)
 + * Include correct consistencyLevel in LWT timeout (CASSANDRA-6884)
 + * Lower chances for losing new SSTables during nodetool refresh and
 +   ColumnFamilyStore.loadNewSSTables (CASSANDRA-6514)
 + * Add support for DELETE ... IF EXISTS to CQL3 (CASSANDRA-5708)
 + * Update hadoop_cql3_word_count example (CASSANDRA-6793)
 + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788)
 + * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865)
 + * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864)
 + * Fix schema concurrency exceptions (CASSANDRA-6841)
 + * Fix leaking validator FH in StreamWriter (CASSANDRA-6832)
 + * Fix saving triggers to schema (CASSANDRA-6789)
 + * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790)
 + * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838)
 + * Fix static counter columns (CASSANDRA-6827)
 + * Restore expiring->deleted (cell) compaction optimization (CASSANDRA-6844)
 + * Fix CompactionManager.needsCleanup (CASSANDRA-6845)
 + * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779)
 + * Read message id as string from earlier versions (CASSANDRA-6840)
 + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837)
 + * Add paranoid disk failure option (CASSANDRA-6646)
 + * Improve PerRowSecondaryIndex performance (CASSANDRA-6876)
 + * Extend triggers to support CAS updates (CASSANDRA-6882)
 + * Static columns with IF NOT EXISTS don't always work as expected (CASSANDRA-6873)
 + * Fix paging with SELECT DISTINCT (CASSANDRA-6857)
 + * Fix UnsupportedOperationException on CAS timeout (CASSANDRA-6923)
 + * Improve MeteredFlusher handling of MF-unaffected column families
 +   (CASSANDRA-6867)
 + * Add CqlRecordReader using native pagination (CASSANDRA-6311)
 + * Add QueryHandler interface (CASSANDRA-6659)
 + * Track liveRatio per-memtable, not per-CF (CASSANDRA-6945)
 + * Make sure upgradesstables keeps sstable level (CASSANDRA-6958)
 + * Fix LIMIT with static columns (CASSANDRA-6956)
 + * Fix clash with CQL column name in thrift validation (CASSANDRA-6892)
 + * Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966)
 + * Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825)
 + * Fix unintended update with conditional statement (CASSANDRA-6893)
 + * Fix map element access in IF (CASSANDRA-6914)
 + * Avoid costly range calculations for range queries on system keyspaces
 +   (CASSANDRA-6906)
 + * Fix SSTable not released if stream session fails (CASSANDRA-6818)
 + * Avoid build failure due to ANTLR timeout (CASSANDRA-6991)
 +Merged from 1.2:
   * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816)
   * add extra SSL cipher suites (CASSANDRA-6613)
   * fix nodetool getsstables for blob PK (CASSANDRA-6803)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/167af2b2/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------
diff --cc pylib/cqlshlib/cql3handling.py
index 4791a15,b04ba1d..af3067a
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@@ -177,8 -206,9 +177,9 @@@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n
  <stringLiteral> ::= /'([^']|'')*'/ ;
  <quotedName> ::=    /"([^"]|"")*"/ ;
  <float> ::=         /-?[0-9]+\.[0-9]+/ ;
 +<uuid> ::=          /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ;
+ <blobLiteral> ::=    /0x[0-9a-f]+/ ;
  <wholenumber> ::=   /[0-9]+/ ;
 -<uuid> ::=          /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ;
  <identifier> ::=    /[a-z][a-z0-9_]*/ ;
  <colon> ::=         ":" ;
  <star> ::=          "*" ;


[10/10] git commit: Merge branch 'cassandra-2.1' into trunk

Posted by mi...@apache.org.
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: 894d6f67a0a6338dcb516bbd91bd918c17ad8339
Parents: c65973d 477a0a2
Author: Mikhail Stepura <mi...@apache.org>
Authored: Fri Apr 18 18:17:04 2014 -0700
Committer: Mikhail Stepura <mi...@apache.org>
Committed: Fri Apr 18 18:17:04 2014 -0700

----------------------------------------------------------------------
 CHANGES.txt                    |  1 +
 pylib/cqlshlib/cql3handling.py | 24 ++++++++++++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/894d6f67/CHANGES.txt
----------------------------------------------------------------------


[09/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Posted by mi...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
	CHANGES.txt


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

Branch: refs/heads/trunk
Commit: 477a0a28b5be1c8097c51fefaa77faed2f10e5b0
Parents: 22d86eb 167af2b
Author: Mikhail Stepura <mi...@apache.org>
Authored: Fri Apr 18 18:13:45 2014 -0700
Committer: Mikhail Stepura <mi...@apache.org>
Committed: Fri Apr 18 18:13:45 2014 -0700

----------------------------------------------------------------------
 CHANGES.txt                    |  1 +
 pylib/cqlshlib/cql3handling.py | 24 ++++++++++++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/477a0a28/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 6533ef4,0605f87..ca88dfd
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -108,7 -65,6 +108,8 @@@ Merged from 1.2
   * Schedule schema pulls on change (CASSANDRA-6971)
   * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
   * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
 + * Fix batchlog to account for CF truncation records (CASSANDRA-6999)
++ * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
  
  
  2.0.6

http://git-wip-us.apache.org/repos/asf/cassandra/blob/477a0a28/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------


[06/10] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

Posted by mi...@apache.org.
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
	CHANGES.txt
	bin/cqlsh
	pylib/cqlshlib/cql3handling.py


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

Branch: refs/heads/cassandra-2.0
Commit: 167af2b252f264fe60fedd51fbf9af56f3a9262d
Parents: ba95a68 13d3a47
Author: Mikhail Stepura <mi...@apache.org>
Authored: Fri Apr 18 18:10:44 2014 -0700
Committer: Mikhail Stepura <mi...@apache.org>
Committed: Fri Apr 18 18:10:44 2014 -0700

----------------------------------------------------------------------
 CHANGES.txt                    |  1 +
 pylib/cqlshlib/cql3handling.py | 24 ++++++++++++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/167af2b2/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index e02e9b2,bf80e1e..0605f87
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,60 -1,15 +1,61 @@@
 -1.2.17
 - * Fix BatchlogManager#deleteBatch() use of millisecond timsestamps
 -   (CASSANDRA-6822)
 - * Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
 - * Schedule schema pulls on change (CASSANDRA-6971)
 - * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
 - * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
 +2.0.8
 +Merged from 1.2:
   * Fix batchlog to account for CF truncation records (CASSANDRA-6999)
+  * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
  
  
 -1.2.16
 +2.0.7
 + * Put nodes in hibernate when join_ring is false (CASSANDRA-6961)
 + * Allow compaction of system tables during startup (CASSANDRA-6913)
 + * Restrict Windows to parallel repairs (CASSANDRA-6907)
 + * (Hadoop) Allow manually specifying start/end tokens in CFIF (CASSANDRA-6436)
 + * Fix NPE in MeteredFlusher (CASSANDRA-6820)
 + * Fix race processing range scan responses (CASSANDRA-6820)
 + * Allow deleting snapshots from dropped keyspaces (CASSANDRA-6821)
 + * Add uuid() function (CASSANDRA-6473)
 + * Omit tombstones from schema digests (CASSANDRA-6862)
 + * Include correct consistencyLevel in LWT timeout (CASSANDRA-6884)
 + * Lower chances for losing new SSTables during nodetool refresh and
 +   ColumnFamilyStore.loadNewSSTables (CASSANDRA-6514)
 + * Add support for DELETE ... IF EXISTS to CQL3 (CASSANDRA-5708)
 + * Update hadoop_cql3_word_count example (CASSANDRA-6793)
 + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788)
 + * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865)
 + * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864)
 + * Fix schema concurrency exceptions (CASSANDRA-6841)
 + * Fix leaking validator FH in StreamWriter (CASSANDRA-6832)
 + * Fix saving triggers to schema (CASSANDRA-6789)
 + * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790)
 + * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838)
 + * Fix static counter columns (CASSANDRA-6827)
 + * Restore expiring->deleted (cell) compaction optimization (CASSANDRA-6844)
 + * Fix CompactionManager.needsCleanup (CASSANDRA-6845)
 + * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779)
 + * Read message id as string from earlier versions (CASSANDRA-6840)
 + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837)
 + * Add paranoid disk failure option (CASSANDRA-6646)
 + * Improve PerRowSecondaryIndex performance (CASSANDRA-6876)
 + * Extend triggers to support CAS updates (CASSANDRA-6882)
 + * Static columns with IF NOT EXISTS don't always work as expected (CASSANDRA-6873)
 + * Fix paging with SELECT DISTINCT (CASSANDRA-6857)
 + * Fix UnsupportedOperationException on CAS timeout (CASSANDRA-6923)
 + * Improve MeteredFlusher handling of MF-unaffected column families
 +   (CASSANDRA-6867)
 + * Add CqlRecordReader using native pagination (CASSANDRA-6311)
 + * Add QueryHandler interface (CASSANDRA-6659)
 + * Track liveRatio per-memtable, not per-CF (CASSANDRA-6945)
 + * Make sure upgradesstables keeps sstable level (CASSANDRA-6958)
 + * Fix LIMIT with static columns (CASSANDRA-6956)
 + * Fix clash with CQL column name in thrift validation (CASSANDRA-6892)
 + * Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966)
 + * Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825)
 + * Fix unintended update with conditional statement (CASSANDRA-6893)
 + * Fix map element access in IF (CASSANDRA-6914)
 + * Avoid costly range calculations for range queries on system keyspaces
 +   (CASSANDRA-6906)
 + * Fix SSTable not released if stream session fails (CASSANDRA-6818)
 + * Avoid build failure due to ANTLR timeout (CASSANDRA-6991)
 +Merged from 1.2:
   * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816)
   * add extra SSL cipher suites (CASSANDRA-6613)
   * fix nodetool getsstables for blob PK (CASSANDRA-6803)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/167af2b2/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------
diff --cc pylib/cqlshlib/cql3handling.py
index 4791a15,b04ba1d..af3067a
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@@ -177,8 -206,9 +177,9 @@@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n
  <stringLiteral> ::= /'([^']|'')*'/ ;
  <quotedName> ::=    /"([^"]|"")*"/ ;
  <float> ::=         /-?[0-9]+\.[0-9]+/ ;
 +<uuid> ::=          /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ;
+ <blobLiteral> ::=    /0x[0-9a-f]+/ ;
  <wholenumber> ::=   /[0-9]+/ ;
 -<uuid> ::=          /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ;
  <identifier> ::=    /[a-z][a-z0-9_]*/ ;
  <colon> ::=         ":" ;
  <star> ::=          "*" ;