Использование sqlparse для добавления динамического ограничения sql - PullRequest
0 голосов
/ 04 января 2019

Можно ли добавить ограничение 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, есть ли другие библиотеки, где это можно сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...