[firebase-br] RES: Firebird 4.0 - Erro no comando sql utilizando somatória "SUM"

Odir Rodrigues de Oliveira odir em clippnet.com.br
Segunda Julho 25 09:15:29 -03 2022


Conseguimos descobrir que existe um "bug" na versão 4.0 do Firebird, não é
possível usar o comando sql de somatória "sum" sem utilizar o CAST para
especificar o tipo de dados, o que, não é obrigatório nas versões anteriores
do Firebird e nem em outros bancos de dados.
Desta forma se for usado o comando SELECT SUM(VALOR) FROM TABELA vai dar
erro no Firebird 4.0, só funciona assim:  SELECT SUM(cast(VALOR as numeric))
FROM TABELA.

O problema é que temos cerca de 2.000 programas em nosso sistema, é um
trabalho insano verificar todos que usam o comando de somatória, se alguém
souber de outra solução mais prática favor avisar.

Grato.

Odir Rodrigues de Oliveira
Clipp-net Informática
Fone: +55 16 3307-7369
Cel: +55 16 98137-2103
Site: www.clippnet.com.br

-----Mensagem original-----
De: lista <lista-bounces em firebase.com.br> Em nome de Odir Rodrigues de
Oliveira via lista
Enviada em: sexta-feira, 22 de julho de 2022 16:29
Para: 'FireBase' <lista em firebase.com.br>; 'Carlos H. Cantu'
<listas em warmboot.com.br>
Cc: Odir Rodrigues de Oliveira <odir em clippnet.com.br>
Assunto: [firebase-br] Firebird 4.0 - Erro no comando sql CASE WHEN

Estamos fazendo os primeiros testes no Firebird 4.0 e ao executar o comando
sql abaixo que utilizamos normalmente na versão 2.5 e 3.0.7, está retornando
o seguinte erro no nosso programa:
 [ODBC Firebird Driver]not yet implemented

Executando o mesmo comando sql no IbExpert retorna:
An error was found in the application program input parameters for the SQL
statement.
Incorrect values within SQLDA structure.
----------------------------------------------------------------------------
---------
SQLCODE: -804
SQLSTATE: HY000
GDSCODE: 335544713

Comando SQL:
select sum(case when EntradaSaida='E' THEN QUANTIDADE else -QUANTIDADE end)
as mSaldo from CE_Movimento where Empresa=1 and Filial=1 and Produto='1' and
DEPOSITO=1 and DataMovimento<='07/22/2022'

Alguém saberia informar o que pode ser este problema?

Odir Rodrigues de Oliveira
Clipp-net Informática
Fone: +55 16 3307-7369
Cel: +55 16 98137-2103
Site: www.clippnet.com.br


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas:
http://www.firebase.com.br/pesquisa_lista.html




Mais detalhes sobre a lista de discussão lista