On Wed, Feb 18, 2009 at 9:57 AM, Emmanuel Lecharny <[email protected]>wrote:

> >>
> >> Clear() simply remove every entry from the
> >> server _and_ from the changeLog,
> >
> > We should also have a clear() overload that takes a revision int
> parameter
> > removing everything up to a specific revision.
>
> right now, it takes a parameter whic is a long too, so you have both
> methods : clear() and clear(long)
>

Right my bad - I meant long rather than int.

> You can do a revert(int a) followed by a clear(int a) to bring the server
> > back to state 'a' and remove any record of changes in the changelog.
>
> Better do a clear(). Unless the clear() just remove info from the
> changeLog. In my mind, clear = remove from server and changelog.
>

clear() is a method that we're considering putting into the ChangeLog
interface.  So it will not remove anything from the DIT but should remove
change events from within the ChangeLog.



>
> >> So the clear() semantic is : remove everything from server and
> >> changelog
> >
> > Just from the changelog.
>
> Doing so mean that you store reverted operation of the revert
> operation which will be removed by the subsequent clear(). A bit
> useless...
>

I don't think so. You need to log all changes otherwise you'll have
anamolies and will realize later that certain things will not be possible.
Let's not inject "on offs" into this picture.  clear should just be a simple
operation to remove all or some range of log entries.  Let's not over think
this stuff.

Alex

Reply via email to