Class InternalReactiveTransaction
- All Implemented Interfaces:
ReactiveQueryRunner
,ReactiveTransaction
-
Field Summary
Fields inherited from class org.neo4j.driver.internal.reactive.AbstractReactiveTransaction
tx
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionorg.reactivestreams.Publisher<Void>
close()
Close the transaction.<T> org.reactivestreams.Publisher<T>
commit()
Commits the transaction.org.reactivestreams.Publisher<Boolean>
isOpen()
Determine if transaction is open.<T> org.reactivestreams.Publisher<T>
rollback()
Rolls back the transaction.default org.reactivestreams.Publisher<ReactiveResult>
Register running of a query and return a publisher ofReactiveResult
.default org.reactivestreams.Publisher<ReactiveResult>
Register running of a query and return a publisher ofReactiveResult
.default org.reactivestreams.Publisher<ReactiveResult>
Register running of a query and return a publisher ofReactiveResult
.default org.reactivestreams.Publisher<ReactiveResult>
Register running of a query and return a publisher ofReactiveResult
.org.reactivestreams.Publisher<ReactiveResult>
Register running of a query and return a publisher ofReactiveResult
.org.reactivestreams.Publisher<Void>
THIS IS A PRIVATE APIMethods inherited from class org.neo4j.driver.internal.reactive.AbstractReactiveTransaction
close, doClose, doCommit, doIsOpen, doRollback
-
Constructor Details
-
InternalReactiveTransaction
-
-
Method Details
-
run
Description copied from interface:ReactiveQueryRunner
Register running of a query and return a publisher ofReactiveResult
.Invoking this method will result in a Bolt RUN message exchange with server and the returned publisher will either emit an instance of
ReactiveResult
on success or an error otherwise.- Specified by:
run
in interfaceReactiveQueryRunner
- Parameters:
query
- a Neo4j query- Returns:
- a publisher of reactive result.
-
terminate
THIS IS A PRIVATE APITerminates the transaction by sending the Bolt
RESET
message and waiting for its response as long as the transaction has not already been terminated, is not closed or closing.- Returns:
- completion publisher (the
RESET
completion publisher if the message was sent) - Since:
- 5.11
-
commit
public <T> org.reactivestreams.Publisher<T> commit()Description copied from interface:ReactiveTransaction
Commits the transaction. It completes without publishing anything if transaction is committed successfully. Otherwise, errors when there is any error to commit.- Specified by:
commit
in interfaceReactiveTransaction
- Type Parameters:
T
- makes it easier to be chained after other publishers.- Returns:
- an empty publisher.
-
rollback
public <T> org.reactivestreams.Publisher<T> rollback()Description copied from interface:ReactiveTransaction
Rolls back the transaction. It completes without publishing anything if transaction is rolled back successfully. Otherwise, errors when there is any error to roll back.- Specified by:
rollback
in interfaceReactiveTransaction
- Type Parameters:
T
- makes it easier to be chained after other publishers.- Returns:
- an empty publisher.
-
close
Description copied from interface:ReactiveTransaction
Close the transaction. If the transaction has beencommitted
orrolled back
, the close is optional and no operation is performed. Otherwise, the transaction will be rolled back by default by this method.- Specified by:
close
in interfaceReactiveTransaction
- Returns:
- new
Publisher
that gets completed when close is successful, otherwise an error is signalled.
-
isOpen
Description copied from interface:ReactiveTransaction
Determine if transaction is open.- Specified by:
isOpen
in interfaceReactiveTransaction
- Returns:
- a publisher emitting
true
if transaction is open andfalse
otherwise.
-
run
Description copied from interface:ReactiveQueryRunner
Register running of a query and return a publisher ofReactiveResult
.Invoking this method will result in a Bolt RUN message exchange with server and the returned publisher will either emit an instance of
ReactiveResult
on success or an error otherwise.This method takes a set of parameters that will be injected into the query by Neo4j. Using parameters is highly encouraged, it helps avoid dangerous cypher injection attacks and improves database performance as Neo4j can re-use query plans more often.
This particular method takes a
Value
as its input. This is useful if you want to take a map-like value that you've gotten from a prior result and send it back as parameters.If you are creating parameters programmatically,
ReactiveQueryRunner.run(String, Map)
might be more helpful, it converts your map to aValue
for you.- Specified by:
run
in interfaceReactiveQueryRunner
- Parameters:
queryStr
- text of a Neo4j queryparameters
- input parameters, should be a map Value, seeValues.parameters(Object...)
.- Returns:
- a publisher of reactive result.
-
run
default org.reactivestreams.Publisher<ReactiveResult> run(String query, Map<String, Object> parameters) Description copied from interface:ReactiveQueryRunner
Register running of a query and return a publisher ofReactiveResult
.Invoking this method will result in a Bolt RUN message exchange with server and the returned publisher will either emit an instance of
ReactiveResult
on success or an error otherwise.This method takes a set of parameters that will be injected into the query by Neo4j. Using parameters is highly encouraged, it helps avoid dangerous cypher injection attacks and improves database performance as Neo4j can re-use query plans more often.
This version of run takes a
Map
of parameters. The values in the map must be values that can be converted to Neo4j types. SeeValues.parameters(Object...)
for a list of allowed types.- Specified by:
run
in interfaceReactiveQueryRunner
- Parameters:
query
- text of a Neo4j queryparameters
- input data for the query- Returns:
- a publisher of reactive result.
-
run
Description copied from interface:ReactiveQueryRunner
Register running of a query and return a publisher ofReactiveResult
.Invoking this method will result in a Bolt RUN message exchange with server and the returned publisher will either emit an instance of
ReactiveResult
on success or an error otherwise.This method takes a set of parameters that will be injected into the query by Neo4j. Using parameters is highly encouraged, it helps avoid dangerous cypher injection attacks and improves database performance as Neo4j can re-use query plans more often.
This version of run takes a
Record
of parameters, which can be useful if you want to use the output of one query as input for another.- Specified by:
run
in interfaceReactiveQueryRunner
- Parameters:
query
- text of a Neo4j queryparameters
- input data for the query- Returns:
- a publisher of reactive result.
-
run
Description copied from interface:ReactiveQueryRunner
Register running of a query and return a publisher ofReactiveResult
.Invoking this method will result in a Bolt RUN message exchange with server and the returned publisher will either emit an instance of
ReactiveResult
on success or an error otherwise.- Specified by:
run
in interfaceReactiveQueryRunner
- Parameters:
queryStr
- text of a Neo4j query- Returns:
- a publisher of reactive result.
-