Em Qui, 2015-04-16 às 16:15 -0300, Rafael Fialho escreveu:
> Em 16 de abril de 2015 16:06, Matheus Saraiva
> <[email protected]> escreveu:
>         Ao chamar uma função que criei, estou sendo obrigado a usar
>         cast
>         explicito nos parâmetros. Por exemplo, em uma função que
>         espera receber
>         (varchar, integer, smallint, bigint, date) eu estou sendo
>         obrigado a
>         castar o tipo na chamada da função. Exemplo
>         
>         select funcTeste('Teste'::varchar, 1, 3::smallint, 10::bigint,
>         NULL::date);
>         
>         Caso contrario os parâmetros não são reconhecidos. Alguma
>         maneira de
>         mudar isso?
> 
> 
> Pode informar o erro retornado sem os casts, por gentileza? Quando
> ocorre o erro, o Postgres informa qual a função que não conseguiu
> localizar, informando os tipos que espera localizar a função.
> O problema provavelmente ocorre porque números soltos (normalmente)
> são tratados como integer, a não ser que excedam a capacidade de
> valores integer, neste caso são tratados como bigint. Sendo assim, o
> problema é causado pelos parâmetros smallint e bigint.
> 
> 
> O erro deve ser que não conseguiu localizar uma função
> funcTeste(unknown, integer, integer, integer, unknown), ou algo assim.
> Se for isso, poderias fazer um override "..integer, integer,
> integer.." que chame a função com os casts, caso contrário, creio que
> seja um erro da aplicação não tratar e não realizar os casts, pois é a
> forma que assegura que a função correta está sendo chamada.

É exatamente esse o erro,


ERROR:  function operacional.funcInsertCircuitos(unknown, unknown, integer, 
integer, integer, integer) does not exist
            LINE 1: select operacional."funcInsertCircuitos"('BRA-9999-SC_h2', 
n...
                           ^
            HINT:  No function matches the given name and argument types. You 
might need to add explicit type casts.
> 

Como seria o override?

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a