Seems to be an issue with count. This results in Unknown clause encountered
res = [ select (letter, lettercount)
for letter in "helloworld"
count lettercount
]
If I then apply this patch, it now parses.
diff --git a/pythonql/parser/PythonQLParser.py b/pythonql/parser/PythonQLParser.py
index fb8d304..003f4bd 100644
--- a/pythonql/parser/PythonQLParser.py
+++ b/pythonql/parser/PythonQLParser.py
@@ -835,7 +835,7 @@ class Parser:
def p_count_clause(self, p):
"""count_clause : COUNT NAME"""
- p[0] = make_node('count', p)
+ p[0] = make_node('count_clause', p)
def p_testseq_query(self, p):
"""testseq_query : test_as_list comma_opt
With results:
[{"letter":'h',"lettercount":0}, {"letter":'e',"lettercount":1}, {"letter":'l',"lettercount":2}, {"letter":'l',"lettercount":3}, {"letter":'o',"lettercount":4}, {"letter":'w',"lettercount":5}, {"letter":'o',"lettercount":6}, {"letter":'r',"lettercount":7}, {"letter":'l',"lettercount":8}, {"letter":'d',"lettercount":9}]
Seems to be an issue with
count. This results inUnknown clause encounteredIf I then apply this patch, it now parses.
With results:
[{"letter":'h',"lettercount":0}, {"letter":'e',"lettercount":1}, {"letter":'l',"lettercount":2}, {"letter":'l',"lettercount":3}, {"letter":'o',"lettercount":4}, {"letter":'w',"lettercount":5}, {"letter":'o',"lettercount":6}, {"letter":'r',"lettercount":7}, {"letter":'l',"lettercount":8}, {"letter":'d',"lettercount":9}]