- All Superinterfaces:
- EventListener,- Serializable
- All Known Implementing Classes:
- CallbackExecuteListener,- DefaultExecuteListener,- LoggerListener,- StopWatchListener
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 get a hold
 of all provided listeners via ExecuteListenerProvider.provide(). The
 DefaultExecuteListenerProvider will always return the same
 ExecuteListener instance, but user defined providers can define any
 custom listener lifecycle, e.g. one instance per execution to store state
 between the moment when a query execution starts, and the moment when a query
 execution finishes in the listener. Alternatively, such data can be stored in
 Scope.data().
 
 Advanced ExecuteListeners can also provide custom
 implementations of Connection, PreparedStatement,
 ResultSet, SQLException or RuntimeException to jOOQ
 in appropriate 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 | 
| transformStart(ExecuteContext) | Yes, 1x | Yes, 1x | No | Yes, 1x | Yes, Nx (for every query) | Yes, 1x | 
| transformEnd(ExecuteContext) | Yes, 1x | Yes, 1x | No | Yes, 1x | Yes, Nx (for every query) | 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) | Maybe, 1x (Nx for Cursor.fetchNext(int) | Maybe, 1x (Nx for Cursor.fetchNext(int) | Maybe, 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) | Maybe, 1x (Nx for Cursor.fetchNext(int) | Maybe, 1x (Nx for Cursor.fetchNext(int) | Maybe, 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 | 
Legend:
- Used with ResultQueryof statement typeStatementType.PREPARED_STATEMENT
- Used with ResultQueryof statement typeStatementType.STATIC_STATEMENT
- Used with DSLContext.fetch(ResultSet)or withResultQuery.fetch()
- Used with DSLContext.batch(Query)
- Used with DSLContext.batch(Query[])
- Used with DSLContext.batch(Queries)
- Used with a Routinestandalone call
 If nothing is specified, the default is to use LoggerListener as the
 only event listener, as configured in Settings.isExecuteLogging()
- Author:
- Lukas Eder
- 
Method SummaryModifier and TypeMethodDescriptiondefault voidbindEnd(ExecuteContext ctx) Called after bind variables to thePreparedStatement.default voidbindStart(ExecuteContext ctx) Called before bind variables to thePreparedStatement.default voidend(ExecuteContext ctx) Called at the end of the execution lifecycle.default voidexception(ExecuteContext ctx) Called in the event of an exception at any moment of the execution lifecycle.default voidexecuteEnd(ExecuteContext ctx) Called after executing a statement.default voidCalled before executing a statement.default voidfetchEnd(ExecuteContext ctx) Called after fetching data from aResultSet.default voidfetchStart(ExecuteContext ctx) Called before fetching data from aResultSetinto aResulttype.static CallbackExecuteListeneronBindEnd(ExecuteEventHandler handler) Create anExecuteListenerwith abindEnd(ExecuteContext)implementation.static CallbackExecuteListeneronBindStart(ExecuteEventHandler handler) Create anExecuteListenerwith abindStart(ExecuteContext)implementation.static CallbackExecuteListeneronEnd(ExecuteEventHandler handler) Create anExecuteListenerwith aend(ExecuteContext)implementation.static CallbackExecuteListeneronException(ExecuteEventHandler handler) Create anExecuteListenerwith aexception(ExecuteContext)implementation.static CallbackExecuteListeneronExecuteEnd(ExecuteEventHandler handler) Create anExecuteListenerwith aexecuteEnd(ExecuteContext)implementation.static CallbackExecuteListeneronExecuteStart(ExecuteEventHandler handler) Create anExecuteListenerwith aexecuteStart(ExecuteContext)implementation.static CallbackExecuteListeneronFetchEnd(ExecuteEventHandler handler) Create anExecuteListenerwith afetchEnd(ExecuteContext)implementation.static CallbackExecuteListeneronFetchStart(ExecuteEventHandler handler) Create anExecuteListenerwith afetchStart(ExecuteContext)implementation.static CallbackExecuteListeneronOutEnd(ExecuteEventHandler handler) Create anExecuteListenerwith aoutEnd(ExecuteContext)implementation.static CallbackExecuteListeneronOutStart(ExecuteEventHandler handler) Create anExecuteListenerwith aoutStart(ExecuteContext)implementation.static CallbackExecuteListeneronPrepareEnd(ExecuteEventHandler handler) Create anExecuteListenerwith aprepareEnd(ExecuteContext)implementation.static CallbackExecuteListeneronPrepareStart(ExecuteEventHandler handler) Create anExecuteListenerwith aprepareStart(ExecuteContext)implementation.static CallbackExecuteListeneronRecordEnd(ExecuteEventHandler handler) Create anExecuteListenerwith arecordEnd(ExecuteContext)implementation.static CallbackExecuteListeneronRecordStart(ExecuteEventHandler handler) Create anExecuteListenerwith arecordStart(ExecuteContext)implementation.static CallbackExecuteListeneronRenderEnd(ExecuteEventHandler handler) Create anExecuteListenerwith arenderEnd(ExecuteContext)implementation.static CallbackExecuteListeneronRenderStart(ExecuteEventHandler handler) Create anExecuteListenerwith arenderStart(ExecuteContext)implementation.static CallbackExecuteListeneronResultEnd(ExecuteEventHandler handler) Create anExecuteListenerwith aresultEnd(ExecuteContext)implementation.static CallbackExecuteListeneronResultStart(ExecuteEventHandler handler) Create anExecuteListenerwith aresultStart(ExecuteContext)implementation.static CallbackExecuteListeneronStart(ExecuteEventHandler handler) Create anExecuteListenerwith astart(ExecuteContext)implementation.static CallbackExecuteListeneronTransformEnd(ExecuteEventHandler handler) Create anExecuteListenerwith atransformEnd(ExecuteContext)implementation.static CallbackExecuteListeneronTransformStart(ExecuteEventHandler handler) Create anExecuteListenerwith atransformStart(ExecuteContext)implementation.static CallbackExecuteListeneronWarning(ExecuteEventHandler handler) Create anExecuteListenerwith awarning(ExecuteContext)implementation.default voidoutEnd(ExecuteContext ctx) Called after fetching out parameter values from aCallableStatement.default voidoutStart(ExecuteContext ctx) Called before fetching out parameter values from aCallableStatement.default voidprepareEnd(ExecuteContext ctx) Called after preparing / creating the SQL statement.default voidCalled before preparing / creating the SQL statement.default voidrecordEnd(ExecuteContext ctx) Called after fetching a record from aResultSet.default voidCalled before fetching a record from aResultSet.default voidrenderEnd(ExecuteContext ctx) Called after rendering SQL from aQueryPart.default voidCalled before rendering SQL from aQueryPart.default voidresultEnd(ExecuteContext ctx) Called after fetching a set of records from aResultSet.default voidCalled before fetching a set of records from aResultSet.default voidstart(ExecuteContext ctx) Called to initialise anExecuteListener.default voidCalled before transforming aQuery.default voidCalled before transforming aQuery.default voidwarning(ExecuteContext ctx) Called in the event of a warning at any moment of the execution lifecycle.
- 
Method Details- 
startCalled to initialise anExecuteListener.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
 ExecuteContext:- ExecuteContext.connectionProvider(ConnectionProvider): The connection provider used for execution. This may be particularly interesting if a- Querywas de-serialised and is thus lacking the underlying connection
 - Parameters:
- ctx- The context containing information about the execution.
 
- 
renderStartCalled before rendering SQL from aQueryPart.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
 - Parameters:
- ctx- The context containing information about the execution.
 
- 
renderEndCalled after rendering SQL from aQueryPart.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
 Overridable attributes in ExecuteContext:- ExecuteContext.sql(String): The rendered- SQLstatement that is about to be executed. You can modify this statement freely.
 - Parameters:
- ctx- The context containing information about the execution.
 
- 
transformStartCalled before transforming aQuery.Users may use this method to replace the ExecuteContext.query(Query)beforeSettings.isTransformPatterns()pattern transformations are applied, and before any SQL is rendered.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
 Overridable attributes in ExecuteContext:- ExecuteContext.query(Query): The query that will be rendered and executed. So far, this cannot be used with- ExecuteContext.routine()yet.
 - Parameters:
- ctx- The context containing information about the execution.
 
- 
transformEndCalled before transforming aQuery.Users may use this method to replace the ExecuteContext.query(Query)afterSettings.isTransformPatterns()pattern transformations are applied, but before any SQL is rendered.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
 Overridable attributes in ExecuteContext:- ExecuteContext.query(Query): The query that will be rendered and executed. So far, this cannot be used with- ExecuteContext.routine()yet.
 - Parameters:
- ctx- The context containing information about the execution.
 
- 
prepareStartCalled before preparing / creating the SQL statement.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
 Overridable attributes in ExecuteContext:- ExecuteContext.sql(String): The rendered- SQLstatement that is about to be executed. You can modify this statement freely.
- ExecuteContext.statement(): The- PreparedStatementabout to be executed. At this stage, no such statement is available yet, but if provided, the execution lifecycle will skip preparing a statement. This can be used e.g. to implement a transaction-bound prepared statement cache.- A custom - PreparedStatementneeds to take into account- Settings.getStatementType(), and adefault void bind variable markers for- StatementType.STATIC_STATEMENT.- Flags such as - Query.queryTimeout(int),- Query.poolable(boolean),- ResultQuery.maxRows(int), which correspond to mutable flags on a- PreparedStatement, are set by jOOQ even if a listener provides the statement.- Flags such as - ResultQuery.resultSetConcurrency(int),- ResultQuery.resultSetHoldability(int),- ResultQuery.resultSetType(int), which correspond to immutable flags that are set on the statement at statement creation are not set on a statement provided by a listener.
 - Parameters:
- ctx- The context containing information about the execution.
 
- 
prepareEndCalled after preparing / creating the SQL statement.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.Statementfrom your JDBC driver wrapped in ajava.sql.PreparedStatementwhen your jOOQQueryis being executed asStatementType.STATIC_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 
- A 
 Overridable attributes in ExecuteContext:- ExecuteContext.statement(PreparedStatement): The- Statement,- PreparedStatement, or- CallableStatementthat is about to be executed. You can modify this statement freely, or wrap- ExecuteContext.statement()with your enriched statement wrapper
 - Parameters:
- ctx- The context containing information about the execution.
 
- 
bindStartCalled before bind variables to thePreparedStatement.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 
- A 
 Overridable attributes in ExecuteContext:- ExecuteContext.statement(PreparedStatement): The- PreparedStatement, or- CallableStatementthat 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- Parameters:
- ctx- The context containing information about the execution.
 
- 
bindEndCalled after bind variables to thePreparedStatement.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 
- A 
 Overridable attributes in ExecuteContext:- ExecuteContext.statement(PreparedStatement): The- Statement,- PreparedStatement, or- CallableStatementthat 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- Parameters:
- ctx- The context containing information about the execution.
 
- 
executeStartCalled before executing a statement.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.Statementfrom your JDBC driver wrapped in ajava.sql.PreparedStatementwhen your jOOQQueryis being executed asStatementType.STATIC_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 
- A 
 Overridable attributes in ExecuteContext:- ExecuteContext.statement(PreparedStatement): The- Statement,- PreparedStatement, or- CallableStatementthat 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.
 - Parameters:
- ctx- The context containing information about the execution.
 
- 
executeEndCalled after executing a statement.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.Statementfrom your JDBC driver wrapped in ajava.sql.PreparedStatementwhen your jOOQQueryis being executed asStatementType.STATIC_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 
- A 
- ExecuteContext.resultSet(): The- ResultSetthat is about to be fetched or- null, if the- Queryreturns no result set, or if a- Routineis being executed.
- ExecuteContext.rows(): The number of affected rows if applicable. In case a- ResultSetis 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- ResultSetthat is about to be fetched. You can modify this result set freely, or wrap- ExecuteContext.resultSet()with your enriched result set wrapper
 - Parameters:
- ctx- The context containing information about the execution.
 
- 
outStartCalled before fetching out parameter values from aCallableStatement.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 
- A 
- ExecuteContext.sqlWarning(): The- SQLWarningthat was emitted by the database or- nullif no warning was emitted.
 Note that this method is called only when executing standalone routine calls. - Parameters:
- ctx- The context containing information about the execution.
 
- 
outEndCalled after fetching out parameter values from aCallableStatement.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 
- A 
- ExecuteContext.sqlWarning(): The- SQLWarningthat was emitted by the database or- nullif no warning was emitted.
 Note that this method is called only when executing standalone routine calls. - Parameters:
- ctx- The context containing information about the execution.
 
- 
fetchStartCalled before fetching data from aResultSetinto aResulttype.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.Statementfrom your JDBC driver wrapped in ajava.sql.PreparedStatementwhen your jOOQQueryis being executed asStatementType.STATIC_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 
- A 
- ExecuteContext.resultSet(): The- ResultSetthat is about to be fetched.
- ExecuteContext.sqlWarning(): The- SQLWarningthat was emitted by the database or- nullif no warning was emitted.
 Overridable attributes in ExecuteContext:- ExecuteContext.resultSet(ResultSet): The- ResultSetthat 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 ResultSetswithResultQuery.fetchMany(), this is called several times, once perResultSetNote that this method is not called when executing queries that do not return a result, or when executing routines. - Parameters:
- ctx- The context containing information about the execution.
 
- 
resultStartCalled before fetching a set of records from aResultSet.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.Statementfrom your JDBC driver wrapped in ajava.sql.PreparedStatementwhen your jOOQQueryis being executed asStatementType.STATIC_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 
- A 
- ExecuteContext.resultSet(): The- ResultSetthat is about to be fetched.
- ExecuteContext.result(): The set of records that are about to be fetched.
- ExecuteContext.resultLevel(): The result nesting level, in case the upcoming- ExecuteContext.result()is aor other type of nested result.- invalid @link- DSL#multiset(Select)
- ExecuteContext.sqlWarning(): The- SQLWarningthat was emitted by the database or- nullif no warning was emitted.
 Executions withoutResultNot all types of execution produce results of type Result. For example, these do not:- ResultQuery.iterator()
- ResultQuery.stream()
- ResultQuery.collect(Collector)(including all- Collectorbased fetches, such as e.g. a- ResultQuery.fetchMap(Field, Field),- ResultQuery.fetchGroups(Field, Field),- ResultQuery.fetchSet(Field), and all the overloads)
- Publisher.subscribe(Subscriber)
 resultStart(ExecuteContext)event is fired.Note that this method is also 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.- Parameters:
- ctx- The context containing information about the execution.
 
- 
recordStartCalled before fetching a record from aResultSet.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.Statementfrom your JDBC driver wrapped in ajava.sql.PreparedStatementwhen your jOOQQueryis being executed asStatementType.STATIC_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 
- A 
- ExecuteContext.resultSet(): The- ResultSetthat is about to be fetched.
- ExecuteContext.record(): The- Recordthat is about to be fetched.
- ExecuteContext.recordLevel(): The record nesting level, in case the upcoming- ExecuteContext.record()is a- Rowor other type of nested record. The level is also increased if a record is contained in a nested- ExecuteContext.result().
- ExecuteContext.sqlWarning(): The- SQLWarningthat was emitted by the database or- nullif no warning was emitted.
 Note that this method is not called when executing queries that do not return a result, or when executing routines. - Parameters:
- ctx- The context containing information about the execution.
 
- 
recordEndCalled after fetching a record from aResultSet.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.Statementfrom your JDBC driver wrapped in ajava.sql.PreparedStatementwhen your jOOQQueryis being executed asStatementType.STATIC_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 
- A 
- ExecuteContext.resultSet(): The- ResultSetthat is about to be fetched.
- ExecuteContext.record(): The last- Recordthat was fetched.
- ExecuteContext.recordLevel(): The record nesting level, in case the upcoming- ExecuteContext.record()is a- Rowor other type of nested record. The level is also increased if a record is contained in a nested- ExecuteContext.result().
- ExecuteContext.sqlWarning(): The- SQLWarningthat was emitted by the database or- nullif no warning was emitted.
 Note that this method is not called when executing queries that do not return a result, or when executing routines. - Parameters:
- ctx- The context containing information about the execution.
 
- 
resultEndCalled after fetching a set of records from aResultSet.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.Statementfrom your JDBC driver wrapped in ajava.sql.PreparedStatementwhen your jOOQQueryis being executed asStatementType.STATIC_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 
- A 
- ExecuteContext.resultSet(): The- ResultSetthat is about to be fetched.
- ExecuteContext.record(): The last- Recordthat was fetched.
- ExecuteContext.result(): The set of records that were fetched.
- ExecuteContext.resultLevel(): The result nesting level, in case the upcoming- ExecuteContext.result()is aor other type of nested result.- invalid @link- DSL#multiset(Select)
- ExecuteContext.sqlWarning(): The- SQLWarningthat was emitted by the database or- nullif no warning was emitted.
 Executions withoutResultNot all types of execution produce results of type Result. For example, these do not:- ResultQuery.iterator()
- ResultQuery.stream()
- ResultQuery.collect(Collector)(including all- Collectorbased fetches, such as e.g. a- ResultQuery.fetchMap(Field, Field),- ResultQuery.fetchGroups(Field, Field),- ResultQuery.fetchSet(Field), and all the overloads)
- Publisher.subscribe(Subscriber)
 resultEnd(ExecuteContext)event is fired.Note that this method is also 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.- Parameters:
- ctx- The context containing information about the execution.
 
- 
fetchEndCalled after fetching data from aResultSet.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.Statementfrom your JDBC driver wrapped in ajava.sql.PreparedStatementwhen your jOOQQueryis being executed asStatementType.STATIC_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 - Statementis already closed!
- A 
- ExecuteContext.resultSet(): The- ResultSetthat was fetched. Note that the- ResultSetis 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- Recordthat was fetched.
- ExecuteContext.result(): The last set of records that were fetched.
- ExecuteContext.sqlWarning(): The- SQLWarningthat was emitted by the database or- nullif no warning was emitted.
 In case of multiple ResultSetswithResultQuery.fetchMany(), this is called several times, once perResultSetNote that this method is not called when executing queries that do not return a result, or when executing routines. - Parameters:
- ctx- The context containing information about the execution.
 
- 
endCalled at the end of the execution lifecycle.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.Statementfrom your JDBC driver wrapped in ajava.sql.PreparedStatementwhen your jOOQQueryis being executed asStatementType.STATIC_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 - Statementis already closed!
- A 
- ExecuteContext.resultSet(): The- ResultSetthat was fetched or- null, if no result set was fetched. Note that the- ResultSetmay 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- Recordthat 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- SQLWarningthat was emitted by the database or- nullif no warning was emitted.
 - Parameters:
- ctx- The context containing information about the execution.
 
- 
exceptionCalled in the event of an exception at any moment of the execution lifecycle.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.Statementfrom your JDBC driver wrapped in ajava.sql.PreparedStatementwhen your jOOQQueryis being executed asStatementType.STATIC_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 - Statementmay be closed!
- A 
- ExecuteContext.resultSet(): The- ResultSetthat was fetched or- null, if no result set was fetched. Note that the- ResultSetmay 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- Recordthat 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- RuntimeExceptionthat is about to be thrown
- ExecuteContext.sqlException(): The- SQLExceptionthat was thrown by the database
 - Parameters:
- ctx- The context containing information about the execution.
 
- 
warningCalled in the event of a warning at any moment of the execution lifecycle.Available attributes from ExecuteContext:- ExecuteContext.connection(): The connection used for execution
- Scope.configuration(): The execution configuration
- ExecuteContext.query(): The- Queryobject, if a jOOQ query is being executed or- nullotherwise
- ExecuteContext.routine(): The- Routineobject, if a jOOQ routine is being executed or- nullotherwise
- ExecuteContext.sql(): The rendered- SQLstatement that is about to be executed, or- nullif the- SQLstatement is unknown..
- ExecuteContext.statement(): The- PreparedStatementthat is about to be executed, or- nullif no statement is known to jOOQ. This can be any of the following:
 
 - A java.sql.PreparedStatementfrom your JDBC driver when a jOOQQueryis being executed asStatementType.PREPARED_STATEMENT
- A java.sql.Statementfrom your JDBC driver wrapped in ajava.sql.PreparedStatementwhen your jOOQQueryis being executed asStatementType.STATIC_STATEMENT
- A java.sql.CallableStatementwhen you are executing a jOOQRoutine
 - Statementmay be closed!
- A 
- ExecuteContext.resultSet(): The- ResultSetthat was fetched or- null, if no result set was fetched. Note that the- ResultSetmay 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- Recordthat 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- SQLWarningthat was emitted by the database
- ExecuteContext.exception(): The- RuntimeExceptionthat is about to be thrown or- null, if no exception is being thrown.
- ExecuteContext.sqlException(): The- SQLExceptionthat 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()- Parameters:
- ctx- The context containing information about the execution.
 
- 
onStartCreate anExecuteListenerwith astart(ExecuteContext)implementation.
- 
onEndCreate anExecuteListenerwith aend(ExecuteContext)implementation.
- 
onTransformStartCreate anExecuteListenerwith atransformStart(ExecuteContext)implementation.
- 
onTransformEndCreate anExecuteListenerwith atransformEnd(ExecuteContext)implementation.
- 
onRenderStartCreate anExecuteListenerwith arenderStart(ExecuteContext)implementation.
- 
onRenderEndCreate anExecuteListenerwith arenderEnd(ExecuteContext)implementation.
- 
onPrepareStartCreate anExecuteListenerwith aprepareStart(ExecuteContext)implementation.
- 
onPrepareEndCreate anExecuteListenerwith aprepareEnd(ExecuteContext)implementation.
- 
onBindStartCreate anExecuteListenerwith abindStart(ExecuteContext)implementation.
- 
onBindEndCreate anExecuteListenerwith abindEnd(ExecuteContext)implementation.
- 
onExecuteStartCreate anExecuteListenerwith aexecuteStart(ExecuteContext)implementation.
- 
onExecuteEndCreate anExecuteListenerwith aexecuteEnd(ExecuteContext)implementation.
- 
onOutStartCreate anExecuteListenerwith aoutStart(ExecuteContext)implementation.
- 
onOutEndCreate anExecuteListenerwith aoutEnd(ExecuteContext)implementation.
- 
onFetchStartCreate anExecuteListenerwith afetchStart(ExecuteContext)implementation.
- 
onFetchEndCreate anExecuteListenerwith afetchEnd(ExecuteContext)implementation.
- 
onResultStartCreate anExecuteListenerwith aresultStart(ExecuteContext)implementation.
- 
onResultEndCreate anExecuteListenerwith aresultEnd(ExecuteContext)implementation.
- 
onRecordStartCreate anExecuteListenerwith arecordStart(ExecuteContext)implementation.
- 
onRecordEndCreate anExecuteListenerwith arecordEnd(ExecuteContext)implementation.
- 
onExceptionCreate anExecuteListenerwith aexception(ExecuteContext)implementation.
- 
onWarningCreate anExecuteListenerwith awarning(ExecuteContext)implementation.
 
-