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

Responder a