Problemas de cast na versão Pg8.4

16/08/2011

0

Galera,

Estou junto a um analista de minha empresa migrando o sistema da versão 8.1 para a versão 8.4 do postgre.
Ao iniciar os testes de compatibilidade, começamos a ter problemas com o cast, ja que na versão anterior era implicito.
Não consigo realizar operações do tipo:

SELECT 'valor = '::text||123::integer


Alguem saberia como posso resolver esse problema?

Desde já agradeço a ajuda.

Kim Tolentino

Kim Tolentino

Responder

Posts

17/08/2011

Anthony Accioly

Kim,

Teve um entusiasta que criou um script para ajudar com o cenário de migração.
http://petereisentraut.blogspot.com/2008/03/readding-implicit-casts-in-postgresql.html
No médio prazo porém, a solução é parar de depender desses casts implícitos. Use a função CAST ao invés disso. Exemplo:

SELECT CAST('valor = ' AS TEXT)||CAST(123 as INTEGER)


Veja que, nesse caso específico o resultado é o mesmo do que rodar simplesmente
SELECT  'valor = '||123

 Uma vez que há um CAST implícito para o tipo TEXT.

Dependendo do tamanho da sua aplicação, eu sou a favor de tratar as consultas / procedures ao invés de tentar o script workaround.

Abraços,
Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar