X-Git-Url: https://git.phdru.name/?p=sqlconvert.git;a=blobdiff_plain;f=scripts%2Fmysql2sql;fp=scripts%2Fmysql2sql;h=3bb03028d9d334b192fd27904e043fbdd74b4124;hp=17ee67cd4fb123f08332e1fa37633f896bc66cc1;hb=ad12dfd9c03a4f6bbd03d22238b6399ab09962ed;hpb=6b991d668a6f384e272fb19f09187a2d9407f1b3 diff --git a/scripts/mysql2sql b/scripts/mysql2sql index 17ee67c..3bb0302 100755 --- a/scripts/mysql2sql +++ b/scripts/mysql2sql @@ -8,8 +8,8 @@ import sys from sqlparse.compat import text_type from sqlconvert.print_tokens import print_tokens -from sqlconvert.process_mysql import process_statement -from sqlconvert.process_tokens import StatementGrouper +from sqlconvert.process_mysql import is_directive_statement, process_statement +from sqlconvert.process_tokens import is_newline_statement, StatementGrouper from m_lib.defenc import default_encoding from m_lib.pbar.tty_pbar import ttyProgressBar @@ -39,6 +39,7 @@ def main(infile, encoding, outfile, output_encoding, use_pbar): cur_pos = 0 grouper = StatementGrouper(encoding=encoding) + got_directive = False for line in infile: if use_pbar: if isinstance(line, text_type): @@ -49,6 +50,14 @@ def main(infile, encoding, outfile, output_encoding, use_pbar): grouper.process_line(line) if grouper.statements: for statement in grouper.get_statements(): + if got_directive and is_newline_statement(statement): + # Replace a sequence of newlines after a /*! directive */; + # with one newline + #outfile.write(u'\n') + continue + got_directive = is_directive_statement(statement) + if got_directive: + continue process_statement(statement) print_tokens(statement, outfile=outfile, encoding=output_encoding)