| Modifier and Type | Field and Description |
|---|---|
| private final QueryInterceptor |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public void | destroy()
Implements com. Called by the driver when this extension should release any resources it is holding and cleanup internally before the connection is closed. |
| public boolean | executeTopLevelOnly()
Implements com. Should the driver execute this interceptor only for the "original" top-level query, and not put it in the execution path for queries that may be executed from other interceptors? |
| public QueryInterceptor | |
| public QueryInterceptor | init(MysqlConnection
the connection for which this interceptor is being created conn, Properties configuration values as passed to the connection. Note that
in order to support javax.sql.DataSources, configuration properties specific
to an interceptor must be passed via setURL() on the
DataSource. QueryInterceptor properties are not exposed via
accessor/mutator methods on DataSources. props, Log logger log)Implements com. Called once per connection that wants to use the interceptor The properties are the same ones passed in in the URL or arguments to Driver.connect() or DriverManager.getConnection(). |
| public <T extends Resultset> T | postProcess(Supplier<String>
the Supplier for SQL representation of the query sql, Query the actual interceptedQuery, T Query instance being intercepteda originalResultSet, ServerSession Resultset created from query executionServerSession object after the query executionImplements com. Called after the given query has been sent to the server for processing. |
| public <M extends Message> M | postProcess(M
query queryPacket, M Messageresponse originalResponsePacket)MessageOverrides default com. Called after the given query packet has been sent to the server for processing. |
| public <T extends Resultset> T | preProcess(Supplier<String>
the Supplier for SQL representation of the query sql, Query the actual interceptedQuery)Query instance being interceptedImplements com. Called before the given query is going to be sent to the server for processing. |
| public <M extends Message> M | preProcess(M
original queryPacket)MessageOverrides default com. Called before the given query packet is going to be sent to the server for processing. |
| underlyingInterceptor | back to summary |
|---|---|
| private final QueryInterceptor underlyingInterceptor | |
| NoSubInterceptorWrapper | back to summary |
|---|---|
| public NoSubInterceptorWrapper(QueryInterceptor underlyingInterceptor) | |
| destroy | back to summary |
|---|---|
| public void destroy() Implements com. Doc from com. Called by the driver when this extension should release any resources it is holding and cleanup internally before the connection is closed.
| |
| executeTopLevelOnly | back to summary |
|---|---|
| public boolean executeTopLevelOnly() Implements com. Doc from com. Should the driver execute this interceptor only for the
"original" top-level query, and not put it in the execution
path for queries that may be executed from other interceptors?
If an interceptor issues queries using the connection it was created for,
and does not return
| |
| getUnderlyingInterceptor | back to summary |
|---|---|
| public QueryInterceptor getUnderlyingInterceptor() | |
| init | back to summary |
|---|---|
| public QueryInterceptor init(MysqlConnection conn, Properties props, Log log) Implements com. Doc from com. Called once per connection that wants to use the interceptor The properties are the same ones passed in in the URL or arguments to Driver.connect() or DriverManager.getConnection().
| |
| postProcess | back to summary |
|---|---|
| public <T extends Resultset> T postProcess(Supplier<String> sql, Query interceptedQuery, T originalResultSet, ServerSession serverSession) Implements com. Doc from com. Called after the given query has been sent to the server for processing. Interceptors are free to inspect the "original" result set, and if a different result set is returned by the interceptor, it is used in place of the "original" result set. This method will be called while the connection-level mutex is held, so it will only be called from one thread at a time.
| |
| postProcess | back to summary |
|---|---|
| public <M extends Message> M postProcess(M queryPacket, M originalResponsePacket) Overrides default com. Doc from com. Called after the given query packet has been sent to the server for processing. Interceptors are free to return either a different PacketPayload than the originalResponsePacket or null. This method will be called while the connection-level mutex is held, so it will only be called from one thread at a time. | |
| preProcess | back to summary |
|---|---|
| public <T extends Resultset> T preProcess(Supplier<String> sql, Query interceptedQuery) Implements com. Doc from com. Called before the given query is going to be sent to the server for processing.
Interceptors are free to return a result set (which must implement the
interface
| |
| preProcess | back to summary |
|---|---|
| public <M extends Message> M preProcess(M queryPacket) Overrides default com. Doc from com. Called before the given query packet is going to be sent to the server for processing. Interceptors are free to return a PacketPayload, and if so, the server will not execute the query, and the given PacketPayload will be returned to the application instead. This method will be called while the connection-level mutex is held, so it will only be called from one thread at a time. | |