Package org.h2.engine
Class SessionLocal
java.lang.Object
org.h2.engine.Session
org.h2.engine.SessionLocal
- All Implemented Interfaces:
AutoCloseable
,CastDataProvider
,org.h2.mvstore.tx.TransactionStore.RollbackListener
public final class SessionLocal
extends Session
implements org.h2.mvstore.tx.TransactionStore.RollbackListener
A session represents an embedded database connection. When using the server
mode, this object resides on the server side and communicates with a
SessionRemote object on the client side.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Represents a savepoint (a position in a transaction to where one can roll back to).static enum
static class
An LOB object with a timeout.Nested classes/interfaces inherited from class org.h2.engine.Session
Session.DynamicSettings, Session.StaticSettings
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addLocalTempTable
(org.h2.table.Table table) Add a local temporary table to this session.void
addLocalTempTableConstraint
(org.h2.constraint.Constraint constraint) Add a local temporary constraint to this session.void
addLocalTempTableIndex
(org.h2.index.Index index) Add a local temporary index to this session.void
addProcedure
(Procedure procedure) Add a procedure to this session.void
addSavepoint
(String name) Create a savepoint that is linked to the current log position.org.h2.value.ValueLob
addTemporaryLob
(org.h2.value.ValueLob v) Add a temporary LOB, which is closed when the session commits.boolean
areEqual
(org.h2.value.Value a, org.h2.value.Value b) Check if two values are equal with the current comparison mode.void
begin()
Begin a transaction.void
cancel()
Cancel the current or next command (called when closing a connection).void
Check if the current transaction is canceled by calling Statement.cancel() or because a session timeout was set and expired.void
Clear the view cache for this session.void
close()
Roll back pending transactions and close the session.void
commit
(boolean ddl) Commit the current transaction.int
compare
(org.h2.value.Value a, org.h2.value.Value b) Compare two values with the current comparison mode.int
compareTypeSafe
(org.h2.value.Value a, org.h2.value.Value b) Compare two values with the current comparison mode.int
compareWithNull
(org.h2.value.Value a, org.h2.value.Value b, boolean forEquality) Compare two values with the current comparison mode.boolean
Whether the session contains any uncommitted changes.createConnection
(boolean columnList) Create an internal connection.org.h2.value.ValueTimestampTimeZone
Returns the current timestamp with maximum resolution.org.h2.util.TimeZoneProvider
Returns the current time zone.void
Mark the statement as completed.org.h2.table.Table
findLocalTempTable
(String name) Get the local temporary table if one exists with that name, or null if not.org.h2.constraint.Constraint
Get the local temporary constraint if one exists with that name, or null if not.org.h2.index.Index
Get the local temporary index if one exists with that name, or null if not.boolean
boolean
Check if this session is in auto-commit mode.int
long
Get the cancel time.Get the list of the cluster servers for this session.org.h2.value.ValueTimestampTimeZone
org.h2.command.Command
Get current schema.org.h2.value.Value
getCurrentValueFor
(org.h2.schema.Sequence sequence) Returns the current value of the sequence in this session.org.h2.jdbc.meta.DatabaseMeta
Returns database meta information.org.h2.store.DataHandler
Get the data handler object.Returns dynamic settings.int
getId()
Returns the isolation level.Returns the custom Java object serializer, ornull
.org.h2.value.Value
Get the map of constraints for all constraints on local, temporary tables, if any.List<org.h2.table.Table>
Set<org.h2.table.Table>
getLocks()
int
getMode()
Returns the database mode.int
org.h2.util.NetworkConnectionInfo
Returns the network connection information, ornull
.Get the next system generated identifiers.org.h2.value.Value
getNextValueFor
(org.h2.schema.Sequence sequence, org.h2.command.Prepared prepared) Returns the next value of the sequence in this session.Gets bit set of non-keywords.getProcedure
(String name) Get the procedure with the given name, or null if none exists.int
String[]
org.h2.value.ValueTimestampTimeZone
long
Returns the data modification id of transaction's snapshot, or 0 if isolation level doesn't use snapshots.getState()
long
Returns database data modification id on start of the current command.Returns static settings.org.h2.message.Trace
getTrace()
Get the trace objectorg.h2.mvstore.tx.Transaction
Get the transaction to use for this session.org.h2.value.Value
getUser()
org.h2.value.Value
getVariable
(String name) Get the value of the specified user defined variable.String[]
Get the list of variable names that are set for this session.getViewIndexCache
(boolean derivedTable) Get the view cache for this session.org.h2.table.Table
int
hashCode()
boolean
Check whether this session has a pending transaction.boolean
Checks presence of prepared transaction in this session.boolean
isClosed()
Check if close was called.boolean
boolean
Returns whether INFORMATION_SCHEMA contains old-style tables.boolean
isOpen()
boolean
boolean
Returns whether quirks mode is enabled explicitly or implicitly.boolean
isRemote()
Check if this session is remote or embedded.boolean
Returns parsing mode of data types with too large length.boolean
Returns BINARY data type parsing mode.void
markTableForAnalyze
(org.h2.table.Table table) Mark that the given table needs to be analyzed on commit.int
Get the next object id.void
onRollback
(org.h2.mvstore.MVMap<Object, org.h2.value.VersionedValue<Object>> map, Object key, org.h2.value.VersionedValue<Object> existingValue, org.h2.value.VersionedValue<Object> restoredValue) Notified of a single map change (add/update/remove)org.h2.command.Prepared
Parse and prepare the given SQL statement.org.h2.command.Prepared
prepare
(String sql, boolean rightsChecked, boolean literalsChecked, org.h2.command.QueryScope queryScope) Parse and prepare the given SQL statement.org.h2.command.CommandInterface
prepareCommand
(String sql, int fetchSize) Parse a command and prepare it for execution.void
prepareCommit
(String transactionName) Prepare the given transaction.org.h2.command.Command
prepareLocal
(String sql) Parse and prepare the given SQL statement.org.h2.command.query.Query
prepareQueryExpression
(String sql, org.h2.command.QueryScope queryScope) Parse a query and prepare its expressions.void
registerTableAsLocked
(org.h2.table.Table table) Register table as locked within current transaction.void
registerTableAsUpdated
(org.h2.table.Table table) Register table as updated within current transaction.void
removeAtCommit
(org.h2.value.ValueLob v) Remember that the given LOB value must be removed at commit.void
removeAtCommitStop
(org.h2.value.ValueLob v) Do not remove this LOB value at commit any longer.void
removeLocalTempTable
(org.h2.table.Table table) Drop and remove the given local temporary table from this session.void
removeLocalTempTableIndex
(org.h2.index.Index index) Drop and remove the given local temporary index from this session.void
removeProcedure
(String name) Remove a procedure from this session.void
resetThreadLocalSession
(Session oldSession) Resets old thread local session.void
rollback()
Fully roll back the current transaction.void
rollbackTo
(SessionLocal.Savepoint savepoint) Partially roll back the current transaction.void
rollbackToSavepoint
(String name) Undo all operations back to the log position of the given savepoint.void
setAllowLiterals
(boolean b) void
setAutoCommit
(boolean b) Set the auto-commit mode.boolean
setCommitOrRollbackDisabled
(boolean x) void
setCurrentSchema
(org.h2.schema.Schema schema) void
setCurrentSchemaName
(String schemaName) Set current schema.void
setIsolationLevel
(IsolationLevel isolationLevel) Sets the isolation level.void
setLastIdentity
(org.h2.value.Value last) void
setLazyQueryExecution
(boolean lazyQueryExecution) void
setLockTimeout
(int lockTimeout) void
setNetworkConnectionInfo
(org.h2.util.NetworkConnectionInfo networkConnectionInfo) Sets the network connection information if possible.void
setNonKeywords
(BitSet nonKeywords) Sets bit set of non-keywords.void
setOldInformationSchema
(boolean oldInformationSchema) Changes INFORMATION_SCHEMA content.void
setParsingCreateView
(boolean parsingView) This method is called before and after parsing of view definition and may be called recursively.void
setPreparedTransaction
(String transactionName, boolean commit) Commit or roll back the given transaction.void
setQueryTimeout
(int queryTimeout) void
setQuirksMode
(boolean quirksMode) Enables or disables the quirks mode.Create a savepoint to allow rolling back to this state.void
setSchemaSearchPath
(String[] schemas) Sets this session as thread local session, if this session is a local session.void
setThrottle
(int throttle) void
setTimeZone
(org.h2.util.TimeZoneProvider timeZone) Sets current time zone.void
setTruncateLargeLength
(boolean truncateLargeLength) Changes parsing mode of data types with too large length.void
setVariable
(String name, org.h2.value.Value value) Set the value of the given variable for this session.void
setVariableBinary
(boolean variableBinary) Changes parsing of a BINARY data type.void
setWaitForLock
(org.h2.table.Table waitForLock, Thread waitForLockThread) Set the table this session is waiting for, and the thread that is waiting.void
startStatementWithinTransaction
(org.h2.command.Command command) Start a new statement within a transaction.void
throttle()
Wait for some time if this session is throttled (slowed down).toString()
void
Wait if the exclusive mode has been enabled for another session.boolean
Returns are ENUM values 0-based.Methods inherited from class org.h2.engine.Session
isLockedByCurrentThread, lock, readSessionState, unlock
-
Constructor Details
-
SessionLocal
-
-
Method Details
-
setLazyQueryExecution
public void setLazyQueryExecution(boolean lazyQueryExecution) -
isLazyQueryExecution
public boolean isLazyQueryExecution() -
setParsingCreateView
public void setParsingCreateView(boolean parsingView) This method is called before and after parsing of view definition and may be called recursively.- Parameters:
parsingView
-true
if this method is called before parsing of view definition,false
if it is called after it.
-
isParsingCreateView
public boolean isParsingCreateView() -
getClusterServers
Description copied from class:Session
Get the list of the cluster servers for this session.- Specified by:
getClusterServers
in classSession
- Returns:
- A list of "ip:port" strings for the cluster servers in this session.
-
setCommitOrRollbackDisabled
public boolean setCommitOrRollbackDisabled(boolean x) -
setVariable
Set the value of the given variable for this session.- Parameters:
name
- the name of the variable (may not be null)value
- the new value (may not be null)
-
getVariable
Get the value of the specified user defined variable. This method always returns a value; it returns ValueNull.INSTANCE if the variable doesn't exist.- Parameters:
name
- the variable name- Returns:
- the value, or NULL
-
getVariableNames
Get the list of variable names that are set for this session.- Returns:
- the list of names
-
findLocalTempTable
Get the local temporary table if one exists with that name, or null if not.- Parameters:
name
- the table name- Returns:
- the table, or null
-
getLocalTempTables
-
addLocalTempTable
public void addLocalTempTable(org.h2.table.Table table) Add a local temporary table to this session.- Parameters:
table
- the table to add- Throws:
org.h2.message.DbException
- if a table with this name already exists
-
removeLocalTempTable
public void removeLocalTempTable(org.h2.table.Table table) Drop and remove the given local temporary table from this session.- Parameters:
table
- the table
-
findLocalTempTableIndex
Get the local temporary index if one exists with that name, or null if not.- Parameters:
name
- the table name- Returns:
- the table, or null
-
getLocalTempTableIndexes
-
addLocalTempTableIndex
public void addLocalTempTableIndex(org.h2.index.Index index) Add a local temporary index to this session.- Parameters:
index
- the index to add- Throws:
org.h2.message.DbException
- if a index with this name already exists
-
removeLocalTempTableIndex
public void removeLocalTempTableIndex(org.h2.index.Index index) Drop and remove the given local temporary index from this session.- Parameters:
index
- the index
-
findLocalTempTableConstraint
Get the local temporary constraint if one exists with that name, or null if not.- Parameters:
name
- the constraint name- Returns:
- the constraint, or null
-
getLocalTempTableConstraints
Get the map of constraints for all constraints on local, temporary tables, if any. The map's keys are the constraints' names.- Returns:
- the map of constraints, or null
-
addLocalTempTableConstraint
public void addLocalTempTableConstraint(org.h2.constraint.Constraint constraint) Add a local temporary constraint to this session.- Parameters:
constraint
- the constraint to add- Throws:
org.h2.message.DbException
- if a constraint with the same name already exists
-
getAutoCommit
public boolean getAutoCommit()Description copied from class:Session
Check if this session is in auto-commit mode.- Specified by:
getAutoCommit
in classSession
- Returns:
- true if the session is in auto-commit mode
-
getUser
-
setAutoCommit
public void setAutoCommit(boolean b) Description copied from class:Session
Set the auto-commit mode. This call doesn't commit the current transaction.- Specified by:
setAutoCommit
in classSession
- Parameters:
b
- the new value
-
getLockTimeout
public int getLockTimeout() -
setLockTimeout
public void setLockTimeout(int lockTimeout) -
prepareCommand
Description copied from class:Session
Parse a command and prepare it for execution.- Specified by:
prepareCommand
in classSession
- Parameters:
sql
- the SQL statementfetchSize
- the number of rows to fetch in one step- Returns:
- the prepared command
-
prepare
Parse and prepare the given SQL statement. This method also checks the rights.- Parameters:
sql
- the SQL statement- Returns:
- the prepared statement
-
prepare
public org.h2.command.Prepared prepare(String sql, boolean rightsChecked, boolean literalsChecked, org.h2.command.QueryScope queryScope) Parse and prepare the given SQL statement.- Parameters:
sql
- the SQL statementrightsChecked
- true if the rights have already been checkedliteralsChecked
- true if the sql string has already been checked for literals (only used if ALLOW_LITERALS NONE is set).queryScope
- the scope of this query, ornull
- Returns:
- the prepared statement
-
prepareQueryExpression
public org.h2.command.query.Query prepareQueryExpression(String sql, org.h2.command.QueryScope queryScope) Parse a query and prepare its expressions. Rights and literals must be already checked.- Parameters:
sql
- the SQL statementqueryScope
- the scope of this query, ornull
- Returns:
- the prepared statement
-
prepareLocal
Parse and prepare the given SQL statement. This method also checks if the connection has been closed.- Parameters:
sql
- the SQL statement- Returns:
- the prepared statement
-
getDatabase
-
commit
public void commit(boolean ddl) Commit the current transaction. If the statement was not a data definition statement, and if there are temporary tables that should be dropped or truncated at commit, this is done as well.- Parameters:
ddl
- if the statement was a data definition statement
-
getSnapshotDataModificationId
public long getSnapshotDataModificationId()Returns the data modification id of transaction's snapshot, or 0 if isolation level doesn't use snapshots.- Returns:
- the data modification id of transaction's snapshot, or 0
-
rollback
public void rollback()Fully roll back the current transaction. -
rollbackTo
Partially roll back the current transaction.- Parameters:
savepoint
- the savepoint to which should be rolled back
-
hasPendingTransaction
public boolean hasPendingTransaction()Description copied from class:Session
Check whether this session has a pending transaction.- Specified by:
hasPendingTransaction
in classSession
- Returns:
- true if it has
-
setSavepoint
Create a savepoint to allow rolling back to this state.- Returns:
- the savepoint
-
getId
public int getId() -
cancel
public void cancel()Description copied from class:Session
Cancel the current or next command (called when closing a connection). -
close
public void close()Description copied from class:Session
Roll back pending transactions and close the session.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in classSession
-
registerTableAsLocked
public void registerTableAsLocked(org.h2.table.Table table) Register table as locked within current transaction. Table is unlocked on commit or rollback. It also assumes that table will be modified by transaction.- Parameters:
table
- the table that is locked
-
registerTableAsUpdated
public void registerTableAsUpdated(org.h2.table.Table table) Register table as updated within current transaction. This is used instead of table locking when lock mode is LOCK_MODE_OFF.- Parameters:
table
- to register
-
getRandom
-
getTrace
public org.h2.message.Trace getTrace()Description copied from class:Session
Get the trace object -
getNextValueFor
public org.h2.value.Value getNextValueFor(org.h2.schema.Sequence sequence, org.h2.command.Prepared prepared) Returns the next value of the sequence in this session.- Parameters:
sequence
- the sequenceprepared
- current prepared command, select, ornull
- Returns:
- the next value of the sequence in this session
-
getCurrentValueFor
public org.h2.value.Value getCurrentValueFor(org.h2.schema.Sequence sequence) Returns the current value of the sequence in this session.- Parameters:
sequence
- the sequence- Returns:
- the current value of the sequence in this session
- Throws:
org.h2.message.DbException
- if current value is not defined
-
setLastIdentity
public void setLastIdentity(org.h2.value.Value last) -
getLastIdentity
public org.h2.value.Value getLastIdentity() -
containsUncommitted
public boolean containsUncommitted()Whether the session contains any uncommitted changes.- Returns:
- true if yes
-
addSavepoint
Create a savepoint that is linked to the current log position.- Parameters:
name
- the savepoint name
-
rollbackToSavepoint
Undo all operations back to the log position of the given savepoint.- Parameters:
name
- the savepoint name
-
prepareCommit
Prepare the given transaction.- Parameters:
transactionName
- the name of the transaction
-
hasPreparedTransaction
public boolean hasPreparedTransaction()Checks presence of prepared transaction in this session.- Returns:
true
if there is a prepared transaction,false
otherwise
-
setPreparedTransaction
Commit or roll back the given transaction.- Parameters:
transactionName
- the name of the transactioncommit
- true for commit, false for rollback
-
isClosed
public boolean isClosed()Description copied from class:Session
Check if close was called. -
isOpen
public boolean isOpen() -
setThrottle
public void setThrottle(int throttle) -
throttle
public void throttle()Wait for some time if this session is throttled (slowed down). -
checkCanceled
public void checkCanceled()Check if the current transaction is canceled by calling Statement.cancel() or because a session timeout was set and expired.- Throws:
org.h2.message.DbException
- if the transaction is canceled
-
getCancel
public long getCancel()Get the cancel time.- Returns:
- the time or 0 if not set
-
getCurrentCommand
public org.h2.command.Command getCurrentCommand() -
getCommandStartOrEnd
public org.h2.value.ValueTimestampTimeZone getCommandStartOrEnd() -
getAllowLiterals
public boolean getAllowLiterals() -
setAllowLiterals
public void setAllowLiterals(boolean b) -
setCurrentSchema
public void setCurrentSchema(org.h2.schema.Schema schema) -
getCurrentSchemaName
Description copied from class:Session
Get current schema.- Specified by:
getCurrentSchemaName
in classSession
- Returns:
- the current schema name
-
setCurrentSchemaName
Description copied from class:Session
Set current schema.- Specified by:
setCurrentSchemaName
in classSession
- Parameters:
schemaName
- the schema name
-
createConnection
Create an internal connection. This connection is used when initializing triggers, and when calling user defined functions.- Parameters:
columnList
- if the url should be 'jdbc:columnlist:connection'- Returns:
- the internal connection
-
getDataHandler
public org.h2.store.DataHandler getDataHandler()Description copied from class:Session
Get the data handler object.- Specified by:
getDataHandler
in classSession
- Returns:
- the data handler
-
removeAtCommit
public void removeAtCommit(org.h2.value.ValueLob v) Remember that the given LOB value must be removed at commit.- Parameters:
v
- the value
-
removeAtCommitStop
public void removeAtCommitStop(org.h2.value.ValueLob v) Do not remove this LOB value at commit any longer.- Parameters:
v
- the value
-
getNextSystemIdentifier
Get the next system generated identifiers. The identifier returned does not occur within the given SQL statement.- Parameters:
sql
- the SQL statement- Returns:
- the new identifier
-
addProcedure
Add a procedure to this session.- Parameters:
procedure
- the procedure to add
-
removeProcedure
Remove a procedure from this session.- Parameters:
name
- the name of the procedure to remove
-
getProcedure
Get the procedure with the given name, or null if none exists.- Parameters:
name
- the procedure name- Returns:
- the procedure or null
-
setSchemaSearchPath
-
getSchemaSearchPath
-
hashCode
public int hashCode() -
toString
-
begin
public void begin()Begin a transaction. -
getSessionStart
public org.h2.value.ValueTimestampTimeZone getSessionStart() -
getLocks
-
waitIfExclusiveModeEnabled
public void waitIfExclusiveModeEnabled()Wait if the exclusive mode has been enabled for another session. This method returns as soon as the exclusive mode has been disabled. -
getViewIndexCache
Get the view cache for this session. There are two caches: the derived table cache (which is only use for a single query, has no bounds, and is cleared after use), and the cache for regular views.- Parameters:
derivedTable
- true to get the cache of derived tables- Returns:
- the view cache or derived table cache
-
setQueryTimeout
public void setQueryTimeout(int queryTimeout) -
getQueryTimeout
public int getQueryTimeout() -
setWaitForLock
Set the table this session is waiting for, and the thread that is waiting.- Parameters:
waitForLock
- the tablewaitForLockThread
- the current thread (the one that is waiting)
-
getWaitForLock
public org.h2.table.Table getWaitForLock() -
getWaitForLockThread
-
getModificationId
public int getModificationId() -
getTransactionId
public org.h2.value.Value getTransactionId() -
nextObjectId
public int nextObjectId()Get the next object id.- Returns:
- the next object id
-
getTransaction
public org.h2.mvstore.tx.Transaction getTransaction()Get the transaction to use for this session.- Returns:
- the transaction
-
startStatementWithinTransaction
public void startStatementWithinTransaction(org.h2.command.Command command) Start a new statement within a transaction.- Parameters:
command
- about to be started
-
endStatement
public void endStatement()Mark the statement as completed. This also close all temporary result set, and deletes all temporary files held by the result sets. -
getStatementModificationDataId
public long getStatementModificationDataId()Returns database data modification id on start of the current command.- Returns:
- database data modification id on start of the current command
-
clearViewIndexCache
public void clearViewIndexCache()Clear the view cache for this session. -
addTemporaryLob
public org.h2.value.ValueLob addTemporaryLob(org.h2.value.ValueLob v) Description copied from class:Session
Add a temporary LOB, which is closed when the session commits.- Specified by:
addTemporaryLob
in classSession
- Parameters:
v
- the value- Returns:
- the specified value
-
isRemote
public boolean isRemote()Description copied from class:Session
Check if this session is remote or embedded. -
markTableForAnalyze
public void markTableForAnalyze(org.h2.table.Table table) Mark that the given table needs to be analyzed on commit.- Parameters:
table
- the table
-
getState
-
getBlockingSessionId
public int getBlockingSessionId() -
onRollback
public void onRollback(org.h2.mvstore.MVMap<Object, org.h2.value.VersionedValue<Object>> map, Object key, org.h2.value.VersionedValue<Object> existingValue, org.h2.value.VersionedValue<Object> restoredValue) Description copied from interface:org.h2.mvstore.tx.TransactionStore.RollbackListener
Notified of a single map change (add/update/remove)- Specified by:
onRollback
in interfaceorg.h2.mvstore.tx.TransactionStore.RollbackListener
- Parameters:
map
- modifiedkey
- of the modified entryexistingValue
- value in the map (null if delete is rolled back)restoredValue
- value to be restored (null if add is rolled back)
-
getNetworkConnectionInfo
public org.h2.util.NetworkConnectionInfo getNetworkConnectionInfo()Returns the network connection information, ornull
.- Returns:
- the network connection information, or
null
-
setNetworkConnectionInfo
public void setNetworkConnectionInfo(org.h2.util.NetworkConnectionInfo networkConnectionInfo) Description copied from class:Session
Sets the network connection information if possible.- Specified by:
setNetworkConnectionInfo
in classSession
- Parameters:
networkConnectionInfo
- the network connection information
-
currentTimestamp
public org.h2.value.ValueTimestampTimeZone 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)
-
getMode
Description copied from interface:CastDataProvider
Returns the database mode.- Specified by:
getMode
in interfaceCastDataProvider
- Returns:
- the database mode
-
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
-
getIsolationLevel
Description copied from class:Session
Returns the isolation level.- Specified by:
getIsolationLevel
in classSession
- Returns:
- the isolation level
-
setIsolationLevel
Description copied from class:Session
Sets the isolation level.- Specified by:
setIsolationLevel
in classSession
- Parameters:
isolationLevel
- the isolation level to set
-
getNonKeywords
Gets bit set of non-keywords.- Returns:
- set of non-keywords, or
null
-
setNonKeywords
Sets bit set of non-keywords.- Parameters:
nonKeywords
- set of non-keywords, ornull
-
getStaticSettings
Description copied from class:Session
Returns static settings. These settings cannot be changed during lifecycle of session.- Specified by:
getStaticSettings
in classSession
- Returns:
- static settings
-
getDynamicSettings
Description copied from class:Session
Returns dynamic settings. These settings can be changed during lifecycle of session.- Specified by:
getDynamicSettings
in classSession
- Returns:
- dynamic settings
-
currentTimeZone
public org.h2.util.TimeZoneProvider currentTimeZone()Description copied from interface:CastDataProvider
Returns the current time zone.- Specified by:
currentTimeZone
in interfaceCastDataProvider
- Returns:
- the current time zone
-
setTimeZone
public void setTimeZone(org.h2.util.TimeZoneProvider timeZone) Sets current time zone.- Parameters:
timeZone
- time zone
-
areEqual
public boolean areEqual(org.h2.value.Value a, org.h2.value.Value b) Check if two values are equal with the current comparison mode.- Parameters:
a
- the first valueb
- the second value- Returns:
- true if both objects are equal
-
compare
public int compare(org.h2.value.Value a, org.h2.value.Value b) Compare two values with the current comparison mode. The values may have different data types including NULL.- Parameters:
a
- the first valueb
- the second value- Returns:
- 0 if both values are equal, -1 if the first value is smaller, and 1 otherwise
-
compareWithNull
public int compareWithNull(org.h2.value.Value a, org.h2.value.Value b, boolean forEquality) Compare two values with the current comparison mode. The values may have different data types including NULL.- Parameters:
a
- the first valueb
- the second valueforEquality
- perform only check for equality (= or <>)- Returns:
- 0 if both values are equal, -1 if the first value is smaller, 1
if the second value is larger,
Integer.MIN_VALUE
if order is not defined due to NULL comparison
-
compareTypeSafe
public int compareTypeSafe(org.h2.value.Value a, org.h2.value.Value b) Compare two values with the current comparison mode. The values must be of the same type.- Parameters:
a
- the first valueb
- the second value- Returns:
- 0 if both values are equal, -1 if the first value is smaller, and 1 otherwise
-
setTruncateLargeLength
public void setTruncateLargeLength(boolean truncateLargeLength) Changes parsing mode of data types with too large length.- Parameters:
truncateLargeLength
-true
to truncate to valid bound,false
to throw an exception
-
isTruncateLargeLength
public boolean isTruncateLargeLength()Returns parsing mode of data types with too large length.- Returns:
true
if large length is truncated,false
if an exception is thrown
-
setVariableBinary
public void setVariableBinary(boolean variableBinary) Changes parsing of a BINARY data type.- Parameters:
variableBinary
-true
to parse BINARY as VARBINARY,false
to parse it as is
-
isVariableBinary
public boolean isVariableBinary()Returns BINARY data type parsing mode.- Returns:
true
if BINARY should be parsed as VARBINARY,false
if it should be parsed as is
-
setOldInformationSchema
public void setOldInformationSchema(boolean oldInformationSchema) Changes INFORMATION_SCHEMA content.- Parameters:
oldInformationSchema
-true
to have old-style tables in INFORMATION_SCHEMA,false
to have modern tables
-
isOldInformationSchema
public boolean isOldInformationSchema()Description copied from class:Session
Returns whether INFORMATION_SCHEMA contains old-style tables.- Specified by:
isOldInformationSchema
in classSession
- Returns:
- whether INFORMATION_SCHEMA contains old-style tables
-
getDatabaseMeta
public org.h2.jdbc.meta.DatabaseMeta getDatabaseMeta()Description copied from class:Session
Returns database meta information.- Specified by:
getDatabaseMeta
in classSession
- Returns:
- database meta information
-
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
-
setQuirksMode
public void setQuirksMode(boolean quirksMode) Enables or disables the quirks mode.- Parameters:
quirksMode
- whether quirks mode should be enabled
-
isQuirksMode
public boolean isQuirksMode()Returns whether quirks mode is enabled explicitly or implicitly.- Returns:
true
if database is starting or quirks mode was enabled explicitly,false
otherwise
-
setThreadLocalSession
Description copied from class:Session
Sets this session as thread local session, if this session is a local session.- Overrides:
setThreadLocalSession
in classSession
- Returns:
- old thread local session, or
null
-
resetThreadLocalSession
Description copied from class:Session
Resets old thread local session.- Overrides:
resetThreadLocalSession
in classSession
- Parameters:
oldSession
- the old thread local session, ornull
-