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

Sandro oleber_itajai em yahoo.com.br
Qui Nov 8 13:45:36 -03 2007


pelo q eu entendi, vai dar problema sim.. porque ele ta usando na tabela
detalhe a funcao gen_id com vlaor zero pra saber qual codigo foi adicionado
na chave primaria da tabela master. Como o generator foda fora do contexto
transacional o valor atual do generator pode ser diferente..  A não ser se
eu entendi mal a procedure dele.


----- Original Message ----- 
From: "Jose Aparecido da Silva" <joseasilva em bol.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Thursday, November 08, 2007 1:29 PM
Subject: [firebase-br] RES: RES: Em Rede sera que não da pau ?


Fique tranqüilo! Gen_id será diferente sempre! Esse valor do Generator não
depende de transação.

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Anderson Oliveira Furtilho
Enviada em: quinta-feira, 8 de novembro de 2007 10:29
Para: lista em firebase.com.br
Assunto: Re: [firebase-br] RES: Em Rede sera que não da pau ?

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


		
_______________________________________________________ 
Yahoo! Mail - Sempre a melhor opção para você! 
Experimente já e veja as novidades. 
http://br.yahoo.com/mailbeta/tudonovo/





Mais detalhes sobre a lista de discussão lista