Gostaria de adicionar aqui, IMMUTABLE significa principalmente que o
resultado da função é sempre o mesmo dado um conjunto de parâmetros
de entrada, o que permite por exemplo fazer um índice sobre uma
expressão que usa a dita função.
Ok, está correto. Só tome cuidado com essa frase pois pode causar
confusão, devemos também adicionar a restrição de que não se deve
basear-se em nenhum parâmetro de configuração (muito comum por exemplo
para timestamptz e a GUC TimeZone).
Não entendi a parte da confusão :(
Apenas quis esclarecer o nome IMMUTABLE em uma frase direta. Sei lá, eu
sou meio ligado em linguística.
- STABLE: basicamente tudo que faça consultas somente leitura no
banco.
E só deve fazer chamada à outras funções que sejam IMMUTABLE ou
STABLE.
E que seu resultado só varia a partir dos resultados da(s)
leitura(s) feitas, e não dos parâmetros de entrada.
Não sei se ficou claro. Acho que você quis dizer: " E que seu resultado
só varia a partir dos resultados da(s) leitura(s) feitas **e** dos
parâmetros de entrada.". Ou ainda, "Que seu resultado, dados os mesmos
parâmetros de entrada, só variam caso o conjunto de dados das leituras
mudem".
Desculpe, me confundi ao escrever, sua correção foi bem colocada.
[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral