Package com.mysql.cj
Interface Session
- All Known Implementing Classes:
CoreSession
,MysqlxSession
,NativeSession
public interface Session
Session
exposes logical level which user API uses internally to call Protocol
methods.
It's a higher-level abstraction than MySQL server session (ServerSession
). Protocol
and ServerSession
methods
should never be used directly from user API.-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
Session.SessionEventListener
-
Method Summary
Modifier and Type Method Description void
addListener(Session.SessionEventListener l)
Add listener for this session status changes.void
changeUser(java.lang.String userName, java.lang.String password, java.lang.String database)
Re-authenticates as the given user and passwordvoid
forceClose()
Clobbers the physical network connection and marks this session as closed.DataStoreMetadata
getDataStoreMetadata()
ExceptionInterceptor
getExceptionInterceptor()
HostInfo
getHostInfo()
java.lang.String
getIdentifierQuoteString()
Log
getLog()
Returns the log mechanism that should be used to log information from/for this Session.<M extends Message>
MessageBuilder<M>getMessageBuilder()
java.lang.String
getProcessHost()
ProfilerEventHandler
getProfilerEventHandler()
Returns the current ProfilerEventHandler or initializes a new one if none exists.PropertySet
getPropertySet()
java.lang.String
getQueryTimingUnits()
java.net.SocketAddress
getRemoteSocketAddress()
ServerSession
getServerSession()
long
getThreadId()
boolean
isClosed()
boolean
isSetNeededForAutoCommitMode(boolean autoCommitFlag)
boolean
isSSLEstablished()
default <M extends Message, R extends QueryResult>
Rquery(M message, ResultBuilder<R> resultBuilder)
Synchronously query database.default <M extends Message, R, RES>
RESquery(M message, java.util.function.Predicate<Row> rowFilter, java.util.function.Function<Row,R> rowMapper, java.util.stream.Collector<R,?,RES> collector)
Synchronously query database with applying rows filtering and mapping.default <M extends Message, R extends QueryResult>
java.util.concurrent.CompletableFuture<R>queryAsync(M message, ResultBuilder<R> resultBuilder)
Asynchronously query database.void
quit()
Log-off of the MySQL server and close the socket.void
removeListener(Session.SessionEventListener l)
Remove session listener.void
setExceptionInterceptor(ExceptionInterceptor exceptionInterceptor)
boolean
versionMeetsMinimum(int major, int minor, int subminor)
Does the version of the MySQL server we are connected to meet the given minimums?
-
Method Details
-
getPropertySet
PropertySet getPropertySet() -
getMessageBuilder
-
changeUser
void changeUser(java.lang.String userName, java.lang.String password, java.lang.String database)Re-authenticates as the given user and password- Parameters:
userName
- DB user namepassword
- DB user passworddatabase
- database name
-
getExceptionInterceptor
ExceptionInterceptor getExceptionInterceptor() -
setExceptionInterceptor
-
quit
void quit()Log-off of the MySQL server and close the socket. -
forceClose
void forceClose()Clobbers the physical network connection and marks this session as closed. -
versionMeetsMinimum
boolean versionMeetsMinimum(int major, int minor, int subminor)Does the version of the MySQL server we are connected to meet the given minimums?- Parameters:
major
- major version numberminor
- minor version numbersubminor
- sub-minor version number- Returns:
- true if current server version equal or higher than provided one
-
getThreadId
long getThreadId() -
isSetNeededForAutoCommitMode
boolean isSetNeededForAutoCommitMode(boolean autoCommitFlag) -
getLog
Log getLog()Returns the log mechanism that should be used to log information from/for this Session.- Returns:
- the Log instance to use for logging messages.
-
getProfilerEventHandler
ProfilerEventHandler getProfilerEventHandler()Returns the current ProfilerEventHandler or initializes a new one if none exists.- Returns:
- the
ProfilerEventHandler
object.
-
getHostInfo
HostInfo getHostInfo() -
getQueryTimingUnits
java.lang.String getQueryTimingUnits() -
getServerSession
ServerSession getServerSession() -
isSSLEstablished
boolean isSSLEstablished() -
getRemoteSocketAddress
java.net.SocketAddress getRemoteSocketAddress() -
getProcessHost
java.lang.String getProcessHost() -
addListener
Add listener for this session status changes.- Parameters:
l
-Session.SessionEventListener
instance.
-
removeListener
Remove session listener.- Parameters:
l
-Session.SessionEventListener
instance.
-
isClosed
boolean isClosed() -
getIdentifierQuoteString
java.lang.String getIdentifierQuoteString() -
getDataStoreMetadata
DataStoreMetadata getDataStoreMetadata() -
query
default <M extends Message, R, RES> RES query(M message, java.util.function.Predicate<Row> rowFilter, java.util.function.Function<Row,R> rowMapper, java.util.stream.Collector<R,?,RES> collector)Synchronously query database with applying rows filtering and mapping.- Type Parameters:
M
- Message typeR
- Row typeRES
- Result type- Parameters:
message
- query messagerowFilter
- row filter functionrowMapper
- row map functioncollector
- result collector- Returns:
- List of rows
-
query
default <M extends Message, R extends QueryResult> R query(M message, ResultBuilder<R> resultBuilder)Synchronously query database.- Type Parameters:
M
- Message typeR
- Result type- Parameters:
message
- query messageresultBuilder
- ResultBuilder instance- Returns:
QueryResult
object
-
queryAsync
default <M extends Message, R extends QueryResult> java.util.concurrent.CompletableFuture<R> queryAsync(M message, ResultBuilder<R> resultBuilder)Asynchronously query database.- Type Parameters:
M
- Message typeR
- Result type- Parameters:
message
- query messageresultBuilder
- ResultBuilder instance- Returns:
- CompletableFuture providing a
QueryResult
object
-