Я использую PLY для анализа некоторых пользовательских данных, создавая запрос SQL в виде строки, которая будет возвращена пользователю. Проблема, с которой я сталкиваюсь, заключается в том, что анализатор поддерживает состояние между запросами, поэтому следующий пользователь добавил к своему предыдущему пользователю запрос SQL.
Состояние сохраняется и обновляется следующим образом:
import ply.yacc as yacc
class ParserState:
query = 'ORDER BY '
def p_binary(p):
...
ParserState.query += 'SOME SQL HERE '
(Примечание: это поведение также происходит, даже если 'query' находится за пределами класса)
Я работал над этим, стараясь вручную сбросить строку между запросами, однако я хочу выяснить, как остановить поддержание состояния между запросами?