Class Store
java.lang.Object
org.h2.mvstore.db.Store
A store with open tables.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate final Stringprivate final MVStoreThe store.private longprivate final ConcurrentHashMap<String, MVTable> The map of open tables.private intprivate final TransactionStoreThe transaction store. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose(int allowedCompactionTime) Close the store.voidClose the store, without persisting changes.voidcompactFile(int maxCompactTime) Compact the database file, that is, compact blocks that have a low fill rate, and move chunks next to each other.(package private) DbExceptionConvert a MVStoreException to the similar exception used for the table/sql layers.createTable(CreateTableData data) Create a table.(package private) static char[]decodePassword(byte[] key) Convert password from byte[] to char[].voidflush()Store all pending changes.Get MVTable by table name.Get the name of the next available temporary map.voidprepareCommit(SessionLocal session, String transactionName) Prepare a transaction.voidremoveTable(MVTable table) Remove a table.voidremoveTemporaryMaps(BitSet objectIds) Remove all temporary maps.voidsetCacheSize(int kb) Set the maximum memory to be used by the cache.Stop collecting statistics.voidStart collecting statistics.voidsync()Force the changes to disk.
-
Field Details
-
tableMap
The map of open tables. Key: the map name, value: the table. -
mvStore
The store. -
transactionStore
The transaction store. -
statisticsStart
private long statisticsStart -
temporaryMapId
private int temporaryMapId -
encrypted
private final boolean encrypted -
fileName
-
-
Constructor Details
-
Store
-
-
Method Details
-
decodePassword
static char[] decodePassword(byte[] key) Convert password from byte[] to char[].- Parameters:
key- password as byte[]- Returns:
- password as char[].
-
convertMVStoreException
Convert a MVStoreException to the similar exception used for the table/sql layers.- Parameters:
e- the illegal state exception- Returns:
- the database exception
-
getMvStore
-
getTransactionStore
-
getTable
-
createTable
Create a table.- Parameters:
data- CreateTableData- Returns:
- table created
-
removeTable
-
flush
public void flush()Store all pending changes. -
closeImmediately
public void closeImmediately()Close the store, without persisting changes. -
removeTemporaryMaps
Remove all temporary maps.- Parameters:
objectIds- the ids of the objects to keep
-
nextTemporaryMapName
Get the name of the next available temporary map.- Returns:
- the map name
-
prepareCommit
Prepare a transaction.- Parameters:
session- the sessiontransactionName- the transaction name (may be null)
-
getInDoubtTransactions
-
setCacheSize
public void setCacheSize(int kb) Set the maximum memory to be used by the cache.- Parameters:
kb- the maximum size in KB
-
getInputStream
-
sync
public void sync()Force the changes to disk. -
compactFile
public void compactFile(int maxCompactTime) Compact the database file, that is, compact blocks that have a low fill rate, and move chunks next to each other. This will typically shrink the database file. Changes are flushed to the file, and old chunks are overwritten.- Parameters:
maxCompactTime- the maximum time in milliseconds to compact
-
close
public void close(int allowedCompactionTime) Close the store. Pending changes are persisted. If time is allocated for housekeeping, chunks with a low fill rate are compacted, and some chunks are put next to each other. If time is unlimited then full compaction is performed, which uses different algorithm - opens alternative temp store and writes all live data there, then replaces this store with a new one.- Parameters:
allowedCompactionTime- time (in milliseconds) alloted for file compaction activity, 0 means no compaction, -1 means unlimited time (full compaction)
-
statisticsStart
public void statisticsStart()Start collecting statistics. -
statisticsEnd
-