Returns if any of the queries in *queries* is destructive.
(queries, keywords)
| 27 | |
| 28 | |
| 29 | def is_destructive(queries, keywords): |
| 30 | """Returns if any of the queries in *queries* is destructive.""" |
| 31 | for query in sqlparse.split(queries): |
| 32 | if query: |
| 33 | formatted_sql = sqlparse.format(query.lower(), strip_comments=True).strip() |
| 34 | if "unconditional_update" in keywords and query_is_unconditional_update(formatted_sql): |
| 35 | return True |
| 36 | if query_starts_with(formatted_sql, keywords): |
| 37 | return True |
| 38 | return False |
| 39 | |
| 40 | |
| 41 | def parse_destructive_warning(warning_level): |