public class Session extends Object
Modifier and Type | Field and Description |
---|---|
static int |
LOG_WRITTEN
This special log position means that the log entry has been written.
|
protected ArrayList<String> |
sessionState |
protected boolean |
sessionStateChanged |
Constructor and Description |
---|
Session(Database database,
User user,
int id) |
Modifier and Type | Method and Description |
---|---|
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(String name)
Create a savepoint that is linked to the current log position.
|
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 |
closeTemporaryResults()
Close all temporary result set.
|
void |
commit(boolean ddl)
Commit the current transaction.
|
JdbcConnection |
createConnection(boolean columnList)
Create an internal connection.
|
Table |
findLocalTempTable(String name)
Get the local temporary table if one exists with that name, or null if
not.
|
Constraint |
findLocalTempTableConstraint(String name)
Get the local temporary constraint if one exists with that name, or
null if not.
|
Index |
findLocalTempTableIndex(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() |
String |
getCurrentSchemaName() |
Database |
getDatabase() |
DataHandler |
getDataHandler()
Get the data handler object.
|
int |
getFirstUncommittedLog() |
int |
getId() |
Value |
getLastIdentity() |
HashMap<String,Constraint> |
getLocalTempTableConstraints()
Get the map of constraints for all constraints on local, temporary
tables, if any.
|
HashMap<String,Index> |
getLocalTempTableIndexes() |
ArrayList<Table> |
getLocalTempTables() |
Table[] |
getLocks() |
int |
getLockTimeout() |
int |
getLogId() |
int |
getModificationId() |
String |
getNextSystemIdentifier(String sql)
Get the next system generated identifiers.
|
int |
getPowerOffCount()
Get the number of disk operations before power failure is simulated.
|
Procedure |
getProcedure(String name)
Get the procedure with the given name, or null
if none exists.
|
int |
getQueryTimeout() |
Random |
getRandom() |
String[] |
getSchemaSearchPath() |
Value |
getScopeIdentity() |
long |
getSessionStart() |
Trace |
getTrace()
Get the trace object
|
Value |
getTransactionId() |
long |
getTransactionStart() |
User |
getUser() |
Value |
getVariable(String name)
Get the value of the specified user defined variable.
|
String[] |
getVariableNames()
Get the list of variable names that are set for this session.
|
Table |
getWaitForLock() |
int |
hashCode() |
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(String sql)
Parse and prepare the given SQL statement.
|
Prepared |
prepare(String sql,
boolean rightsChecked)
Parse and prepare the given SQL statement.
|
CommandInterface |
prepareCommand(String sql,
int fetchSize)
Parse a command and prepare it for execution.
|
void |
prepareCommit(String transactionName)
Prepare the given transaction.
|
Command |
prepareLocal(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(String name)
Remove a procedure from this session.
|
void |
rollback()
Fully roll back the current transaction.
|
void |
rollbackTo(int index,
boolean trimToSize)
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 |
setConnectionInfo(ConnectionInfo ci) |
void |
setCurrentCommand(Command command)
Set the current command of this session.
|
void |
setCurrentSchema(Schema schema) |
void |
setLastIdentity(Value last) |
void |
setLockTimeout(int lockTimeout) |
void |
setPowerOffCount(int count)
Set the number of disk operations before power failure is simulated.
|
void |
setPreparedTransaction(String transactionName,
boolean commit)
Commit or roll back the given transaction.
|
void |
setQueryTimeout(int queryTimeout) |
void |
setRedoLogBinary(boolean b) |
void |
setSchemaSearchPath(String[] schemas) |
void |
setScopeIdentity(Value scopeIdentity) |
void |
setThrottle(int throttle) |
void |
setUndoLogEnabled(boolean b) |
void |
setVariable(String name,
Value value)
Set the value of the given variable for this session.
|
void |
setWaitForLock(Table table) |
void |
throttle()
Wait for some time if this session is throttled (slowed down).
|
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.
|
public static final int LOG_WRITTEN
protected boolean sessionStateChanged
public boolean setCommitOrRollbackDisabled(boolean x)
public void setVariable(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(String name)
name
- the variable namepublic String[] getVariableNames()
public Table findLocalTempTable(String name)
name
- the table namepublic void addLocalTempTable(Table table)
table
- the table to addDbException
- if a table with this name already existspublic void removeLocalTempTable(Table table)
table
- the tablepublic Index findLocalTempTableIndex(String name)
name
- the table namepublic void addLocalTempTableIndex(Index index)
index
- the index to addDbException
- if a index with this name already existspublic void removeLocalTempTableIndex(Index index)
index
- the indexpublic Constraint findLocalTempTableConstraint(String name)
name
- the constraint namepublic HashMap<String,Constraint> getLocalTempTableConstraints()
public void addLocalTempTableConstraint(Constraint constraint)
constraint
- the constraint to addDbException
- 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(String sql, int fetchSize)
SessionInterface
sql
- the SQL statementfetchSize
- the number of rows to fetch in one steppublic Prepared prepare(String sql)
sql
- the SQL statementpublic Prepared prepare(String sql, boolean rightsChecked)
sql
- the SQL statementrightsChecked
- true if the rights have already been checkedpublic Command prepareLocal(String sql)
sql
- the SQL statementpublic 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(int index, boolean trimToSize)
index
- the position to which should be rolled backtrimToSize
- if the list should be trimmedpublic int getLogId()
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 Random getRandom()
public Trace getTrace()
SessionInterface
public void setLastIdentity(Value last)
public Value getLastIdentity()
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 void addSavepoint(String name)
name
- the savepoint namepublic void rollbackToSavepoint(String name)
name
- the savepoint namepublic void prepareCommit(String transactionName)
transactionName
- the name of the transactionpublic void setPreparedTransaction(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 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 String getNextSystemIdentifier(String sql)
sql
- the SQL statementpublic void addProcedure(Procedure procedure)
procedure
- the procedure to addpublic void removeProcedure(String name)
name
- the name of the procedure to removepublic Procedure getProcedure(String name)
name
- the procedure namepublic void setSchemaSearchPath(String[] schemas)
public String[] getSchemaSearchPath()
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 closeTemporaryResults()
public void setQueryTimeout(int queryTimeout)
public int getQueryTimeout()
public void setWaitForLock(Table table)
public Table getWaitForLock()
public int getModificationId()
public boolean isReconnectNeeded(boolean write)
SessionInterface
write
- if the next operation may be writingpublic void afterWriting()
SessionInterface
public SessionInterface reconnect(boolean write)
SessionInterface
write
- if the next operation may be writingpublic void setConnectionInfo(ConnectionInfo ci)
public Value getTransactionId()
public int nextObjectId()
public void setScopeIdentity(Value scopeIdentity)
public Value getScopeIdentity()
public boolean isRedoLogBinaryEnabled()
protected void recreateSessionState()
public void readSessionState()
Copyright © 2012 JBoss by Red Hat. All Rights Reserved.