Package org.h2.engine
Class Session
- java.lang.Object
-
- org.h2.engine.Session
-
- All Implemented Interfaces:
java.lang.AutoCloseable,CastDataProvider
- Direct Known Subclasses:
SessionLocal,SessionRemote
public abstract class Session extends java.lang.Object implements CastDataProvider, java.lang.AutoCloseable
A local or remote session. A session represents a database connection.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSession.DynamicSettingsDynamic settings.static classSession.StaticSettingsStatic settings.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract org.h2.value.ValueLobaddTemporaryLob(org.h2.value.ValueLob v)Add a temporary LOB, which is closed when the session commits.abstract voidcancel()Cancel the current or next command (called when closing a connection).abstract voidclose()Roll back pending transactions and close the session.abstract booleangetAutoCommit()Check if this session is in auto-commit mode.abstract java.util.ArrayList<java.lang.String>getClusterServers()Get the list of the cluster servers for this session.abstract java.lang.StringgetCurrentSchemaName()Get current schema.abstract org.h2.jdbc.meta.DatabaseMetagetDatabaseMeta()Returns database meta information.abstract org.h2.store.DataHandlergetDataHandler()Get the data handler object.abstract Session.DynamicSettingsgetDynamicSettings()Returns dynamic settings.abstract IsolationLevelgetIsolationLevel()Returns the isolation level.abstract Session.StaticSettingsgetStaticSettings()Returns static settings.abstract org.h2.message.TracegetTrace()Get the trace objectabstract booleanhasPendingTransaction()Check whether this session has a pending transaction.abstract booleanisClosed()Check if close was called.abstract booleanisOldInformationSchema()Returns whether INFORMATION_SCHEMA contains old-style tables.abstract booleanisRemote()Check if this session is remote or embedded.abstract org.h2.command.CommandInterfaceprepareCommand(java.lang.String sql, int fetchSize)Parse a command and prepare it for execution.voidreadSessionState()Read the session state if necessary.voidresetThreadLocalSession(Session oldSession)Resets old thread local session.abstract voidsetAutoCommit(boolean autoCommit)Set the auto-commit mode.abstract voidsetCurrentSchemaName(java.lang.String schema)Set current schema.abstract voidsetIsolationLevel(IsolationLevel isolationLevel)Sets the isolation level.abstract voidsetNetworkConnectionInfo(org.h2.util.NetworkConnectionInfo networkConnectionInfo)Sets the network connection information if possible.SessionsetThreadLocalSession()Sets this session as thread local session, if this session is a local session.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.h2.engine.CastDataProvider
currentTimestamp, currentTimeZone, getJavaObjectSerializer, getMode, zeroBasedEnums
-
-
-
-
Method Detail
-
getClusterServers
public abstract java.util.ArrayList<java.lang.String> getClusterServers()
Get the list of the cluster servers for this session.- Returns:
- A list of "ip:port" strings for the cluster servers in this session.
-
prepareCommand
public abstract org.h2.command.CommandInterface prepareCommand(java.lang.String sql, int fetchSize)Parse a command and prepare it for execution.- Parameters:
sql- the SQL statementfetchSize- the number of rows to fetch in one step- Returns:
- the prepared command
-
close
public abstract void close()
Roll back pending transactions and close the session.- Specified by:
closein interfacejava.lang.AutoCloseable
-
getTrace
public abstract org.h2.message.Trace getTrace()
Get the trace object- Returns:
- the trace object
-
isClosed
public abstract boolean isClosed()
Check if close was called.- Returns:
- if the session has been closed
-
getDataHandler
public abstract org.h2.store.DataHandler getDataHandler()
Get the data handler object.- Returns:
- the data handler
-
hasPendingTransaction
public abstract boolean hasPendingTransaction()
Check whether this session has a pending transaction.- Returns:
- true if it has
-
cancel
public abstract void cancel()
Cancel the current or next command (called when closing a connection).
-
getAutoCommit
public abstract boolean getAutoCommit()
Check if this session is in auto-commit mode.- Returns:
- true if the session is in auto-commit mode
-
setAutoCommit
public abstract void setAutoCommit(boolean autoCommit)
Set the auto-commit mode. This call doesn't commit the current transaction.- Parameters:
autoCommit- the new value
-
addTemporaryLob
public abstract org.h2.value.ValueLob addTemporaryLob(org.h2.value.ValueLob v)
Add a temporary LOB, which is closed when the session commits.- Parameters:
v- the value- Returns:
- the specified value
-
isRemote
public abstract boolean isRemote()
Check if this session is remote or embedded.- Returns:
- true if this session is remote
-
setCurrentSchemaName
public abstract void setCurrentSchemaName(java.lang.String schema)
Set current schema.- Parameters:
schema- the schema name
-
getCurrentSchemaName
public abstract java.lang.String getCurrentSchemaName()
Get current schema.- Returns:
- the current schema name
-
setNetworkConnectionInfo
public abstract void setNetworkConnectionInfo(org.h2.util.NetworkConnectionInfo networkConnectionInfo)
Sets the network connection information if possible.- Parameters:
networkConnectionInfo- the network connection information
-
getIsolationLevel
public abstract IsolationLevel getIsolationLevel()
Returns the isolation level.- Returns:
- the isolation level
-
setIsolationLevel
public abstract void setIsolationLevel(IsolationLevel isolationLevel)
Sets the isolation level.- Parameters:
isolationLevel- the isolation level to set
-
getStaticSettings
public abstract Session.StaticSettings getStaticSettings()
Returns static settings. These settings cannot be changed during lifecycle of session.- Returns:
- static settings
-
getDynamicSettings
public abstract Session.DynamicSettings getDynamicSettings()
Returns dynamic settings. These settings can be changed during lifecycle of session.- Returns:
- dynamic settings
-
getDatabaseMeta
public abstract org.h2.jdbc.meta.DatabaseMeta getDatabaseMeta()
Returns database meta information.- Returns:
- database meta information
-
isOldInformationSchema
public abstract boolean isOldInformationSchema()
Returns whether INFORMATION_SCHEMA contains old-style tables.- Returns:
- whether INFORMATION_SCHEMA contains old-style tables
-
readSessionState
public void readSessionState()
Read the session state if necessary.
-
setThreadLocalSession
public Session setThreadLocalSession()
Sets this session as thread local session, if this session is a local session.- Returns:
- old thread local session, or
null
-
resetThreadLocalSession
public void resetThreadLocalSession(Session oldSession)
Resets old thread local session.- Parameters:
oldSession- the old thread local session, ornull
-
-