[firebase-br] Lockwait como usar

Gladiston Santana gladiston em vidy.com.br
Qua Set 12 10:55:29 -03 2018


Olá colega.
Complementando ao que o Carlos disse, você precisa entender como você quer
que seu programa funcione e então acionar o modelo de transação mais
adequado.
Por exemplo, se eu estou vendendo passagens de ônibus e abro um cumpom de
venda e tô preenchendo uma venda da poltrona 7, seria inconcebivel outro
vendedor que é mais rapido na digitação, selecionar a poltrona 7 e vende-la
primeiro que eu. Nesse cenário seria preferivel que o segundo vendedor no
simples gesto de tentar vendar a poltrona 7 tomasse um belo de um dead lock
antes de abrir o formulário de venda. Mas um cenário diferente como o de
atualização cadastral, isso não seria importante, quem preenchesse por
ultimo é o que ficaria valendo. Esses tipos de cenários são chamados de
"tipo de isolamento" e está presente no componente de transação.
Você tem um componente de transação para colocar no seu formulario, e
formulários diferentes podem ter cenários ou tipo de isolamento diferentes,
mas se um programa por inteiro usará o mesmo cenário, você pode suprimir
este tipo de componente e assinalar o tipo de isolamento/transação direto
no componente de conexão.
Depois de entender o uso desse tipo de componente, você não terá mais
problemas, quero dizer, você não verá um deadlock como um problema, mas um
requisito necessário para usar aquela parte do programa.
Um problema de iniciantes com o IBO é que ele tem ajustes automaticos
transacionais, você não informa o tipo de isolamento e tantos outros
parametros e a inteligência do Jason assumirá uma série de coisas para
você, mas não é bom que os isolamentos sejam determinados por terceiros,
você deve defini-los.

G.

Em 12 de setembro de 2018 09:12, rodrigo <firebase em dominioinf.com.br>
escreveu:

> Bom dia,
>
> Estou com vários problemas de deadlock em meus sistemas, e estou tentando
> fazer algo para diminuir esse problema.
>
> Já segui uma dica para colocar um transaction para ler e um para gravar,
> mas o problema aumentou mais ainda.
>
> Entao estou ativando o modo LockWait para true e lockwaittimeout para 5000.
>
> Essas configurações estão corretas? Será que isso vai me ajudar ou poderá
> me ocasionar mais problemas?
>
> Utilizo IBO e os componentes da palheta IBODataset
>
> Grato pelas opiniões.
>
>
>
>



Mais detalhes sobre a lista de discussão lista