Я пишу функцию PL / pgSQL. Функция имеет входные параметры, которые (косвенно) указывают, из каких таблиц считывать информацию фильтрации.
Функция встраивает бизнес-логику, которая позволяет выбирать данные из разных таблиц на основе входных аргументов. Функция динамически создает подзапрос, который возвращает данные фильтрации, которые затем используются для выполнения основного запроса.
Мои вопросы:
Допустимо ли использовать динамический подзапрос в функции PL / pgSQL. Не могу понять, почему нет - но этот вопрос связан со следующим.
AFAIK, PL / pgSQL кэшируются или предварительно компилируются обработчиком запросов. Как функция, генерирующая динамические подзапросы, влияет на работу механизма запросов?