Das von dir eingesetzte Verfahren hat einige erhebliche Vorzüge (du packst kein neues Feld in jedes Dokument), aber auch ein paar ganz erhebliche Nachteile:
- du mußt ziemlich blind entscheiden, ob du x Dokumente löschen willst (das kann man verbessern, indem man die Dokumente in einen Ordner verschiebt).
- du mußt dein INITIALIZE jedes Mal auf ein Datum neu festlegen
- es funktioniert nur gut, wenn zum Unglückszeitpunkt keine anderen Aktivitäten in der DB stattfanden
Insofern finde ich deine Lösung eine ganz hervorragende zweitbeste Lösung. Die beste Lösung ist von geradezu unschlagbarer Einfachheit.
Notes vergibt beim Einfügen eines neuen Dokuments in eine Replik eine Note-ID, und diese Note-ID ist immer um genau 4 Zähler höher als die zuletzt vergebene Note-ID.
Wenn man sich eine Ansicht baut, die die Note-ID und das @Created nebeneinanderstellt, kann man mit einem Agenten periodisch daran entlang laufen und sehen, ob die neuen Note-IDs und das CREATED-Datum zusammenpassen. Wenn nicht, handelt es sich höchstwahrscheinlich um Replizierschrott. In manchen Fällen können Dokumente, die per Cut&Paste eingefügt wurden, diese Ordnung stören (dann ist deine Lösung doch wieder die Beste, das muß man von Fall zu Fall entscheiden)
Auf diese Idee brachte mich ein Kollege, der über einem solchen Problem schon einmal schwer gebrütet hat und dem ich (da ich von seinem ehemaligen Problem gewußt habe) den Code des API-PGMs zugesendet hatte.
Gruß
Norbert aus Hanau