[
https://issues.apache.org/jira/browse/CASSANDRA-2939?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tyler Hobbs updated CASSANDRA-2939:
-----------------------------------
Attachment: 2939-test.txt
2939.txt
2939.txt updates the regex to the one provided by Blake. (In case you're not
familiar with the syntax, "+?" is a non-greedy version of "+".)
2939-test.txt adds a small unit test to exercise the Cursor._cfamily_re regex.
> CQL regex to match column family in query
> -----------------------------------------
>
> Key: CASSANDRA-2939
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2939
> Project: Cassandra
> Issue Type: Bug
> Components: Drivers
> Environment: Python CQL
> Reporter: Blake Visin
> Assignee: Tyler Hobbs
> Labels: CQL, python
> Attachments: 2939-test.txt, 2939.txt
>
>
> In the file cursor.py
> (https://svn.apache.org/repos/asf/cassandra/drivers/py/cql/cursor.py)
> {code}Line 37: _cfamily_re = re.compile("\s*SELECT\s+.+\s+FROM\s+[\']?(\w+)",
> re.I | re.M){code}
> The Regex will improperly match anything after the word 'from' even if it is
> in the WHERE clause
> I believe the fix is:
> {code}_cfamily_re = re.compile("\s*SELECT\s+.+?\s+FROM\s+[\']?(\w+)", re.I |
> re.M){code}
> Added the ? so the regex is not so greedy
> use this query to reproduce the results:
> SELECT key FROM column_family WHERE key = 'break from chores'"
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira