31.8. Funções internas

As funções internas são funções escritas na linguagem C que foram ligadas estaticamente ao servidor PostgreSQL. O "corpo" da definição da função especifica o nome da função na linguagem C, que não precisa ser o mesmo nome declarado para uso no SQL (Por razões de compatibilidade com as versões anteriores, um corpo vazio é aceito como significando que o nome da função na linguagem C é o mesmo nome na linguagem SQL).

Normalmente, todas as funções internas presentes no servidor são declaradas durante a inicialização do agrupamento de bancos de dados (initdb), mas o usuário pode utilizar o comando CREATE FUNCTION para criar nomes aliases adicionais para uma função interna. As funções internas são declaradas em CREATE FUNCTION com o nome de linguagem internal. Por exemplo, para criar um aliás para a função sqrt:

CREATE FUNCTION raiz_quadrada(double precision) RETURNS double precision
    AS 'dsqrt'
    LANGUAGE internal
    STRICT;

SELECT raiz_quadrada(9.61);

 raiz_quadrada
---------------
           3.1
(1 linha)

(A maioria das funções internas esperam ser declaradas como "strict")

Nota: Nem todas as funções "pré-definidas" são "internas" no sentido acima. Algumas funções pré-definidas são escritas em SQL.

SourceForge.net Logo CSS válido!