[ https://issues.apache.org/jira/browse/CASSANDRA-2939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13081075#comment-13081075 ]
Tyler Hobbs edited comment on CASSANDRA-2939 at 8/8/11 5:31 PM: ---------------------------------------------------------------- 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. was (Author: thobbs): 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