[1.5.x] Fixed #19416 -- Fixed multi-line commands in initial SQL files
Thanks Aymeric Augustin for detecting this regression.
Backport of 5fa5621f5
from master.
This commit is contained in:
parent
c9a47fb379
commit
3d62eaea69
|
@ -145,15 +145,15 @@ def sql_all(app, style, connection):
|
||||||
def _split_statements(content):
|
def _split_statements(content):
|
||||||
comment_re = re.compile(r"^((?:'[^']*'|[^'])*?)--.*$")
|
comment_re = re.compile(r"^((?:'[^']*'|[^'])*?)--.*$")
|
||||||
statements = []
|
statements = []
|
||||||
statement = ""
|
statement = []
|
||||||
for line in content.split("\n"):
|
for line in content.split("\n"):
|
||||||
cleaned_line = comment_re.sub(r"\1", line).strip()
|
cleaned_line = comment_re.sub(r"\1", line).strip()
|
||||||
if not cleaned_line:
|
if not cleaned_line:
|
||||||
continue
|
continue
|
||||||
statement += cleaned_line
|
statement.append(cleaned_line)
|
||||||
if statement.endswith(";"):
|
if cleaned_line.endswith(";"):
|
||||||
statements.append(statement)
|
statements.append(" ".join(statement))
|
||||||
statement = ""
|
statement = []
|
||||||
return statements
|
return statements
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
INSERT INTO initial_sql_regress_simple (name) VALUES ('John'); -- another comment
|
INSERT INTO initial_sql_regress_simple (name) VALUES ('John'); -- another comment
|
||||||
INSERT INTO initial_sql_regress_simple (name) VALUES ('-- Comment Man');
|
INSERT INTO initial_sql_regress_simple (name) VALUES ('-- Comment Man');
|
||||||
INSERT INTO initial_sql_regress_simple (name) VALUES ('Paul');
|
INSERT INTO initial_sql_regress_simple (name) VALUES ('Paul');
|
||||||
INSERT INTO initial_sql_regress_simple (name) VALUES ('Ringo');
|
INSERT INTO initial_sql_regress_simple
|
||||||
|
VALUES (150, 'Ringo');
|
||||||
INSERT INTO initial_sql_regress_simple (name) VALUES ('George');
|
INSERT INTO initial_sql_regress_simple (name) VALUES ('George');
|
||||||
INSERT INTO initial_sql_regress_simple (name) VALUES ('Miles O''Brien');
|
INSERT INTO initial_sql_regress_simple (name) VALUES ('Miles O''Brien');
|
||||||
INSERT INTO initial_sql_regress_simple (name) VALUES ('Semicolon;Man');
|
INSERT INTO initial_sql_regress_simple (name) VALUES ('Semicolon;Man');
|
||||||
|
|
Loading…
Reference in New Issue