X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=sqlconvert%2Fprocess_mysql.py;h=e99ea79edc2816c57787f0578589a38bacea6173;hb=843981ca5ac41be09212f3aa427500580a6e9f5c;hp=1834855dc9b59aee5261cf065afcab1c58310fac;hpb=72abf4a136b1a2d164259a4ac300e6a5a4762432;p=sqlconvert.git diff --git a/sqlconvert/process_mysql.py b/sqlconvert/process_mysql.py index 1834855..e99ea79 100644 --- a/sqlconvert/process_mysql.py +++ b/sqlconvert/process_mysql.py @@ -71,11 +71,14 @@ def unescape_strings(token_list): token.normalized = token.value = value -def is_insert(statement): +def get_DML_type(statement): for token in statement.tokens: if is_comment_or_space(token): continue - return (token.ttype is T.DML) and (token.normalized == 'INSERT') + if (token.ttype is T.DML): + return token.normalized + break + raise ValueError("Not a DML statement") def split_ext_insert(statement): @@ -138,12 +141,16 @@ def split_ext_insert(statement): yield statement -def process_statement(statement, quoting_style='sqlite'): +def process_statement(statement, dbname='sqlite'): requote_names(statement) unescape_strings(statement) remove_directive_tokens(statement) - escape_strings(statement, quoting_style) - if is_insert(statement): + escape_strings(statement, dbname) + try: + is_insert = get_DML_type(statement) == 'INSERT' + except ValueError: + is_insert = False + if is_insert: for statement in split_ext_insert(statement): yield statement else: