Re: Trigger und Funktion

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: pgsql-de-allgemein(at)postgresql(dot)org
Cc: Andreas Seltenreich <andreas+pg(at)gate450(dot)dyndns(dot)org>, Bernd Helmle <mailings(at)oopsware(dot)de>
Subject: Re: Trigger und Funktion
Date: 2007-03-09 08:45:25
Message-ID: 200703090945.26244.peter_e@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Am Donnerstag, 8. März 2007 15:23 schrieb Andreas Seltenreich:
> Ich sehe im Moment nicht einmal, wie hier non-repeatable- oder
> phantom-reads zu inkonsistenten Daten führen könnten, da durch den
> Trigger garantiert wird, daß für nebenläufig committete Tupel
> ebenfalls sum(amount) = 0 gilt, und sie somit keinen Einfluß auf das
> Ergebnis der Konsistenzbedingung im Trigger einer zu committenden
> Transaktion haben können.

Es kann sein, dass man in diesem konkreten Fall in der Tat ohne auskommt, da
die Integritätsbedingung der Gesamttabelle (sum = 0) durch die
Integritätsbedingung einer Transaktion (sum = 0) erhalten wird. Zumindest
könnte man mit Aussicht auf Erfolg versuchen, das zu beweisen.

Das Gegenbeispiel wäre, wenn die Gesamtbedingung für die Tabelle sum > 0 wäre
und keine Bedingung an die Transaktion gestellt wird (weil zum Beispiel
Umbuchen durchgeführt werden können). Dann kommt man ohne Locks nicht aus.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Alvar Freude 2007-03-11 16:49:29 Re: Trigger und Funktion
Previous Message Andreas Kretschmer 2007-03-08 15:21:10 Re: Trigger und Funktion