хочется странного: хочется уметь подменять запросы на лету.
пользователь пишет select * from table, а мы ему заботливо добавляем where ... limit ...
ну и понятно что select from select, всякие join и прочее тоже хочется уметь получить.
т.е. какое-то такое преобразование: string ---> ast tree ---> add expression ---> string ---> exec sql