[firebase-br] RES: Em Rede sera que não da pau ?

Magno System magno em speet.com.br
Qui Nov 8 15:15:10 -03 2007


Só complementando nem que a transação fique aberta por dois meses (o que não 
é aconselhável), mesmo assim não existe chance de repetição, uma vez que o 
incremento do generator independe da transação

EMPRESA: Marcelo Guimarães Nogueira
NOME FANTASIA: Magno System
ENDEREÇO: Rua Oliveira Leite, 66 - Centro - Passa Quatro - MG
EMAIL: magno em speet.com.br
CNPJ: 07.693.076/0001-99

Marcelo Guimarães Nogueira
Magno System (Empresa Desenvolvedora de Software)
----- Original Message ----- 
From: "Michel Mônaco" <michel.monaco em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, November 08, 2007 12:26 PM
Subject: Re: [firebase-br]RES: Em Rede sera que não da pau ?


Não a GEN_ID é do banco , não da instância da aplicação ! nunca se repete,
basta gerar num transação rápida. Em nível físico fundamental, todo acesso a
disco é escalonado para ocorrer seqüencialmente, por mais rápido que seja o
sistema.

Em 08/11/07, Anderson Oliveira Furtilho <andersonfurtilho em gmail.com>
escreveu:
>
> Mas tipo, eu estou na minha maquina...
> Ai rodo a procedure
>
> Ele da insert na master e começa a inserir na detalhe pegando o gen_id
> atual
> da master.
>
> E se no mesmo momento outra pessoa rodou a procedure tb, o gen_id dela na
> vai ser usado no meu processamento.
>
> Resumo:
>
> Minha máquina
> Rodo a procedure e o id da master é 1;
> ai ele vai inserir nas detalhes e eu pego o id  da master 1 e começo a
> gravar nos detalhes.
>
> Na outra máquina o cara rodou a procedure ao mesmo tempo
> Na maquina dele o id da master é 2;
> ai ele vai inserir nas detalhes, mas como eu estou usando na procedure o
> gen_id(meu_generator,0).
>
>
> Ai vem a duvida
>
> quando rodo na procedure o gen_id(meu_generator,0) ele vai pegar o gen
> atual
> no caso 2 ou vai pegar o 1 nas máquinas,
> pois se ele pegar o ultimo ai ta furado.
>
> Pois foram duas máquinas diferentes que rodaram a procedure ao mesmo
> tempo.
>
>
> No Postgresql eu abro uma seção na procedure, então se eu rodar esta
> procedure em 10 maquinas ao mesmo tempo os ids gerados são os da seção
> aberta de cada procedure, não vai acontecer nunca de pegar o id de outra
> maquina que estao rodando a procedure ao mesmo tempo.
>
>
> Obrigados amigos pela dica
>
>
>
> ".:: Eder Sousa ::." <edersousa em gmail.com>
> escreveu na mensagem
> news:LCEFKBKLDGFJIAOOEFJMKEBCCLAA.edersousa em gmail.com...
> Eu acredito que não dê erro porque senão me engano o Firebird pega o ID
> (no
> caso se você definiu anteriormente) na hora de Gravação do Registro?
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


-- 
Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.5.503 / Virus Database: 269.15.16/1102 - Release Date: 31/10/2007 
16:38






Mais detalhes sobre a lista de discussão lista