public class NativeSession extends CoreSession implements java.io.Serializable
Session.SessionEventListener| Modifier and Type | Field and Description |
|---|---|
private java.util.Timer |
cancelTimer |
private NativeMessageBuilder |
commandBuilder |
private java.lang.Throwable |
forceClosedReason
Why was this session implicitly closed, if known? (for diagnostics)
|
private boolean |
isClosed
Has this session been closed?
|
private long |
lastQueryFinishedTime
When did the last query finish?
|
private java.util.concurrent.CopyOnWriteArrayList<java.lang.ref.WeakReference<Session.SessionEventListener>> |
listeners |
private boolean |
needsPing
Does this connection need to be tested?
|
private static long |
serialVersionUID |
private static java.lang.String |
SERVER_VERSION_STRING_VAR_NAME |
private CacheAdapter<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
serverConfigCache |
autoReconnect, autoReconnectForPools, cacheServerConfiguration, characterEncoding, connectionCreationTimeMillis, disconnectOnExpiredPasswords, exceptionInterceptor, gatherPerfMetrics, hostInfo, log, maintainTimeStats, messageBuilder, NULL_LOGGER, propertySet, protocol, sessionMaxRows| Constructor and Description |
|---|
NativeSession(HostInfo hostInfo,
PropertySet propSet) |
| Modifier and Type | Method and Description |
|---|---|
void |
addListener(Session.SessionEventListener l)
Add listener for this session status changes.
|
void |
checkClosed() |
void |
clearInputStream() |
void |
connect(HostInfo hi,
java.lang.String user,
java.lang.String password,
java.lang.String database,
int loginTimeout,
TransactionEventHandler transactionManager) |
private void |
createConfigCacheIfNeeded(java.lang.Object syncMutex) |
void |
disableMultiQueries() |
void |
dumpPacketRingBuffer() |
void |
enableMultiQueries() |
<T extends Resultset> |
execSQL(Query callingQuery,
java.lang.String query,
int maxRows,
NativePacketPayload packet,
boolean streamResults,
ProtocolEntityFactory<T,NativePacketPayload> resultSetFactory,
ColumnDefinition cachedMetadata,
boolean isBatch)
Send a query to the server.
|
private java.lang.String |
findProcessHost(long threadId) |
void |
forceClose()
Clobbers the physical network connection and marks this session as closed.
|
java.util.Timer |
getCancelTimer() |
int |
getCommandCount() |
long |
getConnectionCreationTimeMillis() |
long |
getCurrentTimeNanosOrMillis() |
java.lang.Throwable |
getForceClosedReason() |
java.lang.String |
getIdentifierQuoteString() |
long |
getIdleFor() |
java.io.InputStream |
getLocalInfileInputStream() |
NetworkResources |
getNetworkResources() |
java.lang.String |
getProcessHost() |
NativeProtocol |
getProtocol() |
java.net.SocketAddress |
getRemoteSocketAddress() |
int |
getSessionMaxRows() |
NativePacketPayload |
getSharedSendPacket()
Returns the packet used for sending data (used by PreparedStatement) with position set to 0.
|
long |
getSlowQueryThreshold() |
int |
getSocketTimeout() |
boolean |
hadWarnings() |
void |
invokeCleanupListeners(java.lang.Throwable whyCleanedUp) |
protected void |
invokeNormalCloseListeners() |
<T extends Resultset> |
invokeQueryInterceptorsPost(java.util.function.Supplier<java.lang.String> sql,
Query interceptedQuery,
T originalResultSet,
boolean forceExecute) |
<T extends Resultset> |
invokeQueryInterceptorsPre(java.util.function.Supplier<java.lang.String> sql,
Query interceptedQuery,
boolean forceExecute) |
protected void |
invokeReconnectListeners() |
boolean |
isClosed() |
boolean |
isNeedsPing() |
boolean |
isServerLocal(Session sess) |
boolean |
isSetNeededForAutoCommitMode(boolean autoCommitFlag) |
boolean |
isSSLEstablished() |
void |
loadServerVariables(java.lang.Object syncMutex,
java.lang.String version)
Loads the result of 'SHOW VARIABLES' into the serverVariables field so
that the driver can configure itself.
|
void |
ping(boolean checkForClosedConnection,
int timeoutMillis) |
java.lang.String |
queryServerVariable(java.lang.String varName)
Get the variable value from server.
|
void |
quit()
Log-off of the MySQL server and close the socket.
|
void |
removeListener(Session.SessionEventListener listener)
Remove session listener.
|
void |
setConnectionCreationTimeMillis(long connectionCreationTimeMillis) |
void |
setForceClosedReason(java.lang.Throwable forceClosedReason) |
void |
setLocalInfileInputStream(java.io.InputStream stream) |
void |
setNeedsPing(boolean needsPing) |
void |
setQueryInterceptors(java.util.List<QueryInterceptor> queryInterceptors) |
void |
setSessionMaxRows(int sessionMaxRows) |
void |
setSessionVariables() |
void |
setSocketTimeout(int milliseconds) |
boolean |
shouldIntercept() |
void |
shutdownServer()
Used by MiniAdmin to shutdown a MySQL server
|
changeUser, getDataStoreMetadata, getExceptionInterceptor, getHostInfo, getLog, getMessageBuilder, getProfilerEventHandler, getPropertySet, getQueryTimingUnits, getServerSession, getThreadId, setExceptionInterceptor, versionMeetsMinimumclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitquery, query, queryAsyncprivate static final long serialVersionUID
private CacheAdapter<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> serverConfigCache
private long lastQueryFinishedTime
private boolean needsPing
private NativeMessageBuilder commandBuilder
private boolean isClosed
private java.lang.Throwable forceClosedReason
private java.util.concurrent.CopyOnWriteArrayList<java.lang.ref.WeakReference<Session.SessionEventListener>> listeners
private transient java.util.Timer cancelTimer
private static final java.lang.String SERVER_VERSION_STRING_VAR_NAME
public NativeSession(HostInfo hostInfo, PropertySet propSet)
public void connect(HostInfo hi, java.lang.String user, java.lang.String password, java.lang.String database, int loginTimeout, TransactionEventHandler transactionManager) throws java.io.IOException
java.io.IOExceptionpublic NativeProtocol getProtocol()
public void quit()
Sessionquit in interface Sessionquit in class CoreSessionpublic void forceClose()
SessionforceClose in interface SessionforceClose in class CoreSessionpublic void enableMultiQueries()
public void disableMultiQueries()
public boolean isSetNeededForAutoCommitMode(boolean autoCommitFlag)
isSetNeededForAutoCommitMode in interface SessionisSetNeededForAutoCommitMode in class CoreSessionpublic int getSessionMaxRows()
public void setSessionMaxRows(int sessionMaxRows)
public void setQueryInterceptors(java.util.List<QueryInterceptor> queryInterceptors)
public boolean isServerLocal(Session sess)
public void shutdownServer()
public void setSocketTimeout(int milliseconds)
public int getSocketTimeout()
public NativePacketPayload getSharedSendPacket()
public void dumpPacketRingBuffer()
public <T extends Resultset> T invokeQueryInterceptorsPre(java.util.function.Supplier<java.lang.String> sql, Query interceptedQuery, boolean forceExecute)
public <T extends Resultset> T invokeQueryInterceptorsPost(java.util.function.Supplier<java.lang.String> sql, Query interceptedQuery, T originalResultSet, boolean forceExecute)
public boolean shouldIntercept()
public long getCurrentTimeNanosOrMillis()
public long getSlowQueryThreshold()
public boolean hadWarnings()
public void clearInputStream()
public NetworkResources getNetworkResources()
public boolean isSSLEstablished()
isSSLEstablished in interface SessionisSSLEstablished in class CoreSessionpublic int getCommandCount()
public java.net.SocketAddress getRemoteSocketAddress()
getRemoteSocketAddress in interface SessiongetRemoteSocketAddress in class CoreSessionpublic java.io.InputStream getLocalInfileInputStream()
public void setLocalInfileInputStream(java.io.InputStream stream)
private void createConfigCacheIfNeeded(java.lang.Object syncMutex)
public void loadServerVariables(java.lang.Object syncMutex,
java.lang.String version)
syncMutex - synchronization mutexversion - driver version stringpublic void setSessionVariables()
public java.lang.String getProcessHost()
getProcessHost in interface Sessionprivate java.lang.String findProcessHost(long threadId)
public java.lang.String queryServerVariable(java.lang.String varName)
varName - server variable namepublic <T extends Resultset> T execSQL(Query callingQuery, java.lang.String query, int maxRows, NativePacketPayload packet, boolean streamResults, ProtocolEntityFactory<T,NativePacketPayload> resultSetFactory, ColumnDefinition cachedMetadata, boolean isBatch)
T - extends ResultsetcallingQuery - Query objectquery - the SQL statement to be executedmaxRows - rows limitpacket - NativePacketPayloadstreamResults - whether a stream result should be createdresultSetFactory - ProtocolEntityFactorycachedMetadata - use this metadata instead of the one provided on wireisBatch - is it a batch querypublic long getIdleFor()
public boolean isNeedsPing()
public void setNeedsPing(boolean needsPing)
public void ping(boolean checkForClosedConnection,
int timeoutMillis)
public long getConnectionCreationTimeMillis()
public void setConnectionCreationTimeMillis(long connectionCreationTimeMillis)
public void checkClosed()
public java.lang.Throwable getForceClosedReason()
public void setForceClosedReason(java.lang.Throwable forceClosedReason)
public void addListener(Session.SessionEventListener l)
SessionaddListener in interface SessionaddListener in class CoreSessionl - Session.SessionEventListener instance.public void removeListener(Session.SessionEventListener listener)
SessionremoveListener in interface SessionremoveListener in class CoreSessionlistener - Session.SessionEventListener instance.protected void invokeNormalCloseListeners()
protected void invokeReconnectListeners()
public void invokeCleanupListeners(java.lang.Throwable whyCleanedUp)
public java.lang.String getIdentifierQuoteString()
getIdentifierQuoteString in interface SessiongetIdentifierQuoteString in class CoreSessionpublic java.util.Timer getCancelTimer()