Em 28 de junho de 2017 22:57, Ronaldo Bernardes Pereira <
ronaldobernar...@gmail.com> escreveu:

> --===========   Como acredito que você irá resolver seu problema, seque
> considerações
>
> O problema encontrado é que o PostgreSQL fez um CAST da coluna (gn)
> (Filter: ((gn)::text = '9000000'::text)) para atender o tipo de argumento
> da FUNCTION que era do tipo text e no caso a coluna que ele comparava era
> do tipo char. Como o tamanho do campo tipo text pode ser muito maior do que
> um campo tipo char,  houve então o CAST implícito pelo PostgreSQL e com
> isso única alternativa que ele tinha nesse caso era fazer um seq scan, pois
> o índice não atendia para esse caso.
>
> --=========== -->> Sugestões:
>
> 1 - Qual o tipo da coluna nfce_chave_acesso_fk e chave_acesso para
> entender melhor o problema?
>

Ambas são VARCHAR(44), esta é a chave de acesso de uma Nota Fiscal
Eletrônica (NFe e NFCe).


> 2 - Colocar o tipo do argumento da FUNCTION com o mesmo tipo da coluna,
> para não ocorrer CAST implícito das colunas nfce_chave_acesso_fk ou
> chave_acesso
>

Vamos fazer esta alteração, a procedure "sp_importa_xml_nfce" é nova e
ainda não está em produção.


> 3 - Caso não tenha como mudar (...)
> 4 - Executar e nos passar o resultado
>

Sim, testei aqui na "sp_teste" e funcionou. Muito obrigado! Em breve vamos
retomar o desenvolvimento do aplicativo Golang que consome a
"sp_importa_xml_nfce" e poderemos dar um retorno mais preciso.

-- 
Atenciosamente,
Alexsander da Rosa
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a