[firebase-br] SP travando

Magno System magno em speet.com.br
Seg Set 22 15:56:32 -03 2008


Eu se fosse você pegaria o VALOR do CURRENT_TIMESTAMP inteiro, adicionaria 
os segundos desejados e faria o loop com o current_timestamp completo, não 
só os segundos.


----- Original Message ----- 
From: "Kelver Merlotti" <kmerlotti em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, September 22, 2008 3:52 PM
Subject: Re: [firebase-br] SP travando


boa Magno.. meu while:

 WHILE (ENDTIME < TMP) DO
   ENDTIME = EXTRACT(SECOND FROM CURRENT_TIMESTAMP);

nunca vai fazer com que o ENDTIME fique maior que o TMP se ela for
chamada no final de um minuto..

vou fazer uns testes aqui..
Abraços!

2008/9/22 Magno System <magno em speet.com.br>:
> Vou dar um chute. Se você der um sleep(5000) às 12:45:57, como você extrai
> somente os segundos, ele vai extrair o 57 e somar com 5 que resultará em 
> 62.
> Desta forma, você caíra num loop infinito, pois você só consegue extrair
> entre 0 e 59 segundos.
>
> Como você extrai só o segundo
> ----- Original Message -----
> From: "Kelver Merlotti" <kmerlotti em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, September 22, 2008 3:20 PM
> Subject: [firebase-br] SP travando
>
>
> Fala galera, boa tarde!
>
> Procurei na net e não achei nenhuma SP pra executar um "sleep" no
> banco (tipo o do delphi mesmo)..
>
> Daí resolvi montar minha própria procedure Sleep.. MAS, há algo de
> errado no paraíso.. se depuro ela pelo IBExpert, funfa normalz.. mas
> quando dou o "select * from myslee(2000)" o FB vai a 100% de uso da
> sua CPU e nunca mais retorna!!
>
> Alguém tem alguma idéia? Segue abaixo o código da SP:
>
> ALTER PROCEDURE MYSLEEP (
>    ms integer)
> returns (
>    endtime numeric(6,3))
> as
> declare variable tmp numeric(6,3);
> begin
>  SELECT EXTRACT(SECOND FROM CURRENT_TIMESTAMP)
>    FROM RDB$DATABASE INTO :TMP;
>
>  ENDTIME = TMP;
>  TMP = TMP + (MS / 1000);
>
>  WHILE (ENDTIME < TMP) DO
>    SELECT EXTRACT(SECOND FROM CURRENT_TIMESTAMP)
>      FROM RDB$DATABASE INTO :ENDTIME;
>
>  SUSPEND;
> end
>
> Desde já, obrigado e abraço!!
>
> --
> Kelver Merlotti
> Coordenador Editorial do Portal www.ActiveDelphi.com.br
> Contato: kelver em activedelphi.com.br
> Google: kmerlotti em gmail.com
> Msn: kmerlotti em hotmail.com
> Tem 1 minutinho? Então dá uma olhadinha nisso:
> Um site de publicidades, de Portugal, está pagando em euros (quase 3x
> mais que em reais) pra quem estiver disposto a:
>  * Ler anúncios
>  * Visitar sites
>  * Clicar em banners
>  * Navegar na NET
>  * Ler e-mails
>  * Convidar novos usuários
> O pagamento é feito em cheque! Registra lá!! Não custa nada! ;-)
> http://www.publipt.com/pages/index.php?refid=kmerlotti
>
> ______________________________________________
> 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://firebase.com.br/pesquisa
>
>
> ______________________________________________
> 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://firebase.com.br/pesquisa
>



-- 
Kelver Merlotti
Coordenador Editorial do Portal www.ActiveDelphi.com.br
Contato: kelver em activedelphi.com.br
Google: kmerlotti em gmail.com
Msn: kmerlotti em hotmail.com

______________________________________________
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://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista