X-Git-Url: https://git.phdru.name/?p=sqlconvert.git;a=blobdiff_plain;f=demo%2Fgroup-sql.py;fp=demo%2Fgroup-sql.py;h=953e9e7cfc66a03304af31cdc7473ec584fd1a7f;hp=0000000000000000000000000000000000000000;hb=33ccb6237b3791b181d9589549c34f66960c5b4d;hpb=7d3342fc8ae5d217736c9c055b53445c628da765 diff --git a/demo/group-sql.py b/demo/group-sql.py new file mode 100755 index 0000000..953e9e7 --- /dev/null +++ b/demo/group-sql.py @@ -0,0 +1,48 @@ +#! /usr/bin/env python +from __future__ import print_function + +import sys +from mysql2sql.print_tokens import print_tokens +from mysql2sql.process_tokens import requote_names, find_error, \ + StatementGrouper + + +def main(*queries): + grouper = StatementGrouper() + for query in queries: + grouper.process_line(query) + if grouper.statements: + for statement in grouper.get_statements(): + print("----------") + if find_error(statement): + print("ERRORS IN QUERY") + requote_names(statement) + print_tokens(statement) + print() + statement._pprint_tree() + print("----------") + tokens = grouper.close() + if tokens: + for token in tokens: + print_tokens(token) + print(repr(token)) + + +def test(): + main( + "SELECT * FROM `mytable`; -- line-comment", + "INSERT into /* inline comment */ mytable VALUES (1, 'one');", + "/*! directive*/ INSERT INTO `MyTable` (`Id`, `Name`) " + "VALUES (1, 'one');" + ) + + +if __name__ == '__main__': + if len(sys.argv) <= 1: + sys.exit("Usage: %s [-t | sql_query_string [; sql_query_string ...]]" % + sys.argv[0]) + if sys.argv[1] == '-t': + test() + else: + queries = sys.argv[1:] + main(*queries)