def _parse_sql_statements(self, migration_sql): all_statements = [] last_statement = '' match_stmt = self.__re_objects.match(migration_sql) if not match_stmt: match_stmt = self.__re_anonymous.match(migration_sql) if match_stmt and match_stmt.re.groups > 0: if match_stmt.group('pre'): all_statements = all_statements + self._parse_sql_statements(match_stmt.group('pre')) if match_stmt.group('principal'): all_statements.append(match_stmt.group('principal')) if match_stmt.group('pos'): all_statements = all_statements + self._parse_sql_statements(match_stmt.group('pos')) else: for statement in migration_sql.split(';'): if len(last_statement) > 0: curr_statement = '%s;%s' % (last_statement, statement) else: curr_statement = statement single_quotes = Utils.how_many(curr_statement, "'") double_quotes = Utils.how_many(curr_statement, '"') left_parenthesis = Utils.how_many(curr_statement, '(') right_parenthesis = Utils.how_many(curr_statement, ')') if single_quotes % 2 == 0 and double_quotes % 2 == 0 and left_parenthesis == right_parenthesis: all_statements.append(curr_statement) last_statement = '' else: last_statement = curr_statement return [s.strip() for s in all_statements if s.strip() != ""]
def _parse_sql_statements(self, migration_sql): all_statements = [] last_statement = '' for statement in migration_sql.split(';'): if len(last_statement) > 0: curr_statement = '%s;%s' % (last_statement, statement) else: curr_statement = statement single_quotes = Utils.how_many(curr_statement, "'") double_quotes = Utils.how_many(curr_statement, '"') left_parenthesis = Utils.how_many(curr_statement, '(') right_parenthesis = Utils.how_many(curr_statement, ')') if single_quotes % 2 == 0 and double_quotes % 2 == 0 and left_parenthesis == right_parenthesis: all_statements.append(curr_statement) last_statement = '' else: last_statement = curr_statement return [s.strip() for s in all_statements if s.strip() != ""]
def _parse_sql_statements(self, migration_sql): all_statements = [] last_statement = '' for statement in migration_sql.split(';'): if len(last_statement) > 0: curr_statement = '%s;%s' % (last_statement, statement) else: curr_statement = statement single_quotes = Utils.how_many(curr_statement, "'") double_quotes = Utils.how_many(curr_statement, '"') left_parenthesis = Utils.how_many(curr_statement, '(') right_parenthesis = Utils.how_many(curr_statement, ')') if single_quotes % 2 == 0 and double_quotes % 2 == 0 and left_parenthesis == right_parenthesis: all_statements.append(curr_statement) last_statement = '' else: last_statement = curr_statement return [s.strip() for s in all_statements if s.strip() != ""]
def _parse_sql_statements(self, migration_sql): all_statements = [] last_statement = '' match_stmt = self.__re_objects.match(migration_sql) if not match_stmt: match_stmt = self.__re_anonymous.match(migration_sql) if match_stmt and match_stmt.re.groups > 0: if match_stmt.group('pre'): all_statements = all_statements + self._parse_sql_statements( match_stmt.group('pre')) if match_stmt.group('principal'): all_statements.append(match_stmt.group('principal')) if match_stmt.group('pos'): all_statements = all_statements + self._parse_sql_statements( match_stmt.group('pos')) else: for statement in migration_sql.split(';'): if len(last_statement) > 0: curr_statement = '%s;%s' % (last_statement, statement) else: curr_statement = statement single_quotes = Utils.how_many(curr_statement, "'") double_quotes = Utils.how_many(curr_statement, '"') left_parenthesis = Utils.how_many(curr_statement, '(') right_parenthesis = Utils.how_many(curr_statement, ')') if single_quotes % 2 == 0 and double_quotes % 2 == 0 and left_parenthesis == right_parenthesis: all_statements.append(curr_statement) last_statement = '' else: last_statement = curr_statement return [s.strip() for s in all_statements if s.strip() != ""]