Parse the tokens return a ParseTree. The condition must follow the following grammar.
<condition> ::= "{" <comparison> | <null-comparison> | <in-comparison> | <logical-condition> "}" <comparison> ::= <comparison-operator> ":" "{" <column> ":" <value> "}" <null-comparison> ::= <null-comparison-operator> ":" "{" <column> ":" <nullable> "}" <in-comparison> ::= <in-comparison-operator> ":" "{" <column> ":" "[" <value> {"," <value>} "]" "}" <logical-condition> ::= <boolean-operator> ":" "[" <condition> {"," <condition>} "]" <comparison-operator> ::= "$eq" | "$neq" | "$lt" | "$lte" | "$gt" | "$gte" | "$like" | "$notlike" <in-comparison-operator> ::= "$in" | "$notIn" <null-comparison-operator> ::= "$is" | "$isnt" <boolean-operator> ::= "$and" | "$or" <nullable> ::= null | <parameter> <value> ::= <parameter> | <column> | <number> <column> ::= <string> <parameter> ::= :<string>
An array of tokens, as created by the ConditionLexer.parse method.
Generated using TypeDoc
A recursive decent parser for a SQL condition (WHERE or ON). This parser takes in a set of tokens, as generated by the ConditionLexer.parse method, and makes sure that the condition is valid. If the condition sentence does not match the condition grammer, an exception is raised. Otherwise, a ParseTree is created.