-
Commit ohne Datensatzfreigabe
Folgende Konstellation:
Programm A läuft in benannter Aktivierungsgruppe und ruft die Prozedur P eines Serviceprogramms auf, das in Aktivierungsgruppe *CALLER läuft.
Die Prozedur macht ein Update auf einen Satz der Tabelle T und sperrt diesen richtigerweise. Dies wird auch bei den Teildateisperren des Jobs angezeigt:
DATEN *SHRUPD HELD
Programm A setzt direkt nach dem Prozeduraufrud einen sql commit ab. Nach meinem Verständnis müsste dieser den Datensatz wieder freigeben, tut er aber nicht.
sqlcod nach update und commit ist beidesmal 0.
Hat jemand eine Erklärung?
-
... Beobachtung falsch, oder Bug
zur Beobachtung: die Teildateisperre ist nicht das Kriterium für den record lock!!!
D*B
Zitat von Allrounder
Folgende Konstellation:
Programm A läuft in benannter Aktivierungsgruppe und ruft die Prozedur P eines Serviceprogramms auf, das in Aktivierungsgruppe *CALLER läuft.
Die Prozedur macht ein Update auf einen Satz der Tabelle T und sperrt diesen richtigerweise. Dies wird auch bei den Teildateisperren des Jobs angezeigt:
DATEN *SHRUPD HELD
Programm A setzt direkt nach dem Prozeduraufrud einen sql commit ab. Nach meinem Verständnis müsste dieser den Datensatz wieder freigeben, tut er aber nicht.
sqlcod nach update und commit ist beidesmal 0.
Hat jemand eine Erklärung?
-
Mit F10 auf Satzsperren umschalten, dann siehst du die Wahrheit.
-
Danke Euch!
Die Aufregung war also umsonst. Der COMMIT funktioniert erfreulicherweise wie er soll.
Ich war in der falschen Ebene unterwegs.
Die Satzsperren-Anzeige hatte mir gefehlt.
VG Allrounder
-
Nur als Hinweis, der UPDATE gibt den Satz nach dem UPDATE eigentlich wieder frei und sperrt ihn nicht.
-
... nur damit das nicht am Ende noch jemand glaubt:
bei Einsatz von Commitment Controll werden alle Satzsperren bis zum Ende der Transaktion, die mit Commit (Änderungen festschreiben) oder Rollback (Änderungen zurückfahren) beendet wird, gehalten.
D*B
Zitat von ExAzubi
Nur als Hinweis, der UPDATE gibt den Satz nach dem UPDATE eigentlich wieder frei und sperrt ihn nicht.
-
Zitat von ExAzubi
Nur als Hinweis, der UPDATE gibt den Satz nach dem UPDATE eigentlich wieder frei und sperrt ihn nicht.
Wie Dieter bereits richtiggestellt hat, ist hier der Satz nach dem Update (SQL) noch gelockt, was auch so gewollt ist. Erst der Commit hebt die Sperre auf.
Similar Threads
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 19-09-05, 22:39
-
By miro in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 15-09-05, 12:57
-
By muadeep in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 27-07-05, 17:40
-
By Jenne in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 09-09-04, 10:33
-
By Willi1 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 02-05-02, 22:54
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks