public class MTConnection
extends java.lang.Object
implements java.sql.Connection
Used to set context within MultiTenancy.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CONTEXTCHANGE
Used to log changes in context.
|
static java.lang.String |
UNSUPPORTED
Used to log unsupported operations.
|
Constructor and Description |
---|
MTConnection(java.sql.Connection conDB,
java.util.Properties properties)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
abort(java.util.concurrent.Executor executor) |
void |
clearWarnings() |
void |
close() |
void |
commit()
All connections with uncommitted changes are committed.
|
java.sql.Array |
createArrayOf(java.lang.String arg0,
java.lang.Object[] arg1) |
java.sql.Blob |
createBlob() |
java.sql.Clob |
createClob() |
java.sql.NClob |
createNClob() |
java.sql.SQLXML |
createSQLXML() |
java.sql.Statement |
createStatement() |
java.sql.Statement |
createStatement(int resultSetType,
int resultSetConcurrency) |
java.sql.Statement |
createStatement(int resultSetType,
int resultSetConcurrency,
int resultSetHoldability) |
java.sql.Struct |
createStruct(java.lang.String arg0,
java.lang.Object[] arg1) |
java.util.Set<MTContext> |
getAllContexts() |
boolean |
getAutoCommit() |
java.lang.String |
getCatalog() |
java.util.Properties |
getClientInfo() |
java.lang.String |
getClientInfo(java.lang.String arg0) |
MTContext |
getContext()
Get the current context.
|
java.sql.Connection |
getContextConnection(MTContext context) |
MTContext |
getContextForQuery(java.lang.String sql) |
java.util.List<ContextSql> |
getContextForSql(java.lang.String sql)
Builds a set of contexts to properly execute the SQL statement.
|
int |
getHoldability() |
java.sql.DatabaseMetaData |
getMetaData() |
int |
getNetworkTimeout() |
java.lang.String |
getSchema() |
MTStorageType |
getStorageType(java.lang.String tbname)
Returns a table's storage type.
|
java.util.List<MTContext> |
getTargetContext()
Get the Target Context list.
|
java.util.Set<MTContext> |
getTenantContexts() |
int |
getTransactionIsolation() |
java.util.Map<java.lang.String,java.lang.Class<?>> |
getTypeMap() |
java.sql.SQLWarning |
getWarnings() |
boolean |
isClosed() |
boolean |
isReadOnly() |
boolean |
isValid(int arg0) |
boolean |
isWrapperFor(java.lang.Class<?> iface) |
java.lang.String |
nativeSQL(java.lang.String arg0) |
void |
popContext() |
java.sql.CallableStatement |
prepareCall(java.lang.String sql) |
java.sql.CallableStatement |
prepareCall(java.lang.String arg0,
int arg1,
int arg2) |
java.sql.CallableStatement |
prepareCall(java.lang.String arg0,
int arg1,
int arg2,
int arg3) |
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql) |
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql,
int autoGeneratedKeys) |
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql,
int[] columnIndexes) |
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql,
int resultSetType,
int resultSetConcurrency) |
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql,
int resultSetType,
int resultSetConcurrency,
int resultSetHoldability) |
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql,
java.lang.String[] columnNames) |
void |
pushContext(java.util.List<MTContext> contextList) |
void |
pushContext(MTContext context) |
void |
releaseSavepoint(java.sql.Savepoint arg0) |
void |
rollback() |
void |
rollback(java.sql.Savepoint savepoint) |
void |
setAutoCommit(boolean autoCommit)
All sub-connection will have the same AutoCommit setting.
|
void |
setCatalog(java.lang.String arg0) |
void |
setClientInfo(java.util.Properties arg0) |
void |
setClientInfo(java.lang.String arg0,
java.lang.String arg1) |
void |
setHoldability(int arg0) |
void |
setNetworkTimeout(java.util.concurrent.Executor executor,
int milliseconds) |
void |
setReadOnly(boolean arg0) |
java.sql.Savepoint |
setSavepoint() |
java.sql.Savepoint |
setSavepoint(java.lang.String arg0) |
void |
setSchema(java.lang.String schema) |
void |
setStorageType(java.lang.String tbname,
MTStorageType st)
Tell the connection the storage type of a table.
|
void |
setTargetContext(MTContext c) |
void |
setTargetContextByName(java.lang.String context)
Set the targeted context for future statements.
|
void |
setTargetContexts(java.util.Collection<MTContext> c)
When the target context is set, only this context will be
used for operations & selects on TRANSACTIONAL, DELTA, and TEMPLATE tables.
|
void |
setTransactionIsolation(int arg0) |
void |
setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> arg0) |
<T> T |
unwrap(java.lang.Class<T> iface) |
public static final java.lang.String CONTEXTCHANGE
public static final java.lang.String UNSUPPORTED
public MTConnection(java.sql.Connection conDB, java.util.Properties properties) throws java.lang.Exception
conDB
- properties
- java.lang.Exception
public void clearWarnings() throws java.sql.SQLException
clearWarnings
in interface java.sql.Connection
java.sql.SQLException
public void close() throws java.sql.SQLException
close
in interface java.lang.AutoCloseable
close
in interface java.sql.Connection
java.sql.SQLException
public void commit() throws java.sql.SQLException
commit
in interface java.sql.Connection
java.sql.SQLException
Connection.commit()
public java.sql.Connection getContextConnection(MTContext context)
public MTContext getContext()
public java.sql.Array createArrayOf(java.lang.String arg0, java.lang.Object[] arg1) throws java.sql.SQLException
createArrayOf
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Blob createBlob() throws java.sql.SQLException
createBlob
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Clob createClob() throws java.sql.SQLException
createClob
in interface java.sql.Connection
java.sql.SQLException
public java.sql.NClob createNClob() throws java.sql.SQLException
createNClob
in interface java.sql.Connection
java.sql.SQLException
public java.sql.SQLXML createSQLXML() throws java.sql.SQLException
createSQLXML
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Statement createStatement() throws java.sql.SQLException
createStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
createStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException
createStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Struct createStruct(java.lang.String arg0, java.lang.Object[] arg1) throws java.sql.SQLException
createStruct
in interface java.sql.Connection
java.sql.SQLException
public boolean getAutoCommit() throws java.sql.SQLException
getAutoCommit
in interface java.sql.Connection
java.sql.SQLException
public java.lang.String getCatalog() throws java.sql.SQLException
getCatalog
in interface java.sql.Connection
java.sql.SQLException
public java.util.Properties getClientInfo() throws java.sql.SQLException
getClientInfo
in interface java.sql.Connection
java.sql.SQLException
public java.lang.String getClientInfo(java.lang.String arg0) throws java.sql.SQLException
getClientInfo
in interface java.sql.Connection
java.sql.SQLException
public int getHoldability() throws java.sql.SQLException
getHoldability
in interface java.sql.Connection
java.sql.SQLException
public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException
getMetaData
in interface java.sql.Connection
java.sql.SQLException
public int getTransactionIsolation() throws java.sql.SQLException
getTransactionIsolation
in interface java.sql.Connection
java.sql.SQLException
public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap() throws java.sql.SQLException
getTypeMap
in interface java.sql.Connection
java.sql.SQLException
public java.sql.SQLWarning getWarnings() throws java.sql.SQLException
getWarnings
in interface java.sql.Connection
java.sql.SQLException
public boolean isClosed() throws java.sql.SQLException
isClosed
in interface java.sql.Connection
java.sql.SQLException
public boolean isReadOnly() throws java.sql.SQLException
isReadOnly
in interface java.sql.Connection
java.sql.SQLException
public boolean isValid(int arg0) throws java.sql.SQLException
isValid
in interface java.sql.Connection
java.sql.SQLException
public java.lang.String nativeSQL(java.lang.String arg0) throws java.sql.SQLException
nativeSQL
in interface java.sql.Connection
java.sql.SQLException
public java.sql.CallableStatement prepareCall(java.lang.String sql) throws java.sql.SQLException
prepareCall
in interface java.sql.Connection
java.sql.SQLException
public java.sql.CallableStatement prepareCall(java.lang.String arg0, int arg1, int arg2) throws java.sql.SQLException
prepareCall
in interface java.sql.Connection
java.sql.SQLException
public java.sql.CallableStatement prepareCall(java.lang.String arg0, int arg1, int arg2, int arg3) throws java.sql.SQLException
prepareCall
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String sql) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int[] columnIndexes) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public void releaseSavepoint(java.sql.Savepoint arg0) throws java.sql.SQLException
releaseSavepoint
in interface java.sql.Connection
java.sql.SQLException
public void rollback() throws java.sql.SQLException
rollback
in interface java.sql.Connection
java.sql.SQLException
public void rollback(java.sql.Savepoint savepoint) throws java.sql.SQLException
rollback
in interface java.sql.Connection
java.sql.SQLException
public void setAutoCommit(boolean autoCommit) throws java.sql.SQLException
setAutoCommit
in interface java.sql.Connection
java.sql.SQLException
getAutoCommit()
,
Connection.setAutoCommit(boolean)
public void setCatalog(java.lang.String arg0) throws java.sql.SQLException
setCatalog
in interface java.sql.Connection
java.sql.SQLException
public void setClientInfo(java.util.Properties arg0) throws java.sql.SQLClientInfoException
setClientInfo
in interface java.sql.Connection
java.sql.SQLClientInfoException
public void setClientInfo(java.lang.String arg0, java.lang.String arg1) throws java.sql.SQLClientInfoException
setClientInfo
in interface java.sql.Connection
java.sql.SQLClientInfoException
public void setHoldability(int arg0) throws java.sql.SQLException
setHoldability
in interface java.sql.Connection
java.sql.SQLException
public void setReadOnly(boolean arg0) throws java.sql.SQLException
setReadOnly
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Savepoint setSavepoint() throws java.sql.SQLException
setSavepoint
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Savepoint setSavepoint(java.lang.String arg0) throws java.sql.SQLException
setSavepoint
in interface java.sql.Connection
java.sql.SQLException
public void setTransactionIsolation(int arg0) throws java.sql.SQLException
setTransactionIsolation
in interface java.sql.Connection
java.sql.SQLException
public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> arg0) throws java.sql.SQLException
setTypeMap
in interface java.sql.Connection
java.sql.SQLException
public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException
isWrapperFor
in interface java.sql.Wrapper
java.sql.SQLException
public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException
unwrap
in interface java.sql.Wrapper
java.sql.SQLException
public void setStorageType(java.lang.String tbname, MTStorageType st)
tbname
- Name of the table.st
- StorageType of the table.public MTStorageType getStorageType(java.lang.String tbname) throws java.sql.SQLException
tbname
- Name of the table.MXException
java.sql.SQLException
public java.util.List<ContextSql> getContextForSql(java.lang.String sql) throws java.sql.SQLException
sql
- java.sql.SQLException
public MTContext getContextForQuery(java.lang.String sql) throws java.sql.SQLException
java.sql.SQLException
public java.util.Set<MTContext> getTenantContexts()
public java.util.Set<MTContext> getAllContexts()
public void setTargetContexts(java.util.Collection<MTContext> c)
c
- public void setTargetContext(MTContext c)
public java.util.List<MTContext> getTargetContext()
public void setTargetContextByName(java.lang.String context)
context
- Can be master", "landlord", null, or a TenantCode from the TenantReg table.public void pushContext(MTContext context) throws java.sql.SQLException
java.sql.SQLException
public void pushContext(java.util.List<MTContext> contextList) throws java.sql.SQLException
java.sql.SQLException
public void popContext() throws java.sql.SQLException
java.sql.SQLException
public void setNetworkTimeout(java.util.concurrent.Executor executor, int milliseconds) throws java.sql.SQLException
setNetworkTimeout
in interface java.sql.Connection
java.sql.SQLException
public int getNetworkTimeout() throws java.sql.SQLException
getNetworkTimeout
in interface java.sql.Connection
java.sql.SQLException
public void setSchema(java.lang.String schema) throws java.sql.SQLException
setSchema
in interface java.sql.Connection
java.sql.SQLException
public java.lang.String getSchema() throws java.sql.SQLException
getSchema
in interface java.sql.Connection
java.sql.SQLException
public void abort(java.util.concurrent.Executor executor) throws java.sql.SQLException
abort
in interface java.sql.Connection
java.sql.SQLException