public interface ExecuteListener extends EventListener, Serializable
Query
, Routine
, or ResultSet
render, prepare, bind, execute, fetch steps.
ExecuteListener
is a base type for loggers, debuggers,
profilers, data collectors that can be hooked into a jOOQ DSLContext
using the Configuration.executeListenerProviders()
property, passing
Settings
to
DSL.using(java.sql.Connection, SQLDialect, Settings)
. jOOQ will use
that configuration at the beginning of a query execution event to instantiate
all the provided listeners. In other words, listeners have the same lifetime
as a single query execution, and can thus be used to store state between the
moment when a query execution starts, and the moment when a query execution
finishes. Advanced ExecuteListeners
can also provide custom
implementations of Connection
, PreparedStatement
,
ResultSet
, SQLException
or RuntimeException
to jOOQ
in appropriate methods.
For convenience, consider extending DefaultExecuteListener
instead of
implementing this interface. This will prevent compilation errors in future
versions of jOOQ, when this interface might get new methods.
The following table explains how every type of statement / operation invokes
callback methods in the correct order for all registered
ExecuteListeners
. Find a legend below the table for the various
use cases.
Callback method | Use case [1] | Use case [2] | Use case [3] | Use case [4] | Use case [5] | Use case [6] |
---|---|---|---|---|---|---|
start(ExecuteContext) |
Yes, 1x | Yes, 1x | Yes, 1x | Yes, 1x | Yes, 1x | Yes, 1x |
renderStart(ExecuteContext) |
Yes, 1x | Yes, 1x | No | Yes, 1x | Yes, Nx (for every query) | Yes, 1x |
renderEnd(ExecuteContext) |
Yes, 1x | Yes, 1x | No | Yes, 1x | Yes, Nx (for every query) | Yes, 1x |
prepareStart(ExecuteContext) |
Yes, 1x | Yes, 1x | No | Yes, 1x | Yes, Nx (for every query) | Yes, 1x |
prepareEnd(ExecuteContext) |
Yes, 1x | Yes, 1x | No | Yes, 1x | Yes, Nx (for every query) | Yes, 1x |
bindStart(ExecuteContext) |
Yes, 1x | No | No | Yes, Nx (for every value set) | No | Yes, 1x |
bindEnd(ExecuteContext) |
Yes, 1x | No | No | Yes, Nx (for every value set) | No | Yes, 1 |
executeStart(ExecuteContext) |
Yes, 1x | Yes, 1x | No | Yes, 1x | Yes, 1x | Yes, 1x |
executeEnd(ExecuteContext) |
Yes, 1x | Yes, 1x | No | Yes, 1x | Yes, 1x | Yes, 1x |
outStart(ExecuteContext) |
No | No | No | No | No | Yes, 1x |
outEnd(ExecuteContext) |
No | No | No | No | No | Yes, 1x |
fetchStart(ExecuteContext) |
Yes, 1x (Nx for ResultQuery.fetchMany() |
Yes, 1x (Nx for ResultQuery.fetchMany() |
Yes, 1x | No | No | No |
resultStart(ExecuteContext) |
Yes, 1x (Nx for Cursor.fetchNext(int) |
Yes, 1x (Nx for Cursor.fetchNext(int) |
Yes, 1x | No | No | No |
recordStart(ExecuteContext) |
Yes, Nx | Yes, Nx | Yes, Nx | No | No | No |
recordEnd(ExecuteContext) |
Yes, Nx | Yes, Nx | Yes, Nx | No | No | No |
resultEnd(ExecuteContext) |
Yes, 1x (Nx for Cursor.fetchNext(int) |
Yes, 1x (Nx for Cursor.fetchNext(int) |
Yes, 1x | No | No | No |
fetchEnd(ExecuteContext) |
Yes, 1x (Nx for ResultQuery.fetchMany() |
Yes, 1x (Nx for ResultQuery.fetchMany() |
Yes, 1x | No | No | No |
end(ExecuteContext) |
Yes, 1x | Yes, 1x | Yes, 1x | Yes, 1x | Yes, 1x | Yes, 1x |
warning(ExecuteContext) |
Maybe, 1x | Maybe, 1x | Maybe, 1x | Maybe, 1x | Maybe, 1x | Maybe, 1x |
exception(ExecuteContext) |
Maybe, 1x | Maybe, 1x | Maybe, 1x | Maybe, 1x | Maybe, 1x | Maybe, 1x |
ResultQuery
of statement type
StatementType.PREPARED_STATEMENT
ResultQuery
of statement type
StatementType.STATIC_STATEMENT
DSLContext.fetch(ResultSet)
or with
InsertResultStep.fetch()
DSLContext.batch(Query)
DSLContext.batch(Query[])
DSLContext.batch(Queries)
Routine
standalone call
If nothing is specified, the default is to use LoggerListener
as the
only event listener, as configured in Settings.isExecuteLogging()
Modifier and Type | Method and Description |
---|---|
void |
bindEnd(ExecuteContext ctx)
Called after bind variables to the
PreparedStatement . |
void |
bindStart(ExecuteContext ctx)
Called before bind variables to the
PreparedStatement . |
void |
end(ExecuteContext ctx)
Called at the end of the execution lifecycle.
|
void |
exception(ExecuteContext ctx)
Called in the event of an exception at any moment of the execution
lifecycle.
|
void |
executeEnd(ExecuteContext ctx)
Called after executing a statement.
|
void |
executeStart(ExecuteContext ctx)
Called before executing a statement.
|
void |
fetchEnd(ExecuteContext ctx)
Called after fetching data from a
ResultSet . |
void |
fetchStart(ExecuteContext ctx)
Called before fetching data from a
ResultSet . |
void |
outEnd(ExecuteContext ctx)
Called after fetching out parameter values from a
CallableStatement . |
void |
outStart(ExecuteContext ctx)
Called before fetching out parameter values from a
CallableStatement . |
void |
prepareEnd(ExecuteContext ctx)
Called after preparing / creating the SQL statement.
|
void |
prepareStart(ExecuteContext ctx)
Called before preparing / creating the SQL statement.
|
void |
recordEnd(ExecuteContext ctx)
Called after fetching a record from a
ResultSet . |
void |
recordStart(ExecuteContext ctx)
Called before fetching a record from a
ResultSet . |
void |
renderEnd(ExecuteContext ctx)
Called after rendering SQL from a
QueryPart . |
void |
renderStart(ExecuteContext ctx)
Called before rendering SQL from a
QueryPart . |
void |
resultEnd(ExecuteContext ctx)
Called after fetching a set of records from a
ResultSet . |
void |
resultStart(ExecuteContext ctx)
Called before fetching a set of records from a
ResultSet . |
void |
start(ExecuteContext ctx)
Called to initialise an
ExecuteListener . |
void |
warning(ExecuteContext ctx)
Called in the event of a warning at any moment of the execution
lifecycle.
|
void start(ExecuteContext ctx)
ExecuteListener
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext
:
ExecuteContext.connectionProvider(ConnectionProvider)
: The
connection provider used for execution. This may be particularly
interesting if a Query
was de-serialised and is thus lacking the
underlying connectionvoid renderStart(ExecuteContext ctx)
QueryPart
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwisevoid renderEnd(ExecuteContext ctx)
QueryPart
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..
Overridable attributes in ExecuteContext
:
ExecuteContext.sql(String)
: The rendered SQL
statement that is about to be executed. You can modify this statement
freely.void prepareStart(ExecuteContext ctx)
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..
Overridable attributes in ExecuteContext
:
ExecuteContext.sql(String)
: The rendered SQL
statement that is about to be executed. You can modify this statement
freely.void prepareEnd(ExecuteContext ctx)
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.Statement
from your JDBC driver wrapped in a
java.sql.PreparedStatement
when your jOOQ Query
is being executed as StatementType.STATIC_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
Overridable attributes in ExecuteContext
:
ExecuteContext.statement(PreparedStatement)
: The
Statement
, PreparedStatement
, or
CallableStatement
that is about to be executed. You can
modify this statement freely, or wrap ExecuteContext.statement()
with your enriched statement wrappervoid bindStart(ExecuteContext ctx)
PreparedStatement
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
Overridable attributes in ExecuteContext
:
ExecuteContext.statement(PreparedStatement)
: The
PreparedStatement
, or CallableStatement
that is
about to be executed. You can modify this statement freely, or wrap
ExecuteContext.statement()
with your enriched statement
wrapper
Note that this method is not called when executing queries of type
StatementType.STATIC_STATEMENT
void bindEnd(ExecuteContext ctx)
PreparedStatement
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
Overridable attributes in ExecuteContext
:
ExecuteContext.statement(PreparedStatement)
: The
Statement
, PreparedStatement
, or
CallableStatement
that is about to be executed. You can
modify this statement freely, or wrap ExecuteContext.statement()
with your enriched statement wrapper
Note that this method is not called when executing queries of type
StatementType.STATIC_STATEMENT
void executeStart(ExecuteContext ctx)
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.Statement
from your JDBC driver wrapped in a
java.sql.PreparedStatement
when your jOOQ Query
is being executed as StatementType.STATIC_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
Overridable attributes in ExecuteContext
:
ExecuteContext.statement(PreparedStatement)
: The
Statement
, PreparedStatement
, or
CallableStatement
that is about to be executed. You can
modify this statement freely, or wrap ExecuteContext.statement()
with your enriched statement wrapper
Other attributes in ExecuteContext
, affected by this
lifecycle phase:
ExecuteContext.statementExecutionCount()
is incremented.void executeEnd(ExecuteContext ctx)
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.Statement
from your JDBC driver wrapped in a
java.sql.PreparedStatement
when your jOOQ Query
is being executed as StatementType.STATIC_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
ExecuteContext.resultSet()
: The ResultSet
that
is about to be fetched or null
, if the Query
returns no result set, or if a Routine
is being
executed.ExecuteContext.rows()
: The number of affected rows if
applicable. In case a ResultSet
is fetched, this number is only
available at the fetchEnd(ExecuteContext)
event.ExecuteContext.serverOutput()
: The server output if
available. This may be fetched when
Settings.getFetchServerOutputSize()
> 0
Overridable attributes in ExecuteContext
:
ExecuteContext.resultSet(ResultSet)
: The
ResultSet
that is about to be fetched. You can modify this
result set freely, or wrap ExecuteContext.resultSet()
with your
enriched result set wrappervoid outStart(ExecuteContext ctx)
CallableStatement
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.CallableStatement
when you are executing a
jOOQ Routine
ExecuteContext.sqlWarning()
: The SQLWarning
that was
emitted by the database or null
if no warning was
emitted.Note that this method is called only when executing standalone routine calls.
void outEnd(ExecuteContext ctx)
CallableStatement
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.CallableStatement
when you are executing a
jOOQ Routine
ExecuteContext.sqlWarning()
: The SQLWarning
that was
emitted by the database or null
if no warning was
emitted.Note that this method is called only when executing standalone routine calls.
void fetchStart(ExecuteContext ctx)
ResultSet
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.Statement
from your JDBC driver wrapped in a
java.sql.PreparedStatement
when your jOOQ Query
is being executed as StatementType.STATIC_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
ExecuteContext.resultSet()
: The ResultSet
that
is about to be fetched.ExecuteContext.sqlWarning()
: The SQLWarning
that was
emitted by the database or null
if no warning was
emitted.
Overridable attributes in ExecuteContext
:
ExecuteContext.resultSet(ResultSet)
: The
ResultSet
that is about to be fetched. You can modify this
result set freely, or wrap ExecuteContext.resultSet()
with your
enriched result set wrapper
In case of multiple ResultSets
with
ResultQuery.fetchMany()
, this is called several times, once per
ResultSet
Note that this method is not called when executing queries that do not return a result, or when executing routines.
void resultStart(ExecuteContext ctx)
ResultSet
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.Statement
from your JDBC driver wrapped in a
java.sql.PreparedStatement
when your jOOQ Query
is being executed as StatementType.STATIC_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
ExecuteContext.resultSet()
: The ResultSet
that
is about to be fetched.ExecuteContext.result()
: The set of records that are about to
be fetched.ExecuteContext.sqlWarning()
: The SQLWarning
that was
emitted by the database or null
if no warning was
emitted.
Note that this method is not called when executing queries that do not
return a result, or when executing routines. This is also not called when
fetching single records, with Cursor.fetchNext()
for instance.
void recordStart(ExecuteContext ctx)
ResultSet
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.Statement
from your JDBC driver wrapped in a
java.sql.PreparedStatement
when your jOOQ Query
is being executed as StatementType.STATIC_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
ExecuteContext.resultSet()
: The ResultSet
that
is about to be fetched.ExecuteContext.record()
: The Record
that is
about to be fetched.ExecuteContext.sqlWarning()
: The SQLWarning
that was
emitted by the database or null
if no warning was
emitted.Note that this method is not called when executing queries that do not return a result, or when executing routines.
void recordEnd(ExecuteContext ctx)
ResultSet
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.Statement
from your JDBC driver wrapped in a
java.sql.PreparedStatement
when your jOOQ Query
is being executed as StatementType.STATIC_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
ExecuteContext.resultSet()
: The ResultSet
that
is about to be fetched.ExecuteContext.record()
: The last Record
that
was fetched.ExecuteContext.sqlWarning()
: The SQLWarning
that was
emitted by the database or null
if no warning was
emitted.Note that this method is not called when executing queries that do not return a result, or when executing routines.
void resultEnd(ExecuteContext ctx)
ResultSet
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.Statement
from your JDBC driver wrapped in a
java.sql.PreparedStatement
when your jOOQ Query
is being executed as StatementType.STATIC_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
ExecuteContext.resultSet()
: The ResultSet
that
is about to be fetched.ExecuteContext.record()
: The last Record
that
was fetched.ExecuteContext.result()
: The set of records that were
fetched.ExecuteContext.sqlWarning()
: The SQLWarning
that was
emitted by the database or null
if no warning was
emitted.
Note that this method is not called when executing queries that do not
return a result, or when executing routines. This is also not called when
fetching single records, with Cursor.fetchNext()
for instance.
void fetchEnd(ExecuteContext ctx)
ResultSet
.
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.Statement
from your JDBC driver wrapped in a
java.sql.PreparedStatement
when your jOOQ Query
is being executed as StatementType.STATIC_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
Statement
is already closed!ExecuteContext.resultSet()
: The ResultSet
that
was fetched. Note that the ResultSet
is already closed!ExecuteContext.rows()
: The number of affected rows if
applicable.ExecuteContext.serverOutput()
: The server output if
available. This may be fetched when
Settings.getFetchServerOutputSize()
> 0
ExecuteContext.record()
: The last Record
that
was fetched.ExecuteContext.result()
: The last set of records that were
fetched.ExecuteContext.sqlWarning()
: The SQLWarning
that was
emitted by the database or null
if no warning was
emitted.
In case of multiple ResultSets
with
ResultQuery.fetchMany()
, this is called several times, once per
ResultSet
Note that this method is not called when executing queries that do not return a result, or when executing routines.
void end(ExecuteContext ctx)
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.Statement
from your JDBC driver wrapped in a
java.sql.PreparedStatement
when your jOOQ Query
is being executed as StatementType.STATIC_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
Statement
is already closed!ExecuteContext.resultSet()
: The ResultSet
that
was fetched or null
, if no result set was fetched. Note that
the ResultSet
may already be closed!ExecuteContext.rows()
: The number of affected rows if
applicable.ExecuteContext.serverOutput()
: The server output if
available. This may be fetched when
Settings.getFetchServerOutputSize()
> 0
ExecuteContext.record()
: The last Record
that
was fetched or null if no records were fetched.ExecuteContext.result()
: The last set of records that were
fetched or null if no records were fetched.ExecuteContext.sqlWarning()
: The SQLWarning
that was
emitted by the database or null
if no warning was
emitted.void exception(ExecuteContext ctx)
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.Statement
from your JDBC driver wrapped in a
java.sql.PreparedStatement
when your jOOQ Query
is being executed as StatementType.STATIC_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
Statement
may be closed!ExecuteContext.resultSet()
: The ResultSet
that
was fetched or null
, if no result set was fetched. Note that
the ResultSet
may already be closed!ExecuteContext.rows()
: The number of affected rows if
applicable.ExecuteContext.serverOutput()
: The server output if
available. This may be fetched when
Settings.getFetchServerOutputSize()
> 0
ExecuteContext.record()
: The last Record
that
was fetched or null if no records were fetched.ExecuteContext.result()
: The last set of records that were
fetched or null if no records were fetched.ExecuteContext.exception()
: The RuntimeException
that
is about to be thrownExecuteContext.sqlException()
: The SQLException
that
was thrown by the databasevoid warning(ExecuteContext ctx)
Available attributes from ExecuteContext
:
ExecuteContext.connection()
: The connection used for
executionScope.configuration()
: The execution
configurationExecuteContext.query()
: The Query
object, if a
jOOQ query is being executed or null
otherwiseExecuteContext.routine()
: The Routine
object, if
a jOOQ routine is being executed or null
otherwiseExecuteContext.sql()
: The rendered SQL
statement
that is about to be executed, or null
if the
SQL
statement is unknown..ExecuteContext.statement()
: The
PreparedStatement
that is about to be executed, or
null
if no statement is known to jOOQ. This can be any of
the following: java.sql.PreparedStatement
from your JDBC driver when
a jOOQ Query
is being executed as
StatementType.PREPARED_STATEMENT
java.sql.Statement
from your JDBC driver wrapped in a
java.sql.PreparedStatement
when your jOOQ Query
is being executed as StatementType.STATIC_STATEMENT
java.sql.CallableStatement
when you are executing a
jOOQ Routine
Statement
may be closed!ExecuteContext.resultSet()
: The ResultSet
that
was fetched or null
, if no result set was fetched. Note that
the ResultSet
may already be closed!ExecuteContext.rows()
: The number of affected rows if
applicable.ExecuteContext.serverOutput()
: The server output if
available. This may be fetched when
Settings.getFetchServerOutputSize()
> 0
ExecuteContext.record()
: The last Record
that
was fetched or null if no records were fetched.ExecuteContext.result()
: The last set of records that were
fetched or null if no records were fetched.ExecuteContext.sqlWarning()
: The SQLWarning
that was
emitted by the databaseExecuteContext.exception()
: The RuntimeException
that
is about to be thrown or null
, if no exception is being
thrown.ExecuteContext.sqlException()
: The SQLException
that
was thrown by the database or null
, if no exception is being
thrown.
This method is only invoked if a warning appears. Note that fetching of
warnings can be disabled using Settings.isFetchWarnings()
Copyright © 2019. All rights reserved.