[firebase-br] Comportamento estranho no Foreing Key

Nivaldo Martins nivaldomart em gmail.com
Qui Abr 8 15:38:34 -03 2010


Olá saulo

Verifique o nível de isolamento que você está utilizando. Possa ser que a
transação aberta, embora esteja manipulando outro campo, esteja bloqueando o
registro inteiro

Em 8 de abril de 2010 15:18, Saulo Lima <saulo.analista em gmail.com> escreveu:

> Olá pessoal,
>     Imaginem uma tabela com codigo (chave primária), descricao chamada T1,
> e uma outra tabela com codigo (chave primária) e codigoT1 (código da tabela
> T1), chamada de T2, essa tabela foi criado um foreing key com a tabela T1
> através do campo codigoT1.
>     Então inseri um registro na tabela T1 com os seguintes dados: 1,
> "produto" e commit. Depois apliquei um update no campo descricao alterando
> para "prod" e deixei a transação aberta não inporta o que o update fez, o
> que interessa aqui é que eu efetuei um update na tabela sem fecha a
> transação.
>     Depois fui na tabela T2 e inseri um registro com os seguinte dados: 1,
> 1 e tentei dar um commit. Resultado, Deadlock in no wait transactio
> violation foreing key xxxx on table T2.
>     Por que isso, fiquei muito chateado com este fato por que que com
> outros bancos isso não acontece, como eu resolvo isso?
>
>     Agradeço desde já pela atenção prestada.
>
> Saulo
> ______________________________________________
> 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