]> git.phdru.name Git - sqlconvert.git/blob - scripts/group-sql.py
850dcb30b2ad1fd72f79274515feff33517f4c7b
[sqlconvert.git] / scripts / group-sql.py
1 #! /usr/bin/env python
2 from __future__ import print_function
3
4 import sys
5 from mysql2sql.print_tokens import print_tokens
6 from mysql2sql.process_tokens import requote_names, find_error, \
7     StatementGrouper
8
9
10 def main(*queries):
11     grouper = StatementGrouper()
12     for query in queries:
13         grouper.process_line(query)
14         if grouper.statements:
15             for statement in grouper.get_statements():
16                 print("----------")
17                 if find_error(statement):
18                     print("ERRORS IN QUERY")
19                 requote_names(statement)
20                 print_tokens(statement)
21                 print()
22                 statement._pprint_tree()
23             print("----------")
24     tokens = grouper.close()
25     for token in tokens:
26         print_tokens(token)
27         print(repr(token))
28
29
30 def test():
31     main(
32         "SELECT * FROM `mytable`; -- line-comment",
33         "INSERT into /* inline comment */ mytable VALUES (1, 'one');",
34         "/*! directive*/ INSERT INTO `MyTable` (`Id`, `Name`) "
35         "VALUES (1, 'one');"
36     )
37
38
39 if __name__ == '__main__':
40     if len(sys.argv) <= 1:
41         sys.exit("Usage: %s [-t | sql_query_string [; sql_query_string ...]]" %
42                  sys.argv[0])
43     if sys.argv[1] == '-t':
44         test()
45     else:
46         queries = sys.argv[1:]
47         main(*queries)