Package org.h2.engine

Class Session

java.lang.Object
org.h2.engine.Session
All Implemented Interfaces:
AutoCloseable, CastDataProvider
Direct Known Subclasses:
SessionLocal, SessionRemote

public abstract class Session extends Object implements CastDataProvider, AutoCloseable
A local or remote session. A session represents a database connection.
  • Field Details

    • sessionState

      private ArrayList<String> sessionState
    • sessionStateChanged

      boolean sessionStateChanged
    • sessionStateUpdating

      private boolean sessionStateUpdating
    • staticSettings

      volatile Session.StaticSettings staticSettings
  • Constructor Details

    • Session

      Session()
  • Method Details

    • getClusterServers

      public abstract ArrayList<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 CommandInterface prepareCommand(String sql, int fetchSize)
      Parse a command and prepare it for execution.
      Parameters:
      sql - the SQL statement
      fetchSize - 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:
      close in interface AutoCloseable
    • getTrace

      public abstract 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 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 ValueLob addTemporaryLob(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(String schema)
      Set current schema.
      Parameters:
      schema - the schema name
    • getCurrentSchemaName

      public abstract String getCurrentSchemaName()
      Get current schema.
      Returns:
      the current schema name
    • setNetworkConnectionInfo

      public abstract void setNetworkConnectionInfo(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 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
    • recreateSessionState

      void recreateSessionState()
      Re-create the session state using the stored sessionState list.
    • 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, or null