org.h2.engine
Class Database

java.lang.Object
  extended by org.h2.engine.Database
All Implemented Interfaces:
DataHandler

public class Database
extends java.lang.Object
implements 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

Constructor Summary
Database(ConnectionInfo ci, java.lang.String cipher)
           
 
Method Summary
 void addDatabaseObject(Session session, DbObject obj)
          Add an object to the database.
 void addSchemaObject(Session session, SchemaObject obj)
          Add a schema object to the database.
 void afterWriting()
          This method is called after updates are finished.
 int allocateObjectId()
          Allocate a new object id.
 boolean areEqual(Value a, Value b)
          Check if two values are equal with the current comparison mode.
 boolean beforeWriting()
          This method is called before writing to the transaction log.
 void checkpoint()
          Flush all changes and open a new transaction log.
 void checkpointIfRequired()
          Flush all changes when using the serialized mode, and if there are pending changes, and some time has passed.
 void checkPowerOff()
          Check if the simulated power failure occurred.
 void checkWritingAllowed()
          Check if writing is allowed.
 void commit(Session session)
          Commit the current transaction of the given session.
 int compare(Value a, Value b)
          Compare two values with the current comparison mode.
 int compareTypeSave(Value a, Value b)
          Compare two values with the current comparison mode.
 Session createSession(User user)
          Create a session for the given user.
 java.lang.String createTempFile()
          Create a temporary file in the database folder.
 void exceptionThrown(java.sql.SQLException e, java.lang.String sql)
          This method is called after an exception occurred, to inform the database event listener (if one is set).
static boolean exists(java.lang.String name)
          Check if a database with the given name exists.
 UserAggregate findAggregate(java.lang.String name)
          Get the user defined aggregate function if it exists, or null if not.
 Comment findComment(DbObject object)
          Get the comment for the given database object if one exists, or null if not.
 Role findRole(java.lang.String roleName)
          Get the role if it exists, or null if not.
 Schema findSchema(java.lang.String schemaName)
          Get the schema if it exists, or null if not.
 Setting findSetting(java.lang.String name)
          Get the setting if it exists, or null if not.
 User findUser(java.lang.String name)
          Get the user if it exists, or null if not.
 UserDataType findUserDataType(java.lang.String name)
          Get the user defined data type if it exists, or null if not.
 void flush()
          Flush all pending changes to the transaction log.
 void freeUpDiskSpace()
          Free up disk space if possible.
 java.util.ArrayList<UserAggregate> getAllAggregates()
           
 java.util.ArrayList<Comment> getAllComments()
           
 int getAllowLiterals()
           
 java.util.ArrayList<Right> getAllRights()
           
 java.util.ArrayList<Role> getAllRoles()
           
 java.util.ArrayList<SchemaObject> getAllSchemaObjects()
          Get all schema objects.
 java.util.ArrayList<SchemaObject> getAllSchemaObjects(int type)
          Get all schema objects of the given type.
 java.util.ArrayList<Schema> getAllSchemas()
           
 java.util.ArrayList<Setting> getAllSettings()
           
 java.util.ArrayList<Table> getAllTablesAndViews(boolean includeMeta)
          Get all tables and views.
 java.util.ArrayList<UserDataType> getAllUserDataTypes()
           
 java.util.ArrayList<User> getAllUsers()
           
 java.lang.String getCacheType()
           
 java.lang.String getCluster()
           
 CompareMode getCompareMode()
           
 SourceCompiler getCompiler()
           
 java.lang.String getDatabasePath()
          Get the database path.
 int getDefaultTableType()
           
 Table getDependentTable(SchemaObject obj, Table except)
          Get the first table that depends on this object.
 Session getExclusiveSession()
           
 Table getFirstUserTable()
          Get the first user defined table.
 boolean getFlushOnEachCommit()
          Check if flush-on-each-commit is enabled.
 boolean getIgnoreCase()
           
 java.util.ArrayList<InDoubtTransaction> getInDoubtTransactions()
          Get the list of in-doubt transactions.
 TableLinkConnection getLinkConnection(java.lang.String driver, java.lang.String url, java.lang.String user, java.lang.String password)
          Open a new connection or get an existing connection to another database.
 java.lang.String getLobCompressionAlgorithm(int type)
          Get the compression algorithm used for large objects.
 java.sql.Connection getLobConnection()
          Get a database connection to be used for LOB access.
 SmallLRUCache<java.lang.String,java.lang.String[]> getLobFileListCache()
          Get the lob file list cache if it is used.
 LobStorage getLobStorage()
          Get the lob storage mechanism to use.
 java.lang.Object getLobSyncObject()
          Get the synchronization object for lob operations.
 int getLockMode()
           
 int getLogMode()
           
 int getMaxLengthInplaceLob()
          Get the maximum length of a in-place large object
 int getMaxMemoryRows()
           
 int getMaxMemoryUndo()
           
 int getMaxOperationMemory()
           
 Mode getMode()
           
 long getModificationDataId()
           
 long getModificationMetaId()
           
 java.lang.String getName()
           
 long getNextModificationDataId()
           
 long getNextModificationMetaId()
           
 boolean getOptimizeReuseResults()
           
 PageStore getPageStore()
           
 int getPowerOffCount()
           
 Role getPublicRole()
           
 boolean getReferentialIntegrity()
           
 Schema getSchema(java.lang.String schemaName)
          Get the schema.
 int getSessionCount()
           
 Session[] getSessions(boolean includingSystemSession)
          Get all sessions that are currently connected to the database.
 DbSettings getSettings()
           
 java.lang.String getShortName()
           
 Session getSystemSession()
           
 TempFileDeleter getTempFileDeleter()
          Get the temp file deleter mechanism.
 java.lang.String getTempTableName(Session session)
          Get a unique temporary table name.
 Trace getTrace()
           
 Trace getTrace(java.lang.String module)
          Get the trace object for the given module.
 TraceSystem getTraceSystem()
           
 User getUser(java.lang.String name)
          Get user with the given name.
 boolean isClosing()
          Check if the database is in the process of closing.
 boolean isFileLockSerialized()
           
 boolean isMultiThreaded()
           
 boolean isMultiVersion()
          Check if multi version concurrency is enabled for this database.
 boolean isPersistent()
          Check if this database disk-based.
 boolean isReadOnly()
           
 boolean isReconnectNeeded()
          Check if the contents of the database was changed and therefore it is required to re-connect.
 boolean isStarting()
          Check if the database is currently opening.
 boolean isSysTableLocked()
          Checks if the system table (containing the catalog) is locked.
 void opened()
          Called after the database has been opened and initialized.
 FileStore openFile(java.lang.String name, java.lang.String openMode, boolean mustExist)
          Open a file at the given location.
 void prepareCommit(Session session, java.lang.String transaction)
          Prepare a transaction.
 void removeDatabaseObject(Session session, DbObject obj)
          Remove the object from the database.
 void removeMeta(Session session, int id)
          Remove the given object from the meta data.
 void removeSchemaObject(Session session, SchemaObject obj)
          Remove an object from the system table.
 void removeSession(Session session)
          Remove a session.
 void renameDatabaseObject(Session session, DbObject obj, java.lang.String newName)
          Rename a database object.
 void renameSchemaObject(Session session, SchemaObject obj, java.lang.String newName)
          Rename a schema object.
 void setAllowLiterals(int value)
           
 void setCacheSize(int kb)
           
 void setCloseDelay(int value)
           
 void setCluster(java.lang.String cluster)
           
 void setCompactMode(int compactMode)
           
 void setCompareMode(CompareMode compareMode)
           
 void setDefaultTableType(int defaultTableType)
           
 void setDeleteFilesOnDisconnect(boolean b)
           
 void setEventListener(DatabaseEventListener eventListener)
           
 void setEventListenerClass(java.lang.String className)
           
 void setExclusiveSession(Session session, boolean closeOthers)
          Set the session that can exclusively access the database.
 void setIgnoreCase(boolean b)
           
static void setInitialPowerOffCount(int count)
           
 void setLobCompressionAlgorithm(java.lang.String stringValue)
           
 void setLockMode(int lockMode)
           
 void setLogMode(int log)
           
 void setMasterUser(User user)
           
 void setMaxLengthInplaceLob(int value)
           
 void setMaxLogSize(long value)
           
 void setMaxMemoryRows(int value)
           
 void setMaxMemoryUndo(int value)
           
 void setMaxOperationMemory(int maxOperationMemory)
           
 void setMode(Mode mode)
           
 void setMultiThreaded(boolean multiThreaded)
           
 void setMultiVersion(boolean multiVersion)
           
 void setOptimizeReuseResults(boolean b)
           
 void setPowerOffCount(int count)
           
 void setProgress(int state, java.lang.String name, int x, int max)
          Set the progress of a long running operation.
 void setReadOnly(boolean readOnly)
          Switch the database to read-only mode.
 void setReferentialIntegrity(boolean b)
           
 void setWriteDelay(int value)
           
 void shutdownImmediately()
          Immediately close the database.
 void sync()
          Synchronize the files with the file system.
 java.lang.String toString()
           
 void update(Session session, DbObject obj)
          Update an object in the system table.
 boolean validateFilePasswordHash(java.lang.String testCipher, byte[] testHash)
          Check if the file password hash is correct.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Database

public Database(ConnectionInfo ci,
                java.lang.String cipher)
Method Detail

setInitialPowerOffCount

public static void setInitialPowerOffCount(int count)

setPowerOffCount

public void setPowerOffCount(int count)

areEqual

public boolean areEqual(Value a,
                        Value b)
Check if two values are equal with the current comparison mode.

Parameters:
a - the first value
b - the second value
Returns:
true if both objects are equal

compare

public int compare(Value a,
                   Value b)
Compare two values with the current comparison mode. The values may not be of the same type.

Parameters:
a - the first value
b - the second value
Returns:
0 if both values are equal, -1 if the first value is smaller, and 1 otherwise

compareTypeSave

public int compareTypeSave(Value a,
                           Value b)
Compare two values with the current comparison mode. The values must be of the same type.

Parameters:
a - the first value
b - the second value
Returns:
0 if both values are equal, -1 if the first value is smaller, and 1 otherwise

getModificationDataId

public long getModificationDataId()

getNextModificationDataId

public long getNextModificationDataId()

getModificationMetaId

public long getModificationMetaId()

getNextModificationMetaId

public long getNextModificationMetaId()

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 interface DataHandler

exists

public static boolean exists(java.lang.String name)
Check if a database with the given name exists.

Parameters:
name - the name of the database (including path)
Returns:
true if one exists

getTrace

public Trace getTrace(java.lang.String module)
Get the trace object for the given module.

Parameters:
module - the module name
Returns:
the trace object

openFile

public FileStore openFile(java.lang.String name,
                          java.lang.String openMode,
                          boolean mustExist)
Description copied from interface: DataHandler
Open a file at the given location.

Specified by:
openFile in interface DataHandler
Parameters:
name - the file name
openMode - the mode
mustExist - whether the file must already exist
Returns:
the file

validateFilePasswordHash

public boolean validateFilePasswordHash(java.lang.String testCipher,
                                        byte[] testHash)
Check if the file password hash is correct.

Parameters:
testCipher - the cipher algorithm
testHash - the hash code
Returns:
true if the cipher algorithm and the password match

removeMeta

public void removeMeta(Session session,
                       int id)
Remove the given object from the meta data.

Parameters:
session - the session
id - the id of the object to remove

addSchemaObject

public void addSchemaObject(Session session,
                            SchemaObject obj)
Add a schema object to the database.

Parameters:
session - the session
obj - the object to add

addDatabaseObject

public void addDatabaseObject(Session session,
                              DbObject obj)
Add an object to the database.

Parameters:
session - the session
obj - the object to add

findAggregate

public UserAggregate findAggregate(java.lang.String name)
Get the user defined aggregate function if it exists, or null if not.

Parameters:
name - the name of the user defined aggregate function
Returns:
the aggregate function or null

findComment

public Comment findComment(DbObject object)
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

public Role findRole(java.lang.String roleName)
Get the role if it exists, or null if not.

Parameters:
roleName - the name of the role
Returns:
the role or null

findSchema

public Schema findSchema(java.lang.String schemaName)
Get the schema if it exists, or null if not.

Parameters:
schemaName - the name of the schema
Returns:
the schema or null

findSetting

public Setting findSetting(java.lang.String name)
Get the setting if it exists, or null if not.

Parameters:
name - the name of the setting
Returns:
the setting or null

findUser

public User findUser(java.lang.String name)
Get the user if it exists, or null if not.

Parameters:
name - the name of the user
Returns:
the user or null

findUserDataType

public UserDataType findUserDataType(java.lang.String name)
Get the user defined data type if it exists, or null if not.

Parameters:
name - the name of the user defined data type
Returns:
the user defined data type or null

getUser

public User getUser(java.lang.String name)
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:
java.sql.SQLException - if the user does not exist

createSession

public Session createSession(User user)
Create a session for the given user.

Parameters:
user - the user
Returns:
the session
Throws:
java.sql.SQLException - if the database is in exclusive mode

removeSession

public void removeSession(Session session)
Remove a session. This method is called after the user has disconnected.

Parameters:
session - the session

allocateObjectId

public int allocateObjectId()
Allocate a new object id.

Returns:
the id

getAllAggregates

public java.util.ArrayList<UserAggregate> getAllAggregates()

getAllComments

public java.util.ArrayList<Comment> getAllComments()

getAllowLiterals

public int getAllowLiterals()

getAllRights

public java.util.ArrayList<Right> getAllRights()

getAllRoles

public java.util.ArrayList<Role> getAllRoles()

getAllSchemaObjects

public java.util.ArrayList<SchemaObject> getAllSchemaObjects()
Get all schema objects.

Returns:
all objects of all types

getAllSchemaObjects

public java.util.ArrayList<SchemaObject> getAllSchemaObjects(int type)
Get all schema objects of the given type.

Parameters:
type - the object type
Returns:
all objects of that type

getAllTablesAndViews

public java.util.ArrayList<Table> getAllTablesAndViews(boolean includeMeta)
Get all tables and views.

Parameters:
includeMeta - whether to include the meta data tables
Returns:
all objects of that type

getAllSchemas

public java.util.ArrayList<Schema> getAllSchemas()

getAllSettings

public java.util.ArrayList<Setting> getAllSettings()

getAllUserDataTypes

public java.util.ArrayList<UserDataType> getAllUserDataTypes()

getAllUsers

public java.util.ArrayList<User> getAllUsers()

getCacheType

public java.lang.String getCacheType()

getCluster

public java.lang.String getCluster()

getCompareMode

public CompareMode getCompareMode()

getDatabasePath

public java.lang.String getDatabasePath()
Description copied from interface: DataHandler
Get the database path.

Specified by:
getDatabasePath in interface DataHandler
Returns:
the database path

getShortName

public java.lang.String getShortName()

getName

public java.lang.String getName()

getSessions

public Session[] getSessions(boolean includingSystemSession)
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

update

public void update(Session session,
                   DbObject obj)
Update an object in the system table.

Parameters:
session - the session
obj - the database object

renameSchemaObject

public void renameSchemaObject(Session session,
                               SchemaObject obj,
                               java.lang.String newName)
Rename a schema object.

Parameters:
session - the session
obj - the object
newName - the new name

renameDatabaseObject

public void renameDatabaseObject(Session session,
                                 DbObject obj,
                                 java.lang.String newName)
Rename a database object.

Parameters:
session - the session
obj - the object
newName - the new name

createTempFile

public java.lang.String createTempFile()
Create a temporary file in the database folder.

Returns:
the file name

getSchema

public Schema getSchema(java.lang.String schemaName)
Get the schema. If the schema does not exist, an exception is thrown.

Parameters:
schemaName - the name of the schema
Returns:
the schema
Throws:
java.sql.SQLException - no schema with that name exists

removeDatabaseObject

public void removeDatabaseObject(Session session,
                                 DbObject obj)
Remove the object from the database.

Parameters:
session - the session
obj - the object to remove

getDependentTable

public Table getDependentTable(SchemaObject obj,
                               Table except)
Get the first table that depends on this object.

Parameters:
obj - the object to find
except - the table to exclude (or null)
Returns:
the first dependent table, or null

removeSchemaObject

public void removeSchemaObject(Session session,
                               SchemaObject obj)
Remove an object from the system table.

Parameters:
session - the session
obj - the object to be removed

isPersistent

public boolean isPersistent()
Check if this database disk-based.

Returns:
true if it is disk-based, false it it is in-memory only.

getTraceSystem

public TraceSystem getTraceSystem()

setCacheSize

public void setCacheSize(int kb)

setMasterUser

public void setMasterUser(User user)

getPublicRole

public Role getPublicRole()

getTempTableName

public java.lang.String getTempTableName(Session session)
Get a unique temporary table name.

Parameters:
session - the session
Returns:
a unique name

setCompareMode

public void setCompareMode(CompareMode compareMode)

setCluster

public void setCluster(java.lang.String cluster)

checkWritingAllowed

public void checkWritingAllowed()
Description copied from interface: DataHandler
Check if writing is allowed.

Specified by:
checkWritingAllowed in interface DataHandler

isReadOnly

public boolean isReadOnly()

setWriteDelay

public void setWriteDelay(int value)

getFlushOnEachCommit

public boolean getFlushOnEachCommit()
Check if flush-on-each-commit is enabled.

Returns:
true if it is

getInDoubtTransactions

public java.util.ArrayList<InDoubtTransaction> getInDoubtTransactions()
Get the list of in-doubt transactions.

Returns:
the list

prepareCommit

public void prepareCommit(Session session,
                          java.lang.String transaction)
Prepare a transaction.

Parameters:
session - the session
transaction - the name of the transaction

commit

public void commit(Session session)
Commit the current transaction of the given session.

Parameters:
session - the session

flush

public void flush()
Flush all pending changes to the transaction log.


setEventListener

public void setEventListener(DatabaseEventListener eventListener)

setEventListenerClass

public void setEventListenerClass(java.lang.String className)

freeUpDiskSpace

public void freeUpDiskSpace()
Description copied from interface: DataHandler
Free up disk space if possible. This method is called if more space is needed.

Specified by:
freeUpDiskSpace in interface DataHandler

setProgress

public void setProgress(int state,
                        java.lang.String name,
                        int x,
                        int max)
Set the progress of a long running operation. This method calls the DatabaseEventListener if one is registered.

Parameters:
state - the DatabaseEventListener state
name - the object name
x - the current position
max - the highest value

exceptionThrown

public void exceptionThrown(java.sql.SQLException e,
                            java.lang.String sql)
This method is called after an exception occurred, to inform the database event listener (if one is set).

Parameters:
e - the exception
sql - 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)

setMaxMemoryUndo

public void setMaxMemoryUndo(int value)

getMaxMemoryUndo

public int getMaxMemoryUndo()

setLockMode

public void setLockMode(int lockMode)

getLockMode

public int getLockMode()

setCloseDelay

public void setCloseDelay(int value)

getSystemSession

public Session 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 interface DataHandler
Returns:
the maximum size

setIgnoreCase

public void setIgnoreCase(boolean b)

getIgnoreCase

public boolean getIgnoreCase()

setDeleteFilesOnDisconnect

public void setDeleteFilesOnDisconnect(boolean b)

getLobCompressionAlgorithm

public java.lang.String getLobCompressionAlgorithm(int type)
Description copied from interface: DataHandler
Get the compression algorithm used for large objects.

Specified by:
getLobCompressionAlgorithm in interface DataHandler
Parameters:
type - the data type (CLOB or BLOB)
Returns:
the compression algorithm, or null

setLobCompressionAlgorithm

public void setLobCompressionAlgorithm(java.lang.String stringValue)

setMaxLogSize

public void setMaxLogSize(long value)

setAllowLiterals

public void setAllowLiterals(int value)

getOptimizeReuseResults

public boolean getOptimizeReuseResults()

setOptimizeReuseResults

public void setOptimizeReuseResults(boolean b)

getLobSyncObject

public java.lang.Object getLobSyncObject()
Description copied from interface: DataHandler
Get the synchronization object for lob operations.

Specified by:
getLobSyncObject in interface DataHandler
Returns:
the synchronization object

getSessionCount

public int getSessionCount()

setReferentialIntegrity

public void setReferentialIntegrity(boolean b)

getReferentialIntegrity

public boolean getReferentialIntegrity()

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

isMultiVersion

public boolean isMultiVersion()
Check if multi version concurrency is enabled for this database.

Returns:
true if it is enabled

opened

public void opened()
Called after the database has been opened and initialized. This method notifies the event listener if one has been set.


setMode

public void setMode(Mode mode)

getMode

public Mode getMode()

isMultiThreaded

public boolean isMultiThreaded()

setMultiThreaded

public void setMultiThreaded(boolean multiThreaded)

setMaxOperationMemory

public void setMaxOperationMemory(int maxOperationMemory)

getMaxOperationMemory

public int getMaxOperationMemory()

getExclusiveSession

public Session getExclusiveSession()

setExclusiveSession

public void setExclusiveSession(Session session,
                                boolean closeOthers)
Set the session that can exclusively access the database.

Parameters:
session - the session
closeOthers - whether other sessions are closed

getLobFileListCache

public SmallLRUCache<java.lang.String,java.lang.String[]> getLobFileListCache()
Description copied from interface: DataHandler
Get the lob file list cache if it is used.

Specified by:
getLobFileListCache in interface DataHandler
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

getLinkConnection

public TableLinkConnection getLinkConnection(java.lang.String driver,
                                             java.lang.String url,
                                             java.lang.String user,
                                             java.lang.String password)
Open a new connection or get an existing connection to another database.

Parameters:
driver - the database driver or null
url - the database URL
user - the user name
password - the password
Returns:
the connection

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

shutdownImmediately

public void shutdownImmediately()
Immediately close the database.


getTempFileDeleter

public TempFileDeleter getTempFileDeleter()
Description copied from interface: DataHandler
Get the temp file deleter mechanism.

Specified by:
getTempFileDeleter in interface DataHandler
Returns:
the temp file deleter

getTrace

public Trace getTrace()

getPageStore

public PageStore getPageStore()

getFirstUserTable

public Table getFirstUserTable()
Get the first user defined table.

Returns:
the table or null if no table is defined

isReconnectNeeded

public boolean isReconnectNeeded()
Check if the contents of the database was changed and therefore it is required to re-connect. This method waits until pending changes are completed. If a pending change takes too long (more than 2 seconds), the pending change is broken (removed from the properties file).

Returns:
true if reconnecting is required

checkpointIfRequired

public void checkpointIfRequired()
Flush all changes when using the serialized mode, and if there are pending changes, and some time has passed. This switches to a new transaction log and resets the change pending flag in the .lock.db file.


isFileLockSerialized

public boolean isFileLockSerialized()

checkpoint

public void checkpoint()
Flush all changes and open a new transaction log.


beforeWriting

public boolean beforeWriting()
This method is called before writing to the transaction log.

Returns:
true if the call was successful and writing is allowed, false if another connection was faster

afterWriting

public void afterWriting()
This method is called after updates are finished.


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

public SourceCompiler getCompiler()

getLobStorage

public LobStorage getLobStorage()
Description copied from interface: DataHandler
Get the lob storage mechanism to use.

Specified by:
getLobStorage in interface DataHandler
Returns:
the lob storage mechanism

getLobConnection

public java.sql.Connection getLobConnection()
Description copied from interface: DataHandler
Get a database connection to be used for LOB access.

Specified by:
getLobConnection in interface DataHandler
Returns:
the connection or null

setLogMode

public void setLogMode(int log)

getLogMode

public int getLogMode()

getDefaultTableType

public int getDefaultTableType()

setDefaultTableType

public void setDefaultTableType(int defaultTableType)

setMultiVersion

public void setMultiVersion(boolean multiVersion)

getSettings

public DbSettings getSettings()