[firebase-br] Isso já ocorreu com mais alguém?

Gladiston Santana gladiston em vidy.com.br
Qui Mar 3 10:54:20 -03 2016


Estava observando um calculo duma procedure que resultava no valor R$
2.000,05 e fazia um insert para uma tabela.
Mas quando dava um select na tabela, o resultado era quase o mesmo com
diferença de 3 centavos.

todos os tipos envolvidos, incluindo o da tabela que receberia o valor era
numeric(18,2) para simular o tipo money de outros RDBMS.

Eu arranquei os meus fios de cabelo e não entendi a questão, dropei o campo
e inclui de novo, e o valor começou a ser gravado certo.

Nem acreditei então dropei o database de novo, recriei tudo de novo, e
repeti a operação, mas dessa vez ao invés de dropar o campo criei outro de
mesmo tipo e mudei a procedure para gravar nos dois campos e esperava que
nos dois o valor fosse errado ou um certo e o outro errado, mas nunca os
dois e foi isso que aconteceu. Gravava o valor errado, mas foi só inserir
mais um campo
na tabela e o valor passou a ser gravado certo nos dois campos.

Estou nesse momento questionando se numeric(18,2) tá adequado para o tipo
money.
Até considerei usar decimal, mas pelo que sei, não tem diferença entre os
dois.

Mas eu já usei tanto numeric(18,2) e isso nunca aconteceu, tanto é que ele
é um DOMAIN de tanto que o repito em meus sistemas.

Então eu pergunto aos colegas se uma situação estranha assim já ocorreu com
vocês.



Mais detalhes sobre a lista de discussão lista