]> git.phdru.name Git - sqlconvert.git/blob - scripts/print_subtree.py
84ea88a9e39a2d13e5aa8914b8fa18ae22696832
[sqlconvert.git] / scripts / print_subtree.py
1 #! /usr/bin/env python
2 from __future__ import print_function
3
4 import sys
5 from sqlparse import parse
6 from mysql2sql.process_tokens import requote_names
7 from mysql2sql.print_tokens import print_tokens
8
9
10 def test():
11     for query in (
12         "SELECT * FROM `mytable`; -- line-comment",
13         "INSERT into /* inline comment */ mytable VALUES (1, 'one')",
14         "/*! directive*/ INSERT INTO `MyTable` (`Id`, `Name`) "
15         "VALUES (1, 'one')"
16     ):
17         print("----------")
18         for parsed in parse(query):
19             requote_names(parsed)
20             print_tokens(parsed)
21             parsed._pprint_tree()
22     print("----------")
23
24
25 def main(query):
26     parsed = parse(query)[0]
27     requote_names(parsed)
28     print_tokens(parsed)
29     parsed._pprint_tree()
30
31 if __name__ == '__main__':
32     if len(sys.argv) != 2:
33         sys.exit("Usage: %s [-t | sql_query_string]" % sys.argv[0])
34     if sys.argv[1] == '-t':
35         test()
36     else:
37         query = sys.argv[1]
38         main(query)