Domino 9 und frühere Versionen > ND8: Entwicklung

Item Sequence Number unterschiedlich trotz gleicher Anzahl Updates?

(1/2) > >>

thkn777:
Hallo zusammen,
ich steh' grad auf dem Schlauch, seh' den Wald vor lauter Bäumen nicht oder etwas in der Art. Ich habe hier einen zyklisch laufenden Agenten. Dieser erstellt bzw. modifiziert in den Notes-Dokumenten, die er bearbeitet, drei Items:

DATETIME
HISTORY
MODIFYCOUNT

Ich habe mir nun die bearbeiteten Dokumente angesehen. Aktuell steht bei allen MODIFYCOUNT auf 225, d.h. der Agent hat zuerst eine 1 da reingeschrieben, dann hübsch +1 gerechnet in jedem Lauf. Also je Lauf alten Wert aus dem Dokument gelesen, +1 gerechnet, Wert zurückgeschrieben. Soweit, so gut.

Die Sequence Number des Items MODIFYCOUNT unterscheidet sich GEWALTIG von Dokument zu Dokument: 23 ... 246.

Fragen:
- Wie kann die Sequence Number von einem Item, auf das 225 Updates gemacht wurden, HÖHER sein als 225?
- und woher kommen *hust* 23?

Achja: Außer diesem Agenten greift niemand auf diese Items schreibend zu. Die DB gibt's einmal auf einem Server, keine Replikation, kein gar nichts.

Daß sich die Sequence Numbers der Items im selben Dokument unterscheiden, ist noch so ein Ding. Aber da denke ich erst mal alleine drüber nach.

Habt Ihr Ideen für mich? Ich dachte immer: Änderung --> Sequence Number wird erhöht. Blauäugig von mir, ja?  ::) :-[

it898ur:
Hallo,

zumindest die höheren Werte kann ich erklären. Bei einer Änderung wird immer die Sequenz-Number des Dokumentes in das zuletzt geänderte Feld geschrieben. Dadurch führen Änderungen in anderen Feldern zu "Sprüngen" in den Nummern.

Gruß

André

Driri:
Alle jemals vom bearbeiteten Dokumente haben einen identischen Wert im Item Modifycount ? Heißt das denn dann auch, daß der Agent tatsächlich bei jedem Lauf alle diese Dokumente bearbeitet ?

Ich frage mich bei der Beschreibung nur, ob da nicht ein Fehler im Agenten ist, so daß immer der identische Wert gesetzt wird.

thkn777:

--- Zitat von: it898ur am 29.07.15 - 14:30:30 ---Hallo,

zumindest die höheren Werte kann ich erklären. Bei einer Änderung wird immer die Sequenz-Number des Dokumentes in das zuletzt geänderte Feld geschrieben. Dadurch führen Änderungen in anderen Feldern zu "Sprüngen" in den Nummern.

Gruß

André

--- Ende Zitat ---

Hm, paßt nicht zu meinen Erfahrungen. Bsp. doc.SN=267 (also dezimal 615), item.SN=103, MODIFY_COUNT=264

Oder gucke ich falsch?

thkn777:

--- Zitat von: Driri am 29.07.15 - 14:51:30 ---Alle jemals vom bearbeiteten Dokumente haben einen identischen Wert im Item Modifycount ? Heißt das denn dann auch, daß der Agent tatsächlich bei jedem Lauf alle diese Dokumente bearbeitet ?
--- Ende Zitat ---

Tut er... es sei denn, ich würge ihn bewußt zwischendurch ab  ;)


--- Zitat ---Ich frage mich bei der Beschreibung nur, ob da nicht ein Fehler im Agenten ist, so daß immer der identische Wert gesetzt wird.

--- Ende Zitat ---

Gute Vermutung! Aber ich bin ja mißtrauisch, schreibe mehr als ein Item, guck mal:


--- Code: --- If doc.HasItem("CLOI_HISTORY") Then
doc.CLOI_HISTORY = doc.CLOI_HISTORY(0) & "; " & Str$(Now())
Else
doc.CLOI_HISTORY = Str$(Now())
End If
If doc.HasItem("CLOI_MODIFYCOUNT") Then
doc.CLOI_MODIFYCOUNT = doc.CLOI_MODIFYCOUNT(0) + 1
Else
doc.CLOI_MODIFYCOUNT = 1
End If
--- Ende Code ---

Wenn ich in CLOI_HISTORY reinschaue, sieht der Wert so aus: "28.07.2015 13:02:31; 28.07.2015 13:08:56; .... 29.07.2015 15:16:37; 29.07.2015 15:21:50; 29.07.2015 15:27:20". Je Eintrag 21 Zeichen inkl. Trennzeichen "; " (siehe Code Schnipsel). Nur der letzte Eintrag hat keinen Trenner.

CLOI_HISTORY ist 5542 Bytes lang und hat eine Sequence Number = 103. 5542+2=5544 (ein zusätzliches Trennzeichen "simulieren". 5544/21=264. Sprich: 264 aneinandergehängte Zeitstempel.

CLOI_MODIFYCOUNT hat eine Sequence Number = 103 und den Wert 264.

 :-:

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln