public class HistoryChangeRecord extends ChangeRecord
COMPARATOR
Constructor and Description |
---|
HistoryChangeRecord(IChangeRecord changeRecord,
long revisionTime) |
HistoryChangeRecord(ISPO stmt,
ChangeAction action,
long revisionTime) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
long |
getRevisionTime()
The revision time is
lastCommitTime+1 . |
String |
toString() |
getChangeAction, getStatement, hashCode
public HistoryChangeRecord(ISPO stmt, ChangeAction action, long revisionTime)
public HistoryChangeRecord(IChangeRecord changeRecord, long revisionTime)
public long getRevisionTime()
lastCommitTime+1
.
TODO The revision time for the entries in the history index is currently
lastCommitTime+1
, but this needs to be thought through some
more and various use cases considered.
The issue with revision time is that we have to record things in the history index incrementally, so it can not be a commit time because we do not have that yet. lastCommitTime+1 will always be strictly greater than the previous commit point. When you scan the history index, you can then use fromKey=firstCommitTime to visit (or null for the head of the index). toKey=firstCommitTime to be excluded (or null for the tail of the index). That all has semantics that are pretty much what people would expect for the scan. However, the reported revision times are not going to correspond directly to the commit points.
When reporting this data, we could resolve (and cache) the first commit time greater than that commit point, but only if we still have access to that commit point (the resolution would be against the commit record index, and commit points are pruned from that index when they are recycled).
public String toString()
toString
in class ChangeRecord
public boolean equals(Object o)
equals
in class ChangeRecord
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.