Можно ли добавить ограничение N в sqlparse
?Например, предположим, что пользователь вводит следующие три запроса (используя 1000 в качестве предела в примерах):
1) Reformat if limit > 1000
SELECT * FROM mytable LIMIT 1e10
==> SELECT * FROM mytable LIMIT 1000
2) Reformat if no limit
SELECT * FROM mytable
==> SELECT * FROM mytable LIMIT 1000
3) Ignore if a limit <= 1000 already applied
SELECT * FROM mytable
==> [ ok ]
Кроме того, может ли sqlparse
изменять ограничение в соответствии с ядром базы данных?Например, limit
в mysql отличается от top
в mssql.Примеры:
MySQL: SELECT * FROM table LIMIT 1000
PostgreSQL: SELECT * FROM table LIMIT 1000
Oracle: SELECT * FROM table WHERE rownum <= 1000
MsSQL: SELECT TOP 1000 FROM table
Или, если это невозможно сделать в sqlparse
, есть ли другие библиотеки, где это можно сделать?