-
Hallo harkne.
Du hast das Problem meiner Ansicht nach vollkommen richtig erkannt. Ich habe mich auch schon oft über das Verhalten von READE geändert. Aus meiner Sicht ist das ein Designfehler von IBM. RPG sperrt den nächsten Datensatz nämlich, bevor es den Schlüssel vergleicht. Ich meine dieses Verhalten auch schon mal vor Jahren mit der IBM-Hotline besprochen zu haben. Die haben gesagt, dass das Verhalten im Handbuch beschrieben ist. Und das es damit OK ist. Ich glaube, dass sich IBM die Implementierung nur sehr einfach gemacht hat. Die hatten zuerst den read und haben später den reade gebaut. Da haben sie einfach den read verwendet und danach geprüft, ob der Schlüssel noch passt. Auf die Idee, dass man den nächsten Satz erstmal nicht sperren sollte, weil man den Schlüssel vielleicht gar nicht haben will, sind die IBM-Entwickler damals wohl nicht gekommen.
Wir haben in unserer Anwendung inzwischen (hoffentlich) alle Programmstellen korrigiert, die bei reade bzw. readpe Probleme machen. Es ist genauso, wie du es schilderst: Der kurze Moment, in dem der reade den Satz lockt, ist unkritisch. Das Problem tritt auf, wenn jemand anders des Satz länger sperrt und der reade deswegen nicht weiterkommt. Man kann den Usern das Problem auch kaum erklären, weil der sperrende User meistens gar nichts mit dem Vorgang zu tun hat, den man mit reade lesen will.
Ich halte es auch für keine Lösung, den reade mit einer Monitor-Group oder Bezugszahl abzufangen. Bei einer Satzwartezeit von 30 Sekunden wartet die Schleife ja ewig, bis der Fehler erkannt wird. Und einen OVRDBF zur Änderung der Satzwartezeit finde ich auch nicht sehr elegant.
Wir haben alle Stellen so geändert, dass wir einen reade immer mit nolock durchführen. Also reade(n). Wenn das gut gegangen ist, sperren wir den Satz mit einem zusätzlichen Chain, der dann den kompletten unique Schlüssel nutzt.
In neuen Programmen nutzen wir reade gar nicht mehr. Da nutzen wir embedded sql.
Dieter
Similar Threads
-
By Robi in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 06-04-16, 16:04
-
By dibe in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 18-03-15, 13:19
-
By KingofKning in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 30-12-14, 19:53
-
By Peet in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 29-10-14, 08:05
-
By Wirnitzer in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 07-08-01, 19:59
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