- All Superinterfaces:
Scope
Query execution passed to registered
ExecuteListener's.
This type implements Scope and thus has a lifecycle defined by the
query execution.
The Scope.data() map contents are maintained for the entirety of the
execution, and are passed along to child Scope types, including e.g.
BindingScope: When passing bind values or reading results.
- Author:
- Lukas Eder
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumThe batch mode, which helps interpret the contents ofbatchQueries(). -
Method Summary
Modifier and TypeMethodDescription@NotNull ExecuteContext.BatchModeThe batch execution mode.@NotNull Query @NotNull []The jOOQQueryobjects that are being executed in batch mode, or empty if the query is unknown or if there was no jOOQQuery.voidbatchQueries(Query... query) Set the jOOQ batchQueryobjects that are being executed, if applicable.int @NotNull []The number of rows that were affected by the last statement executed in batch mode.@NotNull String @NotNull []batchSQL()The generated SQL statements that are being executed in batch mode, or empty if the query is unknown or if there was no SQL statement.The connection to be used in this execute context.voidconnectionProvider(ConnectionProvider connectionProvider) Override theConnectionthat is being used for execution.Get aConverterContextfor the scope of thisExecuteContext.@Nullable RuntimeExceptionTheRuntimeExceptionbeing thrown.voidOverride theRuntimeExceptionbeing thrown.@NotNull Query @NotNull []The original batchQueryobjects that were available at theExecuteListener.start(ExecuteContext)of thisExecuteContext.@Nullable QueryThe originalQuerythat was available at theExecuteListener.start(ExecuteContext)of thisExecuteContext, ornullif the query is unknown, if it is a batch query, or if there was no jOOQQuery.@Nullable Queryquery()The jOOQQuerythat is being executed, ornullif the query is unknown, if it is a batch query, or if there was no jOOQQuery.voidSet the jOOQQuerythat is being executed, if applicable.@Nullable Recordrecord()The last record that was fetched from the result set, ornullif no record has been fetched.voidCalling this has no effect.intThe 0-based record nesting level forrecord(), relevant when nested result events are triggered viaExecuteListener.resultStart(ExecuteContext)andExecuteListener.resultEnd(ExecuteContext), e.g.@Nullable Result<?>result()The last result that was fetched from the result set, ornullif no result has been fetched, including when results do not need to be buffered in aResulttype, such as allResultQuery.collect(Collector)orResultQuery.iterator()based fetches.voidCalling this has no effect.intThe 0-based result nesting level forresult(), relevant when nested result events are triggered viaExecuteListener.resultStart(ExecuteContext)andExecuteListener.resultEnd(ExecuteContext), e.g.@Nullable ResultSetTheResultSetthat is being fetched ornullif the result set is unknown or if no result set is being fetched.voidOverride theResultSetthat is being fetched.@Nullable Routine<?>routine()The jOOQRoutinethat is being executed ornullif the query is unknown or if there was no jOOQRoutine.introws()The number of rows that were affected by the last statement.voidrows(int rows) Calling this has no effect.@NotNull String @NotNull []Any server output collected from this statement when.Settings.getFetchServerOutputSize()> 0voidserverOutput(String[] output) Any server output collected from this statement when.Settings.getFetchServerOutputSize()> 0@Nullable Stringsql()The SQL that is being executed ornullif the SQL statement is unknown or if there was no SQL statement.voidOverride the SQL statement that is being executed.@Nullable SQLExceptionTheSQLExceptionthat was thrown by the database.voidOverride theSQLExceptionbeing thrown.@Nullable SQLWarningTheSQLWarningthat was emitted by the database.voidOverride theSQLWarningbeing emitted.@Nullable PreparedStatementThePreparedStatementthat is being executed ornullif the statement is unknown or if there was no statement.voidstatement(PreparedStatement statement) Override thePreparedStatementthat is being executed.intThe number of times this particular statement has been executed.@NotNull Query @NotNull []The transformed batchQueryobjects that were available at theExecuteListener.transformEnd(ExecuteContext)event of thisExecuteContext.@Nullable QueryThe transformedQuerythat was available at theExecuteListener.transformEnd(ExecuteContext)event of thisExecuteContext, ornullif the query is unknown, if it is a batch query, or if there was no jOOQQuery.@NotNull ExecuteTypetype()The type of database interaction that is being executed.Methods inherited from interface org.jooq.Scope
configuration, creationTime, data, data, data, dialect, dsl, family, settings
-
Method Details
-
converterContext
ConverterContext converterContext()Get aConverterContextfor the scope of thisExecuteContext. -
connection
Connection connection()The connection to be used in this execute context.This returns a proxy to the
Configuration.connectionProvider()'s supplied connection. This proxy takes care of two things:- It takes care of properly implementing
Settings.getStatementType() - It takes care of properly returning a connection to
ConnectionProvider.release(Connection), once jOOQ can release the connection
- It takes care of properly implementing
-
type
The type of database interaction that is being executed.- See Also:
-
query
The jOOQQuerythat is being executed, ornullif the query is unknown, if it is a batch query, or if there was no jOOQQuery.This corresponds to
transformedQuery().- See Also:
-
originalQuery
The originalQuerythat was available at theExecuteListener.start(ExecuteContext)of thisExecuteContext, ornullif the query is unknown, if it is a batch query, or if there was no jOOQQuery. -
transformedQuery
The transformedQuerythat was available at theExecuteListener.transformEnd(ExecuteContext)event of thisExecuteContext, ornullif the query is unknown, if it is a batch query, or if there was no jOOQQuery.If no transformation took place (yet), then this is the same as
originalQuery(). -
query
Set the jOOQQuerythat is being executed, if applicable.This may have no effect, if called at the wrong moment, or if
batchMode()is notExecuteContext.BatchMode.NONE. -
batchMode
The batch execution mode. -
batchQueries
The jOOQQueryobjects that are being executed in batch mode, or empty if the query is unknown or if there was no jOOQQuery.If a single
Queryis executed in non-batch mode, this will return an array of length1, containing thatQueryRefer to
batchMode()to decide how to interpret this content.This corresponds to
transformedBatchQueries(). -
originalBatchQueries
The original batchQueryobjects that were available at theExecuteListener.start(ExecuteContext)of thisExecuteContext. -
transformedBatchQueries
The transformed batchQueryobjects that were available at theExecuteListener.transformEnd(ExecuteContext)event of thisExecuteContext.If no transformation took place (yet), then this is the same as
originalBatchQueries(). -
batchQueries
Set the jOOQ batchQueryobjects that are being executed, if applicable.This may have no effect, if called at the wrong moment, or if
batchMode()isExecuteContext.BatchMode.NONE. -
routine
The jOOQRoutinethat is being executed ornullif the query is unknown or if there was no jOOQRoutine.- See Also:
-
sql
The SQL that is being executed ornullif the SQL statement is unknown or if there was no SQL statement. -
sql
Override the SQL statement that is being executed.This may have no effect, if called at the wrong moment.
-
batchSQL
The generated SQL statements that are being executed in batch mode, or empty if the query is unknown or if there was no SQL statement.If a single
Queryis executed in non-batch mode, this will return an array of length1, containing thatQuery -
connectionProvider
Override theConnectionthat is being used for execution.This may have no effect, if called at the wrong moment.
- See Also:
-
statement
ThePreparedStatementthat is being executed ornullif the statement is unknown or if there was no statement.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
-
statement
Override thePreparedStatementthat is being executed.This may have no effect, if called at the wrong moment.
-
statementExecutionCount
int statementExecutionCount()The number of times this particular statement has been executed.Statements that are prepared by jOOQ can be executed multiple times without being closed if
Query.keepStatement(boolean)is activated.This value will increment as soon as the statement is about to be executed (at the
ExecuteListener.executeStart(ExecuteContext)event). -
resultSet
TheResultSetthat is being fetched ornullif the result set is unknown or if no result set is being fetched. -
resultSet
Override theResultSetthat is being fetched.This may have no effect, if called at the wrong moment.
-
recordLevel
int recordLevel()The 0-based record nesting level forrecord(), relevant when nested result events are triggered viaExecuteListener.resultStart(ExecuteContext)andExecuteListener.resultEnd(ExecuteContext), e.g. in the presence of.invalid @link
DSL#multiset(Select) -
record
The last record that was fetched from the result set, ornullif no record has been fetched. -
record
Calling this has no effect. It is used by jOOQ internally. -
rows
int rows()The number of rows that were affected by the last statement.This returns
-1:- if the number of affected rows is not yet available (e.g. prior to
the
ExecuteListener.executeEnd(ExecuteContext)event). - if affected rows are not applicable for the given statement
(statements that do not produce a JDBC
Statement.getUpdateCount().
- if the number of affected rows is not yet available (e.g. prior to
the
-
rows
void rows(int rows) Calling this has no effect. It is used by jOOQ internally. -
batchRows
int @NotNull [] batchRows()The number of rows that were affected by the last statement executed in batch mode.If a single
Queryis executed in non-batch mode, this will return an array of length1, containingrows()This returns
-1values if the number of affected rows is not yet available, or if affected rows are not applicable for a given statement.- Returns:
- The affected rows. This is never
null - See Also:
-
resultLevel
int resultLevel()The 0-based result nesting level forresult(), relevant when nested result events are triggered viaExecuteListener.resultStart(ExecuteContext)andExecuteListener.resultEnd(ExecuteContext), e.g. in the presence of.invalid @link
DSL#multiset(Select) -
result
The last result that was fetched from the result set, ornullif no result has been fetched, including when results do not need to be buffered in aResulttype, such as allResultQuery.collect(Collector)orResultQuery.iterator()based fetches. -
result
Calling this has no effect. It is used by jOOQ internally. -
exception
TheRuntimeExceptionbeing thrown. -
exception
Override theRuntimeExceptionbeing thrown.This may have no effect, if called at the wrong moment.
If
nullis being passed, jOOQ will internally translate the "unavailable" exception to an unspecifiedDataAccessException. -
sqlException
TheSQLExceptionthat was thrown by the database. -
sqlException
Override theSQLExceptionbeing thrown.Any
SQLExceptionwill be wrapped by jOOQ using an uncheckedDataAccessException. To have jOOQ throw your own customRuntimeException, useexception(RuntimeException)instead. This may have no effect, if called at the wrong moment.If
nullis being passed, jOOQ will internally translate the "unavailable" exception to an unspecifiedDataAccessException. -
sqlWarning
TheSQLWarningthat was emitted by the database.Note that fetching of warnings can be disabled using
Settings.isFetchWarnings(), in case of which this property will benull. -
sqlWarning
Override theSQLWarningbeing emitted. -
serverOutput
Any server output collected from this statement when.Settings.getFetchServerOutputSize()> 0- Returns:
- The server output. This is never
null.
-
serverOutput
Any server output collected from this statement when.Settings.getFetchServerOutputSize()> 0
-