public class StoreWAL extends StoreDirectAbstract implements StoreTx
StoreDirect with write ahead log
Modifier and Type | Class and Description |
---|---|
static class |
StoreWAL.Companion |
ConcurrencyAware.DefaultImpls
Modifier and Type | Field and Description |
---|---|
static StoreWAL.Companion |
Companion |
Constructor and Description |
---|
StoreWAL(java.lang.String file,
VolumeFactory volumeFactory,
long fileLockWait,
boolean isThreadSafe,
int concShift,
long allocateIncrement,
long allocateStartSize,
boolean fileDeleteAfterClose,
boolean fileDeleteAfterOpen,
boolean checksum,
boolean checksumHeader,
boolean checksumHeaderBypass)
StoreDirect with write ahead log
|
Modifier and Type | Method and Description |
---|---|
long |
allocateNewIndexPage() |
long |
allocateNewPage() |
void |
close() |
void |
commit() |
void |
compact() |
<R> boolean |
compareAndSwap(long recid,
R expectedOldRecord,
R newRecord,
Serializer<R> serializer) |
<R> void |
delete(long recid,
Serializer<R> serializer) |
boolean |
fileLoad() |
void |
freeSizeIncrement(long increment) |
<R> R |
get(long recid,
Serializer<R> serializer) |
java.lang.Iterable<java.lang.String> |
getAllFiles() |
LongIterator |
getAllRecids() |
NonExistentClass |
getAllocatedPages() |
NonExistentClass |
getCacheIndexLinks() |
NonExistentClass |
getCacheIndexVals()
modified indexVals, key is offset, value is indexValue
|
NonExistentClass |
getCacheRecords()
modified records, key is offset, value is WAL ID
|
NonExistentClass |
getCacheStacks()
stack pages, key is offset, value is content
|
byte[] |
getHeadBytes()
header is stored in-memory, so it can be rolled back
|
SingleByteArrayVol |
getHeadVol() |
long[] |
getIndexPagesBackup()
backup for
indexPages , restored on rollback |
long |
getIndexVal(long recid) |
Volume |
getRealVolume() |
Volume |
getVolume() |
WriteAheadLog |
getWal() |
boolean |
isReadOnly() |
void |
linkedRecordDelete(long indexValue,
long recid) |
byte[] |
linkedRecordGet(long indexValue,
long recid) |
long |
linkedRecordPut(byte[] output,
int size,
long recid) |
long |
longStackFindEnd(long pageOffset,
long pos) |
void |
longStackNewChunk(long masterLinkOffset,
long prevPageOffset,
long value,
long valueSize,
boolean recursive) |
void |
longStackPut(long masterLinkOffset,
long value,
boolean recursive) |
long |
longStackTake(long masterLinkOffset,
boolean recursive) |
long |
preallocate() |
<R> long |
put(R record,
Serializer<R> serializer) |
void |
rollback() |
void |
setIndexPagesBackup(long[] p)
backup for
indexPages , restored on rollback |
void |
setIndexVal(long recid,
long value) |
<R> void |
update(long recid,
R record,
Serializer<R> serializer) |
void |
verify() |
allocateData, allocateNewIndexPage, allocateNewPage, allocateRecid, assertNotClosed, calculateChecksum, calculateHeaderChecksum, checkThreadSafe, deserialize, fileHeaderCheck, fileHeaderCompose, freeSizeIncrement, getChecksum, getChecksumHeader, getChecksumHeaderBypass, getClosed, getConcShift, getDataTail, getFile, getFileDeleteAfterClose, getFileTail$module, getHeadVol, getIndexPages, getIndexVal, getLocks, getMaxRecid, getSegmentCount, getSegmentMask, getStructuralLock, getVolume, getVolumeExistsAtStart, getVolumeFactory, indexValCompose, indexValFlagArchive, indexValFlagLinked, indexValFlagUnused, isClosed, isThreadSafe, loadIndexPages, longStackMasterLinkOffset, longStackPut, longStackTake, recidToOffset, recidToSegment, releaseData, releaseRecid, serialize, setDataTail, setFileTail$module, setIndexVal, setMaxRecid, storeHeaderCompose
close, commit, compact, compareAndSwap, delete, fileLoad, isClosed, isReadOnly, preallocate, put, update, verify
get, getAllFiles, getAllRecids
verify
checkThreadSafe, isThreadSafe
public static StoreWAL.Companion Companion
public StoreWAL(java.lang.String file, VolumeFactory volumeFactory, long fileLockWait, boolean isThreadSafe, int concShift, long allocateIncrement, long allocateStartSize, boolean fileDeleteAfterClose, boolean fileDeleteAfterOpen, boolean checksum, boolean checksumHeader, boolean checksumHeaderBypass)
StoreDirect with write ahead log
public Volume getRealVolume()
public Volume getVolume()
public byte[] getHeadBytes()
header is stored in-memory, so it can be rolled back
public SingleByteArrayVol getHeadVol()
public NonExistentClass getCacheStacks()
stack pages, key is offset, value is content
public NonExistentClass getCacheIndexVals()
modified indexVals, key is offset, value is indexValue
public NonExistentClass getCacheIndexLinks()
public NonExistentClass getCacheRecords()
modified records, key is offset, value is WAL ID
public WriteAheadLog getWal()
public long[] getIndexPagesBackup()
backup for indexPages
, restored on rollback
public void setIndexPagesBackup(long[] p)
backup for indexPages
, restored on rollback
public NonExistentClass getAllocatedPages()
public boolean isReadOnly()
public long getIndexVal(long recid)
public void setIndexVal(long recid, long value)
public <R> boolean compareAndSwap(long recid, R expectedOldRecord, R newRecord, Serializer<R> serializer)
public <R> void delete(long recid, Serializer<R> serializer)
public long preallocate()
public byte[] linkedRecordGet(long indexValue, long recid)
public void linkedRecordDelete(long indexValue, long recid)
public long linkedRecordPut(byte[] output, int size, long recid)
public <R> long put(R record, Serializer<R> serializer)
public <R> void update(long recid, R record, Serializer<R> serializer)
public <R> R get(long recid, Serializer<R> serializer)
public LongIterator getAllRecids()
public void verify()
public void close()
public void rollback()
public void commit()
public void compact()
public long allocateNewPage()
public long allocateNewIndexPage()
public void freeSizeIncrement(long increment)
public void longStackPut(long masterLinkOffset, long value, boolean recursive)
public void longStackNewChunk(long masterLinkOffset, long prevPageOffset, long value, long valueSize, boolean recursive)
public long longStackTake(long masterLinkOffset, boolean recursive)
public long longStackFindEnd(long pageOffset, long pos)
public boolean fileLoad()
public java.lang.Iterable<java.lang.String> getAllFiles()