Author: jbellis
Date: Mon Aug  8 18:46:22 2011
New Revision: 1155055

URL: http://svn.apache.org/viewvc?rev=1155055&view=rev
Log:
fix CF regex
patch by Blake Visin and thobbs for CASSANDRA-2939

Added:
    cassandra/drivers/py/test/test_regex.py
Modified:
    cassandra/drivers/py/cql/cursor.py

Modified: cassandra/drivers/py/cql/cursor.py
URL: 
http://svn.apache.org/viewvc/cassandra/drivers/py/cql/cursor.py?rev=1155055&r1=1155054&r2=1155055&view=diff
==============================================================================
--- cassandra/drivers/py/cql/cursor.py (original)
+++ cassandra/drivers/py/cql/cursor.py Mon Aug  8 18:46:22 2011
@@ -35,7 +35,7 @@ _VOID_DESCRIPTION = (None)
 
 class Cursor:
     _keyspace_re = re.compile("USE (\w+);?", re.I | re.M)
-    _cfamily_re = re.compile("\s*SELECT\s+.+\s+FROM\s+[\']?(\w+)", re.I | re.M)
+    _cfamily_re = re.compile("\s*SELECT\s+.+?\s+FROM\s+[\']?(\w+)", re.I | 
re.M)
     _ddl_re = re.compile("\s*(CREATE|ALTER|DROP)\s+", re.I | re.M)
 
     def __init__(self, parent_connection):

Added: cassandra/drivers/py/test/test_regex.py
URL: 
http://svn.apache.org/viewvc/cassandra/drivers/py/test/test_regex.py?rev=1155055&view=auto
==============================================================================
--- cassandra/drivers/py/test/test_regex.py (added)
+++ cassandra/drivers/py/test/test_regex.py Mon Aug  8 18:46:22 2011
@@ -0,0 +1,23 @@
+import unittest
+from cql.cursor import Cursor
+
+class TestRegex(unittest.TestCase):
+
+    def single_match(self, match, string):
+        groups = match.groups()
+        self.assertEquals(groups, (string, ))
+
+    def test_cfamily_regex(self):
+        cf_re = Cursor._cfamily_re
+
+        m = cf_re.match("SELECT key FROM column_family WHERE key = 'foo'")
+        self.single_match(m, "column_family")
+
+        m = cf_re.match("SELECT key FROM 'column_family' WHERE key = 'foo'")
+        self.single_match(m, "column_family")
+
+        m = cf_re.match("SELECT key FROM column_family WHERE key = 'break from 
chores'")
+        self.single_match(m, "column_family")
+
+        m = cf_re.match("SELECT key FROM 'from_cf' WHERE key = 'break from 
chores'")
+        self.single_match(m, "from_cf")


Reply via email to