[perl] sybase deadlocks

Pagina: 1
Acties:

  • JayTaph
  • Registratie: Oktober 1999
  • Laatst online: 28-11-2025

JayTaph

Portability is for canoes.

Topicstarter
Ik heb een perl-script dat afwisselend selects, update's en insert's doet in 1 bepaalde tabel. Nu is het probleem dat dat meestal wel goed gaat, maar af en toe zorgt dat ik in een deadlock situatie kom. Voor zover ik heb kunnen lezen, komt dat doordat de update en de select statements beide een lock op bepaalde pages zetten die op elkaar wachten.

Wat ik in principe doe is het volgende:
code:
1
2
$sth->prepare ("SELECT * FROM tabel WHERE blaat=1");
$sth->execute ();

Is het nu mogelijk om te zorgen dat de execute() blijft blocken (of eventueel een error mee te geven) op het moment dat de code niet uitgevoerd kan worden door de deadlock?


edit:

is het niet een kwesitie van een $dbh->commit() na de $sth->execute() ?

Yo dawg, I heard you like posts so I posted below your post so you can post again.


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Blijven er soms niet gecommitte updates/inserts openstaan? Deadlocks zijn niet een verschijnsel die je continue tegen zou moeten komen namelijk.

  • JayTaph
  • Registratie: Oktober 1999
  • Laatst online: 28-11-2025

JayTaph

Portability is for canoes.

Topicstarter
Dat durf ik in ieder geval niet met zekerheid te zeggen. An sich zou autocommit toch gewoon elke query meteen moeten committen of niet?

We zijn in ieder geval nu aan het testen met de extra commit-aanroep per query, plus dat we de selects en de transacties elk een aparte database-connectie hebben gegeven.. misschien dat het helpt.. :)

Yo dawg, I heard you like posts so I posted below your post so you can post again.


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
De meeste relationele database systemen hebben een systeem tabel met daarin locks. Misschien dat je daarin eens kunt kijken.