Package org.h2.engine
Class Database
java.lang.Object
org.h2.engine.Database
- All Implemented Interfaces:
CastDataProvider
,DataHandler
There is one database object per open database.
The format of the meta data table is:
id int, 0, objectType int, sql varchar
- Since:
- 2004-04-15 22:49
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private int
private static final boolean
private Authenticator
private final boolean
private final int
private final AtomicReference
<DbException> private final String
private final String
private int
private boolean
private String
private final ConcurrentHashMap
<String, Comment> private int
private CompareMode
private SourceCompiler
private final String
private final String
private final String
private final DbSettings
private DefaultNullOrdering
private int
private DelayedDatabaseCloser
private boolean
private static final SessionLocal[]
private DatabaseEventListener
private final AtomicReference
<SessionLocal> private final byte[]
private final FileLockMethod
private final byte[]
private boolean
private boolean
private final Schema
private static int
private JavaObjectSerializer
private boolean
private String
private SmallLRUCache
<String, String[]> private SessionLocal
private final LobStorageInterface
private final Object
private FileLock
private int
private final Schema
private int
private int
private int
private final Table
private static final ThreadLocal
<SessionLocal> private static final ThreadLocal
<Database> private static final ThreadLocal
<Throwable> private final Index
private Mode
private final AtomicLong
private final AtomicLong
private int
private int
private final BitSet
private boolean
private final int
private final boolean
private final Schema
private int
private final Role
private boolean
private QueryStatisticsData
private int
private boolean
private boolean
private final AtomicLong
Used to trigger the client side to reload some of the settings.private final ConcurrentHashMap
<String, Right> private RowFactory
private final ConcurrentHashMap
<String, Schema> private Server
private final ConcurrentHashMap
<String, Setting> private boolean
private final Store
private static final String
The default name of the system user.private SessionLocal
private final User
private final HashMap
<String, TableEngine> private final TempFileDeleter
private final Trace
private final TraceSystem
private final ConcurrentHashMap
<String, RightOwner> private final Set
<SessionLocal> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addDatabaseObject
(SessionLocal session, DbObject obj) Add an object to the database.private void
addMeta
(SessionLocal session, DbObject obj) void
addSchemaObject
(SessionLocal session, SchemaObject obj) Add a schema object to the database.int
Allocate a new object id.private void
checkMetaFree
(SessionLocal session, int id) void
Flush all changes and open a new transaction log.void
Check if the simulated power failure occurred.private void
void
Check if writing is allowed.(package private) void
close
(boolean fromShutdownHook) Close the database.private void
closeAllSessionsExcept
(SessionLocal except) private void
private void
closeImpl
(boolean fromShutdownHook) private void
Close all open files and unlock the database.private SessionLocal
createSession
(User user) (package private) SessionLocal
createSession
(User user, NetworkConnectionInfo networkConnectionInfo) Create a session for the given user.private CreateTableData
Returns the current timestamp with maximum resolution.Returns the current time zone.private void
boolean
equalsIdentifiers
(String a, String b) Compare two identifiers (table names, column names,...) and verify they are equal.void
exceptionThrown
(SQLException e, String sql) This method is called after an exception occurred, to inform the database event listener (if one is set).private void
private void
executeMeta
(ArrayList<MetaRecord> records) findComment
(DbObject object) Get the comment for the given database object if one exists, or null if not.Get the role if it exists, or null if not.findSchema
(String schemaName) Get the schema if it exists, or null if not.findSetting
(String name) Get the setting if it exists, or null if not.Get the user if it exists, or null if not.findUserOrRole
(String name) Get the user or role if it exists, ornull
if not.void
flush()
Flush all pending changes to the transaction log.int
Get all synonyms.Get all tables and views.get authenticator for database usersReturn compare mode.Get the database path.int
getDependentTable
(SchemaObject obj, Table except) Get the first table that depends on this object.byte[]
Get the first user defined table, excluding the LOB_BLOCKS table that the Recover tool creates.boolean
boolean
Get the list of in-doubt transactions.Returns the custom Java object serializer, ornull
.getLinkConnection
(String driver, String url, String user, String password) Open a new connection or get an existing connection to another database.Get the lob file list cache if it is used.Get the lob storage mechanism to use.Get the synchronization object for lob operations.int
int
Returns main schema (usually PUBLIC).getMap
(int type) int
Get the maximum length of a in-place large objectint
int
getMode()
Returns the database mode.long
long
getName()
long
long
long
boolean
int
int
boolean
boolean
long
int
Get the schema.int
getSessions
(boolean includingSystemSession) Get all sessions that are currently connected to the database.getStore()
Returns system user.getTableEngine
(String tableEngine) Get the table engine class, loading it if needed.Get the temp file deleter mechanism.getTempTableName
(String baseName, SessionLocal session) Get a unique temporary table name.getTrace
(int moduleId) Get the trace object for the given module id.Get user with the given name.private void
boolean
boolean
Check if the database is in the process of closing.boolean
Check if this database is disk-based.boolean
boolean
Check if the database is currently opening.boolean
Checks if the system table (containing the catalog) is locked.boolean
isSysTableLockedBy
(SessionLocal session) Checks if the system table (containing the catalog) is locked by the given session.private static boolean
isUpperSysIdentifier
(String upperName) (package private) boolean
isUserSession
(SessionLocal session) boolean
lockMeta
(SessionLocal session) Lock the metadata table for updates.private void
lockMetaAssertion
(SessionLocal session) <V> ConcurrentHashMap
<String, V> Create a new hash map.Create a new hash map.newStringMap
(int initialCapacity) Create a new hash map.(package private) void
opened()
Called after the database has been opened and initialized.Open a file at the given location.private String
(package private) void
prepareCommit
(SessionLocal session, String transaction) Prepare a transaction.int
readLob
(long lobId, byte[] hmac, long offset, byte[] buff, int off, int length) Read from a lob.private void
void
releaseDatabaseObjectIds
(BitSet idsToRelease) Mark some database ids as unused.void
removeDatabaseObject
(SessionLocal session, DbObject obj) Remove the object from the database.void
removeMeta
(SessionLocal session, int id) Remove the given object from the meta data.private void
void
removeSchemaObject
(SessionLocal session, SchemaObject obj) Remove an object from the system table.void
removeSession
(SessionLocal session) Remove a session.void
renameDatabaseObject
(SessionLocal session, DbObject obj, String newName) Rename a database object.void
renameSchemaObject
(SessionLocal session, SchemaObject obj, String newName) Rename a schema object.void
setAllowBuiltinAliasOverride
(boolean b) void
setAllowLiterals
(int value) void
setAuthenticator
(Authenticator authenticator) Set current database authenticatorvoid
void
setCacheSize
(int kb) void
setCloseDelay
(int value) void
setCluster
(String cluster) void
setCompactMode
(int compactMode) void
setCompareMode
(CompareMode compareMode) void
setDefaultNullOrdering
(DefaultNullOrdering defaultNullOrdering) void
setDefaultTableType
(int defaultTableType) void
setDeleteFilesOnDisconnect
(boolean b) void
setEventListener
(DatabaseEventListener eventListener) void
setEventListenerClass
(String className) boolean
setExclusiveSession
(SessionLocal session, boolean closeOthers) Set the session that can exclusively access the database.void
setIgnoreCase
(boolean b) void
setIgnoreCatalogs
(boolean b) static void
setInitialPowerOffCount
(int count) void
setJavaObjectSerializerName
(String serializerName) void
setLockMode
(int lockMode) void
setMasterUser
(User user) void
setMaxLengthInplaceLob
(int value) void
setMaxMemoryRows
(int value) void
setMaxOperationMemory
(int maxOperationMemory) void
void
setOptimizeReuseResults
(boolean b) void
setPowerOffCount
(int count) void
setProgress
(int state, String name, long x, long max) Set the progress of a long running operation.void
setQueryStatistics
(boolean b) void
setQueryStatisticsMaxEntries
(int n) void
setReadOnly
(boolean readOnly) Switch the database to read-only mode.void
setReferentialIntegrity
(boolean b) void
setRetentionTime
(int value) void
setRowFactory
(RowFactory rowFactory) void
setWriteDelay
(int value) void
Immediately close the database.private void
startServer
(String key) private void
void
sync()
Synchronize the files with the file system.sysIdentifier
(String upperName) Returns identifier in upper or lower case depending on database settings.(package private) void
If there is a background store thread, and if there wasn an exception in that thread, throw it now.toString()
void
unlockMeta
(SessionLocal session) Unlock the metadata table.(package private) static void
unlockMetaDebug
(SessionLocal session) This method doesn't actually unlock the metadata table, all it does it reset the debugging flags.boolean
unsetExclusiveSession
(SessionLocal session) Stop exclusive access the database by provided session.void
updateMeta
(SessionLocal session, DbObject obj) Update an object in the system table.private void
updateMetaAndFirstLevelChildren
(SessionLocal session, DbObject obj) (package private) boolean
validateFilePasswordHash
(String testCipher, byte[] testHash) Check if the file password hash is correct.void
verifyMetaLocked
(SessionLocal session) Verify the meta table is locked.boolean
Returns are ENUM values 0-based.
-
Field Details
-
initialPowerOffCount
private static int initialPowerOffCount -
ASSERT
private static final boolean ASSERT -
META_LOCK_DEBUGGING
-
META_LOCK_DEBUGGING_DB
-
META_LOCK_DEBUGGING_STACK
-
EMPTY_SESSION_ARRAY
-
SYSTEM_USER_NAME
The default name of the system user. This name is only used as long as there is no administrator user registered.- See Also:
-
persistent
private final boolean persistent -
databaseName
-
databaseShortName
-
databaseURL
-
cipher
-
filePasswordHash
private final byte[] filePasswordHash -
fileEncryptionKey
private final byte[] fileEncryptionKey -
usersAndRoles
-
settings
-
schemas
-
rights
-
comments
-
tableEngines
-
userSessions
-
exclusiveSession
-
objectIds
-
lobSyncObject
-
mainSchema
-
infoSchema
-
pgCatalogSchema
-
nextSessionId
private int nextSessionId -
nextTempTableId
private int nextTempTableId -
systemUser
-
systemSession
-
lobSession
-
meta
-
metaIdIndex
-
lock
-
starting
private volatile boolean starting -
traceSystem
-
trace
-
fileLockMethod
-
publicRole
-
modificationDataId
-
modificationMetaId
-
remoteSettingsId
Used to trigger the client side to reload some of the settings. -
compareMode
-
cluster
-
readOnly
private boolean readOnly -
eventListener
-
maxMemoryRows
private int maxMemoryRows -
lockMode
private int lockMode -
maxLengthInplaceLob
private int maxLengthInplaceLob -
allowLiterals
private int allowLiterals -
powerOffCount
private int powerOffCount -
closeDelay
private volatile int closeDelay -
delayedCloser
-
closing
private volatile boolean closing -
ignoreCase
private boolean ignoreCase -
deleteFilesOnDisconnect
private boolean deleteFilesOnDisconnect -
optimizeReuseResults
private boolean optimizeReuseResults -
cacheType
-
referentialIntegrity
private boolean referentialIntegrity -
mode
-
defaultNullOrdering
-
maxOperationMemory
private int maxOperationMemory -
lobFileListCache
-
autoServerMode
private final boolean autoServerMode -
autoServerPort
private final int autoServerPort -
server
-
linkConnections
-
tempFileDeleter
-
compactMode
private int compactMode -
compiler
-
lobStorage
-
pageSize
private final int pageSize -
defaultTableType
private int defaultTableType -
dbSettings
-
store
-
allowBuiltinAliasOverride
private boolean allowBuiltinAliasOverride -
backgroundException
-
javaObjectSerializer
-
javaObjectSerializerName
-
javaObjectSerializerInitialized
private volatile boolean javaObjectSerializerInitialized -
queryStatistics
private boolean queryStatistics -
queryStatisticsMaxEntries
private int queryStatisticsMaxEntries -
queryStatisticsData
-
rowFactory
-
ignoreCatalogs
private boolean ignoreCatalogs -
authenticator
-
-
Constructor Details
-
Database
-
-
Method Details
-
getLockTimeout
public int getLockTimeout() -
getRowFactory
-
setRowFactory
-
setInitialPowerOffCount
public static void setInitialPowerOffCount(int count) -
setPowerOffCount
public void setPowerOffCount(int count) -
getStore
-
getModificationDataId
public long getModificationDataId() -
getNextModificationDataId
public long getNextModificationDataId() -
getModificationMetaId
public long getModificationMetaId() -
getNextModificationMetaId
public long getNextModificationMetaId() -
getRemoteSettingsId
public long getRemoteSettingsId() -
getNextRemoteSettingsId
public long getNextRemoteSettingsId() -
getPowerOffCount
public int getPowerOffCount() -
checkPowerOff
public void checkPowerOff()Description copied from interface:DataHandler
Check if the simulated power failure occurred. This call will decrement the countdown.- Specified by:
checkPowerOff
in interfaceDataHandler
-
checkPowerOff2
private void checkPowerOff2() -
getTrace
Get the trace object for the given module id.- Parameters:
moduleId
- the module id- Returns:
- the trace object
-
openFile
Description copied from interface:DataHandler
Open a file at the given location.- Specified by:
openFile
in interfaceDataHandler
- Parameters:
name
- the file nameopenMode
- the modemustExist
- whether the file must already exist- Returns:
- the file
-
validateFilePasswordHash
Check if the file password hash is correct.- Parameters:
testCipher
- the cipher algorithmtestHash
- the hash code- Returns:
- true if the cipher algorithm and the password match
-
parseDatabaseShortName
-
createSysTableData
-
executeMeta
private void executeMeta() -
executeMeta
-
startServer
-
stopServer
private void stopServer() -
recompileInvalidViews
private void recompileInvalidViews() -
addMeta
-
verifyMetaLocked
Verify the meta table is locked.- Parameters:
session
- the session
-
lockMeta
Lock the metadata table for updates.- Parameters:
session
- the session- Returns:
- whether it was already locked before by this session
-
lockMetaAssertion
-
unlockMeta
Unlock the metadata table.- Parameters:
session
- the session
-
unlockMetaDebug
This method doesn't actually unlock the metadata table, all it does it reset the debugging flags.- Parameters:
session
- the session
-
removeMeta
Remove the given object from the meta data.- Parameters:
session
- the sessionid
- the id of the object to remove
-
releaseDatabaseObjectIds
Mark some database ids as unused.- Parameters:
idsToRelease
- the ids to release
-
getMap
-
addSchemaObject
Add a schema object to the database.- Parameters:
session
- the sessionobj
- the object to add
-
addDatabaseObject
Add an object to the database.- Parameters:
session
- the sessionobj
- the object to add
-
findComment
Get the comment for the given database object if one exists, or null if not.- Parameters:
object
- the database object- Returns:
- the comment or null
-
findRole
Get the role if it exists, or null if not.- Parameters:
roleName
- the name of the role- Returns:
- the role or null
-
findSchema
Get the schema if it exists, or null if not.- Parameters:
schemaName
- the name of the schema- Returns:
- the schema or null
-
findSetting
Get the setting if it exists, or null if not.- Parameters:
name
- the name of the setting- Returns:
- the setting or null
-
findUser
Get the user if it exists, or null if not.- Parameters:
name
- the name of the user- Returns:
- the user or null
-
getUser
Get user with the given name. This method throws an exception if the user does not exist.- Parameters:
name
- the user name- Returns:
- the user
- Throws:
DbException
- if the user does not exist
-
findUserOrRole
Get the user or role if it exists, ornull
if not.- Parameters:
name
- the name of the user or role- Returns:
- the user, the role, or
null
-
createSession
Create a session for the given user.- Parameters:
user
- the usernetworkConnectionInfo
- the network connection information, ornull
- Returns:
- the session, or null if the database is currently closing
- Throws:
DbException
- if the database is in exclusive mode
-
createSession
-
removeSession
Remove a session. This method is called after the user has disconnected.- Parameters:
session
- the session
-
isUserSession
-
closeAllSessionsExcept
-
close
void close(boolean fromShutdownHook) Close the database.- Parameters:
fromShutdownHook
- true if this method is called from the shutdown hook
-
closeImpl
private void closeImpl(boolean fromShutdownHook) -
removeOrphanedLobs
private void removeOrphanedLobs() -
closeOpenFilesAndUnlock
private void closeOpenFilesAndUnlock()Close all open files and unlock the database. -
closeFiles
private void closeFiles() -
checkMetaFree
-
allocateObjectId
public int allocateObjectId()Allocate a new object id.- Returns:
- the id
-
getSystemUser
Returns system user.- Returns:
- system user
-
getMainSchema
Returns main schema (usually PUBLIC).- Returns:
- main schema (usually PUBLIC)
-
getAllComments
-
getAllowLiterals
public int getAllowLiterals() -
getAllRights
-
getAllTablesAndViews
Get all tables and views. Meta data tables may be excluded.- Returns:
- all objects of that type
-
getAllSynonyms
Get all synonyms.- Returns:
- all objects of that type
-
getAllSchemas
-
getAllSchemasNoMeta
-
getAllSettings
-
getAllUsersAndRoles
-
getCacheType
-
getCluster
-
getCompareMode
Description copied from interface:DataHandler
Return compare mode.- Specified by:
getCompareMode
in interfaceDataHandler
- Returns:
- Compare mode.
-
getDatabasePath
Description copied from interface:DataHandler
Get the database path.- Specified by:
getDatabasePath
in interfaceDataHandler
- Returns:
- the database path
-
getShortName
-
getName
-
getSessions
Get all sessions that are currently connected to the database.- Parameters:
includingSystemSession
- if the system session should also be included- Returns:
- the list of sessions
-
updateMeta
Update an object in the system table.- Parameters:
session
- the sessionobj
- the database object
-
renameSchemaObject
Rename a schema object.- Parameters:
session
- the sessionobj
- the objectnewName
- the new name
-
updateMetaAndFirstLevelChildren
-
renameDatabaseObject
Rename a database object.- Parameters:
session
- the sessionobj
- the objectnewName
- the new name
-
deleteOldTempFiles
private void deleteOldTempFiles() -
getSchema
Get the schema. If the schema does not exist, an exception is thrown.- Parameters:
schemaName
- the name of the schema- Returns:
- the schema
- Throws:
DbException
- no schema with that name exists
-
removeDatabaseObject
Remove the object from the database.- Parameters:
session
- the sessionobj
- the object to remove
-
getDependentTable
Get the first table that depends on this object.- Parameters:
obj
- the object to findexcept
- the table to exclude (or null)- Returns:
- the first dependent table, or null
-
removeSchemaObject
Remove an object from the system table.- Parameters:
session
- the sessionobj
- the object to be removed
-
isPersistent
public boolean isPersistent()Check if this database is disk-based.- Returns:
- true if it is disk-based, false if it is in-memory only.
-
getTraceSystem
-
setCacheSize
public void setCacheSize(int kb) -
setMasterUser
-
getPublicRole
-
getTempTableName
Get a unique temporary table name.- Parameters:
baseName
- the prefix of the returned namesession
- the session- Returns:
- a unique name
-
setCompareMode
-
setCluster
-
checkWritingAllowed
public void checkWritingAllowed()Description copied from interface:DataHandler
Check if writing is allowed.- Specified by:
checkWritingAllowed
in interfaceDataHandler
-
isReadOnly
public boolean isReadOnly() -
setWriteDelay
public void setWriteDelay(int value) -
getRetentionTime
public int getRetentionTime() -
setRetentionTime
public void setRetentionTime(int value) -
setAllowBuiltinAliasOverride
public void setAllowBuiltinAliasOverride(boolean b) -
isAllowBuiltinAliasOverride
public boolean isAllowBuiltinAliasOverride() -
getInDoubtTransactions
Get the list of in-doubt transactions.- Returns:
- the list
-
prepareCommit
Prepare a transaction.- Parameters:
session
- the sessiontransaction
- the name of the transaction
-
throwLastBackgroundException
void throwLastBackgroundException()If there is a background store thread, and if there wasn an exception in that thread, throw it now. -
setBackgroundException
-
getBackgroundException
-
flush
public void flush()Flush all pending changes to the transaction log. -
setEventListener
-
setEventListenerClass
-
setProgress
Set the progress of a long running operation. This method calls theDatabaseEventListener
if one is registered.- Parameters:
state
- theDatabaseEventListener
statename
- the object namex
- the current positionmax
- the highest value or 0 if unknown
-
exceptionThrown
This method is called after an exception occurred, to inform the database event listener (if one is set).- Parameters:
e
- the exceptionsql
- the SQL statement
-
sync
public void sync()Synchronize the files with the file system. This method is called when executing the SQL statement CHECKPOINT SYNC. -
getMaxMemoryRows
public int getMaxMemoryRows() -
setMaxMemoryRows
public void setMaxMemoryRows(int value) -
setLockMode
public void setLockMode(int lockMode) -
getLockMode
public int getLockMode() -
setCloseDelay
public void setCloseDelay(int value) -
getSystemSession
-
isClosing
public boolean isClosing()Check if the database is in the process of closing.- Returns:
- true if the database is closing
-
setMaxLengthInplaceLob
public void setMaxLengthInplaceLob(int value) -
getMaxLengthInplaceLob
public int getMaxLengthInplaceLob()Description copied from interface:DataHandler
Get the maximum length of a in-place large object- Specified by:
getMaxLengthInplaceLob
in interfaceDataHandler
- Returns:
- the maximum size
-
setIgnoreCase
public void setIgnoreCase(boolean b) -
getIgnoreCase
public boolean getIgnoreCase() -
setIgnoreCatalogs
public void setIgnoreCatalogs(boolean b) -
getIgnoreCatalogs
public boolean getIgnoreCatalogs() -
setDeleteFilesOnDisconnect
public void setDeleteFilesOnDisconnect(boolean b) -
setAllowLiterals
public void setAllowLiterals(int value) -
getOptimizeReuseResults
public boolean getOptimizeReuseResults() -
setOptimizeReuseResults
public void setOptimizeReuseResults(boolean b) -
getLobSyncObject
Description copied from interface:DataHandler
Get the synchronization object for lob operations.- Specified by:
getLobSyncObject
in interfaceDataHandler
- Returns:
- the synchronization object
-
getSessionCount
public int getSessionCount() -
setReferentialIntegrity
public void setReferentialIntegrity(boolean b) -
getReferentialIntegrity
public boolean getReferentialIntegrity() -
setQueryStatistics
public void setQueryStatistics(boolean b) -
getQueryStatistics
public boolean getQueryStatistics() -
setQueryStatisticsMaxEntries
public void setQueryStatisticsMaxEntries(int n) -
getQueryStatisticsData
-
isStarting
public boolean isStarting()Check if the database is currently opening. This is true until all stored SQL statements have been executed.- Returns:
- true if the database is still starting
-
opened
void opened()Called after the database has been opened and initialized. This method notifies the event listener if one has been set. -
setMode
-
getMode
Description copied from interface:CastDataProvider
Returns the database mode.- Specified by:
getMode
in interfaceCastDataProvider
- Returns:
- the database mode
-
setDefaultNullOrdering
-
getDefaultNullOrdering
-
setMaxOperationMemory
public void setMaxOperationMemory(int maxOperationMemory) -
getMaxOperationMemory
public int getMaxOperationMemory() -
getExclusiveSession
-
setExclusiveSession
Set the session that can exclusively access the database.- Parameters:
session
- the sessioncloseOthers
- whether other sessions are closed- Returns:
- true if success or if database is in exclusive mode set by this session already, false otherwise
-
unsetExclusiveSession
Stop exclusive access the database by provided session.- Parameters:
session
- the session- Returns:
- true if success or if database is in non-exclusive mode already, false otherwise
-
getLobFileListCache
Description copied from interface:DataHandler
Get the lob file list cache if it is used.- Specified by:
getLobFileListCache
in interfaceDataHandler
- Returns:
- the cache or null
-
isSysTableLocked
public boolean isSysTableLocked()Checks if the system table (containing the catalog) is locked.- Returns:
- true if it is currently locked
-
isSysTableLockedBy
Checks if the system table (containing the catalog) is locked by the given session.- Parameters:
session
- the session- Returns:
- true if it is currently locked
-
getLinkConnection
public TableLinkConnection getLinkConnection(String driver, String url, String user, String password) Open a new connection or get an existing connection to another database.- Parameters:
driver
- the database driver or nullurl
- the database URLuser
- the user namepassword
- the password- Returns:
- the connection
-
toString
-
shutdownImmediately
public void shutdownImmediately()Immediately close the database. -
getTempFileDeleter
Description copied from interface:DataHandler
Get the temp file deleter mechanism.- Specified by:
getTempFileDeleter
in interfaceDataHandler
- Returns:
- the temp file deleter
-
getFirstUserTable
Get the first user defined table, excluding the LOB_BLOCKS table that the Recover tool creates.- Returns:
- the table or null if no table is defined
-
checkpoint
public void checkpoint()Flush all changes and open a new transaction log. -
setReadOnly
public void setReadOnly(boolean readOnly) Switch the database to read-only mode.- Parameters:
readOnly
- the new value
-
setCompactMode
public void setCompactMode(int compactMode) -
getCompiler
-
getLobStorage
Description copied from interface:DataHandler
Get the lob storage mechanism to use.- Specified by:
getLobStorage
in interfaceDataHandler
- Returns:
- the lob storage mechanism
-
getLobSession
-
getDefaultTableType
public int getDefaultTableType() -
setDefaultTableType
public void setDefaultTableType(int defaultTableType) -
getSettings
-
newStringMap
Create a new hash map. Depending on the configuration, the key is case sensitive or case insensitive.- Type Parameters:
V
- the value type- Returns:
- the hash map
-
newStringMap
Create a new hash map. Depending on the configuration, the key is case sensitive or case insensitive.- Type Parameters:
V
- the value type- Parameters:
initialCapacity
- the initial capacity- Returns:
- the hash map
-
newConcurrentStringMap
Create a new hash map. Depending on the configuration, the key is case sensitive or case insensitive.- Type Parameters:
V
- the value type- Returns:
- the hash map
-
equalsIdentifiers
Compare two identifiers (table names, column names,...) and verify they are equal. Case sensitivity depends on the configuration.- Parameters:
a
- the first identifierb
- the second identifier- Returns:
- true if they match
-
sysIdentifier
Returns identifier in upper or lower case depending on database settings.- Parameters:
upperName
- identifier in the upper case- Returns:
- identifier in upper or lower case
-
isUpperSysIdentifier
-
readLob
public int readLob(long lobId, byte[] hmac, long offset, byte[] buff, int off, int length) Description copied from interface:DataHandler
Read from a lob.- Specified by:
readLob
in interfaceDataHandler
- Parameters:
lobId
- the lob idhmac
- the message authentication codeoffset
- the offset within the lobbuff
- the target bufferoff
- the offset within the target bufferlength
- the number of bytes to read- Returns:
- the number of bytes read
-
getFileEncryptionKey
public byte[] getFileEncryptionKey() -
getPageSize
public int getPageSize() -
getJavaObjectSerializer
Description copied from interface:CastDataProvider
Returns the custom Java object serializer, ornull
.- Specified by:
getJavaObjectSerializer
in interfaceCastDataProvider
- Returns:
- the custom Java object serializer, or
null
-
initJavaObjectSerializer
private void initJavaObjectSerializer() -
setJavaObjectSerializerName
-
getTableEngine
Get the table engine class, loading it if needed.- Parameters:
tableEngine
- the table engine name- Returns:
- the class
-
getAuthenticator
get authenticator for database users- Returns:
- authenticator set for database
-
setAuthenticator
Set current database authenticator- Parameters:
authenticator
- = authenticator to set, null to revert to the Internal authenticator
-
currentTimestamp
Description copied from interface:CastDataProvider
Returns the current timestamp with maximum resolution. The value must be the same within a transaction or within execution of a command.- Specified by:
currentTimestamp
in interfaceCastDataProvider
- Returns:
- the current timestamp for CURRENT_TIMESTAMP(9)
-
currentTimeZone
Description copied from interface:CastDataProvider
Returns the current time zone.- Specified by:
currentTimeZone
in interfaceCastDataProvider
- Returns:
- the current time zone
-
zeroBasedEnums
public boolean zeroBasedEnums()Description copied from interface:CastDataProvider
Returns are ENUM values 0-based.- Specified by:
zeroBasedEnums
in interfaceCastDataProvider
- Returns:
- are ENUM values 0-based
-