Python validating sql parser
As you can guess, my search wasn’t really successfull.
pyparsing needs a grammar, but I’m not really interested in writing a full-blown grammar for SQL with it’s various dialects.
For example, when you need to do non-trivial operations on queries, like: The Postgres documentation gives a good overview how query execution is handled and what the intermediate tree representations of a query string are.
Postgres already offers tooling to create a query tree from a given query string.
It accomplishes this by using a patched Postgres version which on one hand addresses the shortcomings outlined above, and on the other hand it provides a new function which turns a query tree into a JSON representation instead of the native Postgres format.
pg_query is a Ruby gem which can generate query trees in JSON representation.
Here, we have provided you with additional demos that may be helpful to you.
Some time ago I was in search for some kind of SQL parser module for Python.
AFAICT Gadfly implements a customized SQL parser, but I was not able to figure out how to use it.
And there’s sqlliterals, but as the name suggests it’s just for identifying literals within statements.The answer is: them is not possible, though some lexers go some steps in this direction in order to e.g. Also, error reporting is not the scope of Pygments.