[firebase-br] Falha do FB ou erro de lógica do programador?

Herminio E. Piram herminiopiram em gmail.com
Qui Fev 7 08:09:12 -03 2013


Bom dia.

Debugando a procIDTeste e utilizando F7 para entrar na getGenIDTeste
ele le o generator uma vez (retorna 1) ao voltar para a procedure
procIDTeste
ele le o generator novamente retornando 2.

Fiz o teste acompanhando o valor do generator a cada passo do debug,
abri outro ibExpert, verifiquei o valor do generator antes do debug (0),
ao entrar no getGenIDTeste com F7, apos passar pela função gen_id()
conferi o valor do generator novamente (1), ao sair do getGenIdTeste
e retornar ao procIDTeste verifiquei novamente o valor do generator (2).

Ao trabalhar diretamento com a procIDTeste os valores retornados estão OK,
o problema fica no debug.


Em 6 de fevereiro de 2013 09:48, Herminio E. Piram
<herminiopiram em gmail.com>escreveu:

> Bom dia.
>
> Tenho um procedimento no banco que executa uma regra
> parecida com esta, são passados alguns parâmetros a mais,
> mas o valor do generator não bate, então montei a mesma ideia
> em uma estrutura mais simples e obtive o mesmo problema.
>
> Estou utilizando FB 2.5.2 e IBExpert 2012.02.21.
>
> create generator gen_IdTeste
>
> set generator gen_IDTeste to 0
>
> create or alter procedure getGenIDTeste returns (idTeste integer) as
> begin
>   idTeste = gen_id(gen_IDTeste,1);
>
>   suspend;
> end
>
> create or alter procedure procIDTeste as
> declare variable vIdTeste integer;
> begin
>   execute procedure getGenIDTeste returning_values vIdTeste;
> end;
>
> debugar procedure procIDTeste, qdo passar pela linha "execute
> procedure getGenIDTeste" utilize F7 para entrar na "subProcedure"
> getGenIDTeste, verá que o valor do generator retorna 1, mas ao
> retornar ao procIDTeste o valor da variável vIDTeste está 2.
>
> A quem puder ajudar, muito obrigado.
>
> --
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _ _ _ _ _
>
> "If the doors of perception were cleansed everything
>  would appear to man as it is, infinite." (William Blake)
>  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _ _ _ _ _
>



-- 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _

"If the doors of perception were cleansed everything
 would appear to man as it is, infinite." (William Blake)
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _



Mais detalhes sobre a lista de discussão lista