Package org.mariadb.jdbc.client.context
Class BaseContext
java.lang.Object
org.mariadb.jdbc.client.context.BaseContext
- All Implemented Interfaces:
Context
- Direct Known Subclasses:
RedoContext
Context (current connection state) of a connection
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Long
private final boolean
private String
private final long
private final Function
<ReadableByteBuf, ColumnDecoder> private final Configuration
private TimeZone
private String
Server current databaseprivate final boolean
private final ExceptionFactory
private final HostAddress
private final PrepareCache
LRU prepare cache objectprivate String
private final byte[]
private final long
protected int
Server status contextprivate final boolean
private int
Connection state use flagprivate long
private Integer
Server current transaction isolation levelprivate final ServerVersion
private int
Server current warning count -
Constructor Summary
ConstructorsConstructorDescriptionBaseContext
(HostAddress hostAddress, InitialHandshakePacket handshake, long clientCapabilities, Configuration conf, ExceptionFactory exceptionFactory, PrepareCache prepareCache) Constructor of connection context -
Method Summary
Modifier and TypeMethodDescriptionvoid
addStateFlag
(int state) Indicate connection state (for pooling)boolean
Can server skip prepared statement metadataboolean
Can rely on transaction_isolation or keep using deprecated tx_isolation variableGet server current auto_increment valueRetrieve current charset if session state get itColumn decoder functiongetConf()
Get connection configurationGet current connection timezoneGet current connection databaseGet calendar depending on configurationGet connection exception factorygetPrepareCacheCmd
(String sql, BasePreparedStatement preparedStatement) Return cached prepare if key matchget redirect Url if server indicate reconnection urlbyte[]
getSeed()
Get connection initial seedint
Get server connection stateint
return connection current state change flaglong
return current thread idGet connection transaction isolation levelRetrieve server version informationint
has server warningsboolean
hasClientCapability
(long flag) has client capabilityboolean
hasServerCapability
(long flag) has server capabilityboolean
does protocol remove EOF in exchangesboolean
Does server and client permit pipelineputPrepareCacheCmd
(String sql, Prepare result, BasePreparedStatement preparedStatement) Put prepare result in cachevoid
Reset prepare cache (after a failover)void
reset connection state change flagvoid
setAutoIncrement
(long autoIncrement) Set server autoincrement valuevoid
setCharset
(String charset) Indicate server charset changevoid
setConnectionTimeZone
(TimeZone connectionTimeZone) Set current connection timezonevoid
setDatabase
(String database) set current database contextvoid
setRedirectUrl
(String redirectUrl) Set server redirection urlvoid
setServerStatus
(int serverStatus) Set server connection statevoid
setThreadId
(long connectionId) Indicate server connection Id (not truncated)void
setTransactionIsolationLevel
(Integer transactionIsolationLevel) Set current connection transaction isolation levelvoid
setTreadsConnected
(long threadsConnected) Indicate the number of connection on this servervoid
setWarning
(int warning) set server state warning number
-
Field Details
-
serverCapabilities
private final long serverCapabilities -
clientCapabilities
private final long clientCapabilities -
seed
private final byte[] seed -
version
-
eofDeprecated
private final boolean eofDeprecated -
skipMeta
private final boolean skipMeta -
columnDecoderFunction
-
conf
-
exceptionFactory
-
canUseTransactionIsolation
private final boolean canUseTransactionIsolation -
prepareCache
LRU prepare cache object -
hostAddress
-
serverStatus
protected int serverStatusServer status context -
autoIncrement
-
threadId
private long threadId -
charset
-
database
Server current database -
transactionIsolationLevel
Server current transaction isolation level -
warning
private int warningServer current warning count -
stateFlag
private int stateFlagConnection state use flag -
redirectUrl
-
connectionTimeZone
-
-
Constructor Details
-
BaseContext
public BaseContext(HostAddress hostAddress, InitialHandshakePacket handshake, long clientCapabilities, Configuration conf, ExceptionFactory exceptionFactory, PrepareCache prepareCache) Constructor of connection context- Parameters:
hostAddress
- host addresshandshake
- server handshakeclientCapabilities
- client capabilitiesconf
- connection configurationexceptionFactory
- connection exception factoryprepareCache
- LRU prepare cache
-
-
Method Details
-
getThreadId
public long getThreadId()Description copied from interface:Context
return current thread id- Specified by:
getThreadId
in interfaceContext
- Returns:
- current server thread id
-
setThreadId
public void setThreadId(long connectionId) Description copied from interface:Context
Indicate server connection Id (not truncated)- Specified by:
setThreadId
in interfaceContext
- Parameters:
connectionId
- connection id
-
getSeed
public byte[] getSeed()Description copied from interface:Context
Get connection initial seed -
hasServerCapability
public boolean hasServerCapability(long flag) Description copied from interface:Context
has server capability- Specified by:
hasServerCapability
in interfaceContext
- Parameters:
flag
- capability to check- Returns:
- true if server has capability
-
hasClientCapability
public boolean hasClientCapability(long flag) Description copied from interface:Context
has client capability- Specified by:
hasClientCapability
in interfaceContext
- Parameters:
flag
- capability to check- Returns:
- true if client has capability
-
permitPipeline
public boolean permitPipeline()Description copied from interface:Context
Does server and client permit pipeline- Specified by:
permitPipeline
in interfaceContext
- Returns:
- true if permitted
-
getServerStatus
public int getServerStatus()Description copied from interface:Context
Get server connection state- Specified by:
getServerStatus
in interfaceContext
- Returns:
- server status
-
setServerStatus
public void setServerStatus(int serverStatus) Description copied from interface:Context
Set server connection state- Specified by:
setServerStatus
in interfaceContext
- Parameters:
serverStatus
- server status
-
getDatabase
Description copied from interface:Context
Get current connection database- Specified by:
getDatabase
in interfaceContext
- Returns:
- database
-
setDatabase
Description copied from interface:Context
set current database context- Specified by:
setDatabase
in interfaceContext
- Parameters:
database
- database
-
getVersion
Description copied from interface:Context
Retrieve server version information- Specified by:
getVersion
in interfaceContext
- Returns:
- server version
-
isEofDeprecated
public boolean isEofDeprecated()Description copied from interface:Context
does protocol remove EOF in exchanges- Specified by:
isEofDeprecated
in interfaceContext
- Returns:
- if EOF packet are deprecated
-
getColumnDecoderFunction
Description copied from interface:Context
Column decoder function- Specified by:
getColumnDecoderFunction
in interfaceContext
- Returns:
- Column decoder function
-
canSkipMeta
public boolean canSkipMeta()Description copied from interface:Context
Can server skip prepared statement metadata- Specified by:
canSkipMeta
in interfaceContext
- Returns:
- true if possible
-
getWarning
public int getWarning()Description copied from interface:Context
has server warnings- Specified by:
getWarning
in interfaceContext
- Returns:
- has warnings
-
setWarning
public void setWarning(int warning) Description copied from interface:Context
set server state warning number- Specified by:
setWarning
in interfaceContext
- Parameters:
warning
- warning number
-
getExceptionFactory
Description copied from interface:Context
Get connection exception factory- Specified by:
getExceptionFactory
in interfaceContext
- Returns:
- exception factory
-
getConf
Description copied from interface:Context
Get connection configuration -
getTransactionIsolationLevel
Description copied from interface:Context
Get connection transaction isolation level- Specified by:
getTransactionIsolationLevel
in interfaceContext
- Returns:
- connection transaction isolation level
-
setTransactionIsolationLevel
Description copied from interface:Context
Set current connection transaction isolation level- Specified by:
setTransactionIsolationLevel
in interfaceContext
- Parameters:
transactionIsolationLevel
- new connection transaction isolation level
-
getPrepareCacheCmd
Description copied from interface:Context
Return cached prepare if key match- Specified by:
getPrepareCacheCmd
in interfaceContext
- Parameters:
sql
- sql commandpreparedStatement
- current statement- Returns:
- Prepare if found, null if not
-
putPrepareCacheCmd
public Prepare putPrepareCacheCmd(String sql, Prepare result, BasePreparedStatement preparedStatement) Description copied from interface:Context
Put prepare result in cache- Specified by:
putPrepareCacheCmd
in interfaceContext
- Parameters:
sql
- sql commandresult
- prepare resultpreparedStatement
- current statement- Returns:
- Prepare if was already cached
-
resetPrepareCache
public void resetPrepareCache()Description copied from interface:Context
Reset prepare cache (after a failover)- Specified by:
resetPrepareCache
in interfaceContext
-
getStateFlag
public int getStateFlag()Description copied from interface:Context
return connection current state change flag- Specified by:
getStateFlag
in interfaceContext
- Returns:
- connection current state change flag
-
resetStateFlag
public void resetStateFlag()Description copied from interface:Context
reset connection state change flag- Specified by:
resetStateFlag
in interfaceContext
-
addStateFlag
public void addStateFlag(int state) Description copied from interface:Context
Indicate connection state (for pooling)- Specified by:
addStateFlag
in interfaceContext
- Parameters:
state
- indicate that some connection state has changed
-
setTreadsConnected
public void setTreadsConnected(long threadsConnected) Description copied from interface:Context
Indicate the number of connection on this server- Specified by:
setTreadsConnected
in interfaceContext
- Parameters:
threadsConnected
- number of connected threads
-
getAutoIncrement
Description copied from interface:Context
Get server current auto_increment value- Specified by:
getAutoIncrement
in interfaceContext
- Returns:
- server auto increment
-
setAutoIncrement
public void setAutoIncrement(long autoIncrement) Description copied from interface:Context
Set server autoincrement value- Specified by:
setAutoIncrement
in interfaceContext
- Parameters:
autoIncrement
- current server autoincrement value
-
getCharset
Description copied from interface:Context
Retrieve current charset if session state get it- Specified by:
getCharset
in interfaceContext
- Returns:
- current charset
-
setCharset
Description copied from interface:Context
Indicate server charset change- Specified by:
setCharset
in interfaceContext
- Parameters:
charset
- server charset
-
getRedirectUrl
Description copied from interface:Context
get redirect Url if server indicate reconnection url- Specified by:
getRedirectUrl
in interfaceContext
- Returns:
- null if no redirection required, value if so
-
canUseTransactionIsolation
public boolean canUseTransactionIsolation()Description copied from interface:Context
Can rely on transaction_isolation or keep using deprecated tx_isolation variable- Specified by:
canUseTransactionIsolation
in interfaceContext
- Returns:
- true if you can use transaction_isolation
-
setRedirectUrl
Description copied from interface:Context
Set server redirection url- Specified by:
setRedirectUrl
in interfaceContext
- Parameters:
redirectUrl
- redirect url
-
getConnectionTimeZone
Description copied from interface:Context
Get current connection timezone- Specified by:
getConnectionTimeZone
in interfaceContext
- Returns:
- connection timezone
-
setConnectionTimeZone
Description copied from interface:Context
Set current connection timezone- Specified by:
setConnectionTimeZone
in interfaceContext
- Parameters:
connectionTimeZone
- connection timezone
-
getDefaultCalendar
Description copied from interface:Context
Get calendar depending on configuration- Specified by:
getDefaultCalendar
in interfaceContext
- Returns:
- calendar
-