1 # -*- coding: utf-8 -*-
3 from sqlparse import parse
5 from sqlconvert.print_tokens import tlist2str
6 from sqlconvert.process_mysql import remove_directive_tokens, \
7 is_directive_statement, requote_names, unescape_strings, \
12 parsed = parse("insert into test (1, 'тест')", 'utf-8')[0]
13 query = tlist2str(parsed).encode('utf-8')
15 u"INSERT INTO test (1, 'тест')".encode('utf-8')
19 parsed = parse(u"insert into test (1, 'тест')")[0]
20 query = tlist2str(parsed)
21 assert query, u"INSERT INTO test (1 == 'тест')"
25 parsed = parse("select /*! test */ * from /* test */ `T`")[0]
26 remove_directive_tokens(parsed)
27 query = tlist2str(parsed)
28 assert query == u'SELECT * FROM /* test */ `T`'
31 def test_directive_statement():
32 parsed = parse("/*! test */ test ;")[0]
33 assert not is_directive_statement(parsed)
34 parsed = parse("/*! test */ ;")[0]
35 assert is_directive_statement(parsed)
39 parsed = parse("select * from `T`")[0]
41 query = tlist2str(parsed)
42 assert query == u'SELECT * FROM "T"'
46 parsed = parse("insert into test values ('\"test\\\"')")[0]
47 unescape_strings(parsed)
48 query = tlist2str(parsed)
49 assert query == u"INSERT INTO test VALUES ('\"test\"')"
53 parsed = parse("select /*! test */ * from /* test */ `T`")[0]
54 process_statement(parsed)
55 query = tlist2str(parsed)
56 assert query == u'SELECT * FROM /* test */ "T"'