Парсинг sql выражения из строки

В проекте возникла задача реализовать в API возможность фильтрации данных. Фильтр представляет из себя строку. Пример строки «name LIKE 'Леша' OR name LIKE 'Саша' AND (age > 40 OR age < 30)»

Нужно реализоваться разбор этого выражения и при помощи уже полученной структуры
1. вместо «age» «name» подставить действительные названия полей.
2. проверить на корректность выражение
3. составить новое выражение которое передастся вместе с запросом к базе, при этом исключить sql инъекций

Вариант передачи фильтра в другом виде не рассматривается руководством)

Может вы сталкивались с похожей задачей и предложите пути решения? (алгоритмы)

Подскажите полезные библиотеки для парсинга выражений из строки которые можно настроить под мои нужды.
  • Вопрос задан
  • 6006 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
jj_killer
@jj_killer
Можно пойти таким путем: www.complang.org/ragel/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы