Jump to content


Mai16

Member Since 07/04/2008
Offline Last Active 08/07/2010, 19:11
-----

Topics I've Started

Md5(Int) Não Funciona

08/07/2010, 17:07

Olá Pessoal,

estou precisando muito ajuda de vocês!

estou migrando um banco de dados da versão 7.4 para a 8.4 e tem um problema que está me tirando o sono.

instalei a versão 8.4 configurei deixa toda pronta para armazenar o banco, migrei a tudo, ate ai tudo bonitinho, mas ao começar os testes com o sistema apareceu o erro:
Função md5(intiger) não existe.
como assim nao existe se no outro banco isso funcionava?

alguém sabe o que tenho que fazer para a md5 aceitar inteiros?

a propósito sei que posso fazer isso: select md5('1'); e isso: select md5( cast(1 as text) ); mas no meu caso nenhum dos dois resolve.
preciso que isso funcione: select md5(1);

vlw!

Achei uma forma de resolver o problema:

CREATE OR REPLACE FUNCTION md5(bigint)
RETURNS TEXT AS
$BODY$
DECLARE
n ALIAS FOR $1;
BEGIN
RETURN md5(CAST(n AS TEXT));
END;
$BODY$
LANGUAGE 'plpgsql';

Criando essa função em template1, todo banco novo herda.

=D

Alguém conhece uma forma melhor?

IPB Skin By Virteq