|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.h2.engine.Session
public class Session
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 | |
---|---|
static class |
Session.Savepoint
Represents a savepoint (a position in a transaction to where one can roll back to). |
Field Summary | |
---|---|
static int |
LOG_WRITTEN
This special log position means that the log entry has been written. |
protected java.util.ArrayList<java.lang.String> |
sessionState
|
protected boolean |
sessionStateChanged
|
Constructor Summary | |
---|---|
Session(Database database,
User user,
int id)
|
Method Summary | |
---|---|
void |
addLocalTempTable(Table table)
Add a local temporary table to this session. |
void |
addLocalTempTableConstraint(Constraint constraint)
Add a local temporary constraint to this session. |
void |
addLocalTempTableIndex(Index index)
Add a local temporary index to this session. |
void |
addLock(Table table)
Add a lock for the given table. |
void |
addLogPos(int logId,
int pos)
Called when a log entry for this session is added. |
void |
addProcedure(Procedure procedure)
Add a procedure to this session. |
void |
addSavepoint(java.lang.String name)
Create a savepoint that is linked to the current log position. |
void |
addTemporaryLob(Value v)
Add a temporary LOB, which is closed when the session commits. |
void |
addTemporaryResult(ResultInterface result)
Remember the result set and close it as soon as the transaction is committed (if it needs to be closed). |
void |
afterWriting()
Called after writing has ended. |
void |
begin()
Begin a transaction. |
void |
cancel()
Cancel the current or next command (called when closing a connection). |
void |
checkCanceled()
Check if the current transaction is canceled by calling Statement.cancel() or because a session timeout was set and expired. |
void |
close()
Roll back pending transactions and close the session. |
void |
commit(boolean ddl)
Commit the current transaction. |
boolean |
containsUncommitted()
Whether the session contains any uncommitted changes. |
JdbcConnection |
createConnection(boolean columnList)
Create an internal connection. |
void |
endStatement()
Mark the statement as completed. |
Table |
findLocalTempTable(java.lang.String name)
Get the local temporary table if one exists with that name, or null if not. |
Constraint |
findLocalTempTableConstraint(java.lang.String name)
Get the local temporary constraint if one exists with that name, or null if not. |
Index |
findLocalTempTableIndex(java.lang.String name)
Get the local temporary index if one exists with that name, or null if not. |
boolean |
getAllowLiterals()
|
boolean |
getAutoCommit()
Check if this session is in auto-commit mode. |
long |
getCancel()
Get the cancel time. |
Command |
getCurrentCommand()
|
long |
getCurrentCommandStart()
|
java.lang.String |
getCurrentSchemaName()
|
Database |
getDatabase()
|
DataHandler |
getDataHandler()
Get the data handler object. |
int |
getFirstUncommittedLog()
|
int |
getId()
|
Value |
getLastIdentity()
|
Value |
getLastScopeIdentity()
|
java.util.HashMap<java.lang.String,Constraint> |
getLocalTempTableConstraints()
Get the map of constraints for all constraints on local, temporary tables, if any. |
java.util.HashMap<java.lang.String,Index> |
getLocalTempTableIndexes()
|
java.util.ArrayList<Table> |
getLocalTempTables()
|
Table[] |
getLocks()
|
int |
getLockTimeout()
|
int |
getModificationId()
|
java.lang.String |
getNextSystemIdentifier(java.lang.String sql)
Get the next system generated identifiers. |
int |
getPowerOffCount()
Get the number of disk operations before power failure is simulated. |
Procedure |
getProcedure(java.lang.String name)
Get the procedure with the given name, or null if none exists. |
int |
getQueryTimeout()
|
java.util.Random |
getRandom()
|
java.lang.String[] |
getSchemaSearchPath()
|
long |
getSessionStart()
|
long |
getStatementSavepoint()
|
Trace |
getTrace()
Get the trace object |
TransactionStore.Transaction |
getTransaction()
Get the transaction to use for this session. |
Value |
getTransactionId()
|
long |
getTransactionStart()
|
User |
getUser()
|
Value |
getVariable(java.lang.String name)
Get the value of the specified user defined variable. |
java.lang.String[] |
getVariableNames()
Get the list of variable names that are set for this session. |
Table |
getWaitForLock()
|
java.lang.Thread |
getWaitForLockThread()
|
int |
hashCode()
|
boolean |
hasPendingTransaction()
Check whether this session has a pending transaction. |
boolean |
isClosed()
Check if close was called. |
boolean |
isReconnectNeeded(boolean write)
Check if the database changed and therefore reconnecting is required. |
boolean |
isRedoLogBinaryEnabled()
|
boolean |
isUndoLogEnabled()
|
void |
log(Table table,
short operation,
Row row)
Add an undo log entry to this session. |
int |
nextObjectId()
Get the next object id. |
Prepared |
prepare(java.lang.String sql)
Parse and prepare the given SQL statement. |
Prepared |
prepare(java.lang.String sql,
boolean rightsChecked)
Parse and prepare the given SQL statement. |
CommandInterface |
prepareCommand(java.lang.String sql,
int fetchSize)
Parse a command and prepare it for execution. |
void |
prepareCommit(java.lang.String transactionName)
Prepare the given transaction. |
Command |
prepareLocal(java.lang.String sql)
Parse and prepare the given SQL statement. |
void |
readSessionState()
Read the session state if necessary. |
SessionInterface |
reconnect(boolean write)
Close the connection and open a new connection. |
protected void |
recreateSessionState()
Re-create the session state using the stored sessionState list. |
void |
removeLocalTempTable(Table table)
Drop and remove the given local temporary table from this session. |
void |
removeLocalTempTableIndex(Index index)
Drop and remove the given local temporary index from this session. |
void |
removeProcedure(java.lang.String name)
Remove a procedure from this session. |
void |
rollback()
Fully roll back the current transaction. |
void |
rollbackTo(Session.Savepoint savepoint,
boolean trimToSize)
Partially roll back the current transaction. |
void |
rollbackToSavepoint(java.lang.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 |
setConnectionInfo(ConnectionInfo ci)
|
void |
setCurrentCommand(Command command)
Set the current command of this session. |
void |
setCurrentSchema(Schema schema)
|
void |
setLastIdentity(Value last)
|
void |
setLastScopeIdentity(Value last)
|
void |
setLockTimeout(int lockTimeout)
|
void |
setPowerOffCount(int count)
Set the number of disk operations before power failure is simulated. |
void |
setPreparedTransaction(java.lang.String transactionName,
boolean commit)
Commit or roll back the given transaction. |
void |
setQueryTimeout(int queryTimeout)
|
void |
setRedoLogBinary(boolean b)
|
Session.Savepoint |
setSavepoint()
Create a savepoint to allow rolling back to this state. |
void |
setSchemaSearchPath(java.lang.String[] schemas)
|
void |
setThrottle(int throttle)
|
void |
setUndoLogEnabled(boolean b)
|
void |
setVariable(java.lang.String name,
Value value)
Set the value of the given variable for this session. |
void |
setWaitForLock(Table waitForLock,
java.lang.Thread waitForLockThread)
Set the table this session is waiting for, and the thread that is waiting. |
void |
startStatementWithinTransaction()
Start a new statement within a transaction. |
void |
throttle()
Wait for some time if this session is throttled (slowed down). |
java.lang.String |
toString()
|
void |
unlinkAtCommit(Value v)
Remember that the given LOB value must be un-linked (disconnected from the table) at commit. |
void |
unlinkAtCommitStop(Value v)
Do not unlink this LOB value at commit any longer. |
void |
unlockReadLocks()
Unlock all read locks. |
void |
waitIfExclusiveModeEnabled()
Wait if the exclusive mode has been enabled for another session. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int LOG_WRITTEN
protected java.util.ArrayList<java.lang.String> sessionState
protected boolean sessionStateChanged
Constructor Detail |
---|
public Session(Database database, User user, int id)
Method Detail |
---|
public boolean setCommitOrRollbackDisabled(boolean x)
public void setVariable(java.lang.String name, Value value)
name
- the name of the variable (may not be null)value
- the new value (may not be null)public Value getVariable(java.lang.String name)
name
- the variable name
public java.lang.String[] getVariableNames()
public Table findLocalTempTable(java.lang.String name)
name
- the table name
public java.util.ArrayList<Table> getLocalTempTables()
public void addLocalTempTable(Table table)
table
- the table to add
DbException
- if a table with this name already existspublic void removeLocalTempTable(Table table)
table
- the tablepublic Index findLocalTempTableIndex(java.lang.String name)
name
- the table name
public java.util.HashMap<java.lang.String,Index> getLocalTempTableIndexes()
public void addLocalTempTableIndex(Index index)
index
- the index to add
DbException
- if a index with this name already existspublic void removeLocalTempTableIndex(Index index)
index
- the indexpublic Constraint findLocalTempTableConstraint(java.lang.String name)
name
- the constraint name
public java.util.HashMap<java.lang.String,Constraint> getLocalTempTableConstraints()
public void addLocalTempTableConstraint(Constraint constraint)
constraint
- the constraint to add
DbException
- if a constraint with the same name already existspublic boolean getAutoCommit()
SessionInterface
public User getUser()
public void setAutoCommit(boolean b)
SessionInterface
b
- the new valuepublic int getLockTimeout()
public void setLockTimeout(int lockTimeout)
public CommandInterface prepareCommand(java.lang.String sql, int fetchSize)
SessionInterface
sql
- the SQL statementfetchSize
- the number of rows to fetch in one step
public Prepared prepare(java.lang.String sql)
sql
- the SQL statement
public Prepared prepare(java.lang.String sql, boolean rightsChecked)
sql
- the SQL statementrightsChecked
- true if the rights have already been checked
public Command prepareLocal(java.lang.String sql)
sql
- the SQL statement
public Database getDatabase()
public int getPowerOffCount()
SessionInterface
public void setPowerOffCount(int count)
SessionInterface
count
- the number of operationspublic void commit(boolean ddl)
ddl
- if the statement was a data definition statementpublic void rollback()
public void rollbackTo(Session.Savepoint savepoint, boolean trimToSize)
savepoint
- the savepoint to which should be rolled backtrimToSize
- if the list should be trimmedpublic boolean hasPendingTransaction()
SessionInterface
public Session.Savepoint setSavepoint()
public int getId()
public void cancel()
SessionInterface
public void close()
SessionInterface
public void addLock(Table table)
table
- the table that is lockedpublic void log(Table table, short operation, Row row)
table
- the tableoperation
- the operation type (see UndoLogRecord
)row
- the rowpublic void unlockReadLocks()
public java.util.Random getRandom()
public Trace getTrace()
SessionInterface
public void setLastIdentity(Value last)
public Value getLastIdentity()
public void setLastScopeIdentity(Value last)
public Value getLastScopeIdentity()
public void addLogPos(int logId, int pos)
logId
- the transaction log idpos
- the position of the log entry in the transaction logpublic int getFirstUncommittedLog()
public boolean containsUncommitted()
public void addSavepoint(java.lang.String name)
name
- the savepoint namepublic void rollbackToSavepoint(java.lang.String name)
name
- the savepoint namepublic void prepareCommit(java.lang.String transactionName)
transactionName
- the name of the transactionpublic void setPreparedTransaction(java.lang.String transactionName, boolean commit)
transactionName
- the name of the transactioncommit
- true for commit, false for rollbackpublic boolean isClosed()
SessionInterface
public void setThrottle(int throttle)
public void throttle()
public void setCurrentCommand(Command command)
command
- the commandpublic void checkCanceled()
DbException
- if the transaction is canceledpublic long getCancel()
public Command getCurrentCommand()
public long getCurrentCommandStart()
public boolean getAllowLiterals()
public void setAllowLiterals(boolean b)
public void setCurrentSchema(Schema schema)
public java.lang.String getCurrentSchemaName()
public JdbcConnection createConnection(boolean columnList)
columnList
- if the url should be 'jdbc:columnlist:connection'
public DataHandler getDataHandler()
SessionInterface
public void unlinkAtCommit(Value v)
v
- the valuepublic void unlinkAtCommitStop(Value v)
v
- the valuepublic java.lang.String getNextSystemIdentifier(java.lang.String sql)
sql
- the SQL statement
public void addProcedure(Procedure procedure)
procedure
- the procedure to addpublic void removeProcedure(java.lang.String name)
name
- the name of the procedure to removepublic Procedure getProcedure(java.lang.String name)
name
- the procedure name
public void setSchemaSearchPath(java.lang.String[] schemas)
public java.lang.String[] getSchemaSearchPath()
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public void setUndoLogEnabled(boolean b)
public void setRedoLogBinary(boolean b)
public boolean isUndoLogEnabled()
public void begin()
public long getSessionStart()
public long getTransactionStart()
public Table[] getLocks()
public void waitIfExclusiveModeEnabled()
public void addTemporaryResult(ResultInterface result)
result
- the temporary result setpublic void setQueryTimeout(int queryTimeout)
public int getQueryTimeout()
public void setWaitForLock(Table waitForLock, java.lang.Thread waitForLockThread)
waitForLock
- the tablewaitForLockThread
- the current thread (the one that is waiting)public Table getWaitForLock()
public java.lang.Thread getWaitForLockThread()
public int getModificationId()
public boolean isReconnectNeeded(boolean write)
SessionInterface
write
- if the next operation may be writing
public void afterWriting()
SessionInterface
public SessionInterface reconnect(boolean write)
SessionInterface
write
- if the next operation may be writing
public void setConnectionInfo(ConnectionInfo ci)
public Value getTransactionId()
public int nextObjectId()
public boolean isRedoLogBinaryEnabled()
public TransactionStore.Transaction getTransaction()
public long getStatementSavepoint()
public void startStatementWithinTransaction()
public void endStatement()
public void addTemporaryLob(Value v)
SessionInterface
v
- the valueprotected void recreateSessionState()
public void readSessionState()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |