ведь они кешируют результат выполнения на уровне сессии, а в пуле соединений несколько ненагруженных пользователей могут использовать одну сессию подключения к бд и, например, если это функция получения своего ФИО, то остальные получат результат для того, кто выполнил ее первый?
загуглить не вышло
Так получение своего фио - у каждого чела свой запрос, не?
В определении immutable функции ничего не говорится про сессии: https://www.postgresql.org/docs/current/xfunc-volatility.html immutable функция зависит только от значений параметров. Неvот сеесионного контекста. Если она зависит от чего-то ещё то начит она не immutable, а stable или volatile. Насколько мне известно, скейчас значения никаких функций не кэшируются. Была попытка реализовать такую кэш, но вроде как она так и не было закоммичена
Например, функцыя получения своего ФИО можэт быть не более чем STABLE — и никак, по определению, не будет IMMUTABLE.
Обсуждают сегодня