Package org.hibernate.reactive.pool
Interface ReactiveConnection
-
- All Known Implementing Classes:
BatchingConnection
,SqlClientConnection
public interface ReactiveConnection
Abstracts over reactive database connections, defining operations that allow queries to be executed asynchronously viaCompletionStage
.It is illegal to perform two non-blocking operations concurrently with a single
ReactiveConnection
. Instead, the second operation must be chained on completion of the first operation. This restriction might be relaxed in future, and is due to the implementation of theProxyConnection
.- See Also:
ReactiveConnectionPool
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
ReactiveConnection.Expectation
static interface
ReactiveConnection.Result
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.concurrent.CompletionStage<java.lang.Void>
beginTransaction()
java.util.concurrent.CompletionStage<java.lang.Void>
close()
java.util.concurrent.CompletionStage<java.lang.Void>
commitTransaction()
java.util.concurrent.CompletionStage<java.lang.Void>
execute(java.lang.String sql)
java.util.concurrent.CompletionStage<java.lang.Void>
executeBatch()
java.util.concurrent.CompletionStage<java.lang.Void>
executeOutsideTransaction(java.lang.String sql)
java.util.concurrent.CompletionStage<java.lang.Void>
executeUnprepared(java.lang.String sql)
Run sql as statement (instead of preparedStatement)io.vertx.sqlclient.spi.DatabaseMetadata
getDatabaseMetadata()
<T> java.util.concurrent.CompletionStage<T>
insertAndSelectIdentifier(java.lang.String sql, java.lang.Object[] paramValues, java.lang.Class<T> idClass, java.lang.String idColumnName)
java.util.concurrent.CompletionStage<java.lang.Void>
rollbackTransaction()
java.util.concurrent.CompletionStage<ReactiveConnection.Result>
select(java.lang.String sql)
java.util.concurrent.CompletionStage<ReactiveConnection.Result>
select(java.lang.String sql, java.lang.Object[] paramValues)
<T> java.util.concurrent.CompletionStage<T>
selectIdentifier(java.lang.String sql, java.lang.Object[] paramValues, java.lang.Class<T> idClass)
java.util.concurrent.CompletionStage<java.sql.ResultSet>
selectJdbc(java.lang.String sql, java.lang.Object[] paramValues)
java.util.concurrent.CompletionStage<java.sql.ResultSet>
selectJdbcOutsideTransaction(java.lang.String sql, java.lang.Object[] paramValues)
This method is intended to be used only for queries returning a ResultSet that must be executed outside of any "current" transaction (i.e with autocommit=true).java.util.concurrent.CompletionStage<java.lang.Integer>
update(java.lang.String sql)
java.util.concurrent.CompletionStage<java.lang.Integer>
update(java.lang.String sql, java.lang.Object[] paramValues)
java.util.concurrent.CompletionStage<java.lang.Void>
update(java.lang.String sql, java.lang.Object[] paramValues, boolean allowBatching, ReactiveConnection.Expectation expectation)
java.util.concurrent.CompletionStage<int[]>
update(java.lang.String sql, java.util.List<java.lang.Object[]> paramValues)
ReactiveConnection
withBatchSize(int batchSize)
-
-
-
Method Detail
-
getDatabaseMetadata
io.vertx.sqlclient.spi.DatabaseMetadata getDatabaseMetadata()
-
execute
java.util.concurrent.CompletionStage<java.lang.Void> execute(java.lang.String sql)
-
executeOutsideTransaction
java.util.concurrent.CompletionStage<java.lang.Void> executeOutsideTransaction(java.lang.String sql)
-
executeUnprepared
java.util.concurrent.CompletionStage<java.lang.Void> executeUnprepared(java.lang.String sql)
Run sql as statement (instead of preparedStatement)
-
update
java.util.concurrent.CompletionStage<java.lang.Integer> update(java.lang.String sql)
-
update
java.util.concurrent.CompletionStage<java.lang.Integer> update(java.lang.String sql, java.lang.Object[] paramValues)
-
update
java.util.concurrent.CompletionStage<java.lang.Void> update(java.lang.String sql, java.lang.Object[] paramValues, boolean allowBatching, ReactiveConnection.Expectation expectation)
-
update
java.util.concurrent.CompletionStage<int[]> update(java.lang.String sql, java.util.List<java.lang.Object[]> paramValues)
-
select
java.util.concurrent.CompletionStage<ReactiveConnection.Result> select(java.lang.String sql)
-
select
java.util.concurrent.CompletionStage<ReactiveConnection.Result> select(java.lang.String sql, java.lang.Object[] paramValues)
-
selectJdbc
java.util.concurrent.CompletionStage<java.sql.ResultSet> selectJdbc(java.lang.String sql, java.lang.Object[] paramValues)
-
selectJdbcOutsideTransaction
java.util.concurrent.CompletionStage<java.sql.ResultSet> selectJdbcOutsideTransaction(java.lang.String sql, java.lang.Object[] paramValues)
This method is intended to be used only for queries returning a ResultSet that must be executed outside of any "current" transaction (i.e with autocommit=true). For example, it would be appropriate to use this method when performing queries on information_schema or system tables in order to obtain metadata information about catalogs, schemas, tables, etc.- Parameters:
sql
- - the query to execute outside of a transactionparamValues
- - a non-null array of parameter values- Returns:
- the CompletionStage
from executing the query.
-
insertAndSelectIdentifier
<T> java.util.concurrent.CompletionStage<T> insertAndSelectIdentifier(java.lang.String sql, java.lang.Object[] paramValues, java.lang.Class<T> idClass, java.lang.String idColumnName)
-
selectIdentifier
<T> java.util.concurrent.CompletionStage<T> selectIdentifier(java.lang.String sql, java.lang.Object[] paramValues, java.lang.Class<T> idClass)
-
beginTransaction
java.util.concurrent.CompletionStage<java.lang.Void> beginTransaction()
-
commitTransaction
java.util.concurrent.CompletionStage<java.lang.Void> commitTransaction()
-
rollbackTransaction
java.util.concurrent.CompletionStage<java.lang.Void> rollbackTransaction()
-
withBatchSize
ReactiveConnection withBatchSize(int batchSize)
-
executeBatch
java.util.concurrent.CompletionStage<java.lang.Void> executeBatch()
-
close
java.util.concurrent.CompletionStage<java.lang.Void> close()
-
-