- All Known Subinterfaces:
ExposesSubqueryCall.BuildableSubquery,LoadCSVStatementBuilder,StatementBuilder,StatementBuilder.OngoingInQueryCallWithReturnFields,StatementBuilder.OngoingReading,StatementBuilder.OngoingReadingAndWith,StatementBuilder.OngoingReadingAndWithWithSkip,StatementBuilder.OngoingReadingAndWithWithWhereAndOrder,StatementBuilder.OngoingReadingWithoutWhere,StatementBuilder.OngoingReadingWithWhere,StatementBuilder.OngoingStandaloneCallWithReturnFields,StatementBuilder.OrderableOngoingReadingAndWith,StatementBuilder.OrderableOngoingReadingAndWithWithoutWhere,StatementBuilder.OrderableOngoingReadingAndWithWithWhere,StatementBuilder.VoidCall
@API(status=STABLE,
since="2020.1.2")
@Neo4jVersion(minimum="4.0.0")
public interface ExposesSubqueryCall
This exposes a call method taking in a statement that represents a valid, correlated subquery.
- Since:
- 2020.1.2
- Author:
- Michael J. Simons
- Neo4j version required
- 4.0.0
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceSubqueries can be valid without any further return statement (i.e when the subquery is a void (unit) one, meaning it doesn't yield or return its results. -
Method Summary
Modifier and TypeMethodDescriptionThesubqueryparameter must be a valid subquery.Thesubqueryparameter must be a valid subquery.call(Statement statement, IdentifiableElement... imports) Thesubqueryparameter must be a valid sub-query.default @NotNull ExposesSubqueryCall.BuildableSubquerycallInTransactions(Statement statement) Starts building a new sub-query from aCALL ... IN TRANSACTIONSclausedefault @NotNull ExposesSubqueryCall.BuildableSubquerycallInTransactions(Statement statement, Integer rows) Creates a subquery running in its own transactions.default @NotNull ExposesSubqueryCall.BuildableSubquerycallInTransactions(Statement statement, Integer rows, String... imports) Creates a subquery running in its own transactions.callInTransactions(Statement statement, Integer rows, IdentifiableElement... imports) Creates a subquery running in its own transactions.default @NotNull ExposesSubqueryCall.BuildableSubquerycallInTransactions(Statement statement, String... imports) Creates a subquery running in its own transactions.callInTransactions(Statement statement, IdentifiableElement... imports) Creates a subquery running in its own transactions.
-
Method Details
-
call
@NotNull @CheckReturnValue default StatementBuilder.OngoingReadingWithoutWhere call(Statement statement) Thesubqueryparameter must be a valid subquery.- must end with a RETURN clause
- cannot refer to variables from the enclosing query
- cannot return variables with the same names as variables in the enclosing query
- All variables that are returned from a subquery are afterwards available in the enclosing query
- Parameters:
statement- The statement representing the subquery.- Returns:
- An ongoing reading
-
call
@NotNull @CheckReturnValue default StatementBuilder.OngoingReadingWithoutWhere call(Statement statement, String... imports) Thesubqueryparameter must be a valid subquery.- must end with a RETURN clause
- cannot refer to variables from the enclosing query
- cannot return variables with the same names as variables in the enclosing query
- All variables that are returned from a subquery are afterwards available in the enclosing query
- Parameters:
statement- The statement representing the subquery.imports- Additional things that should be imported into the subquery.- Returns:
- An ongoing reading
- Since:
- 2021.3.0
-
call
@NotNull @CheckReturnValue StatementBuilder.OngoingReadingWithoutWhere call(Statement statement, IdentifiableElement... imports) Thesubqueryparameter must be a valid sub-query.- must end with a RETURN clause
- cannot refer to variables from the enclosing query
- cannot return variables with the same names as variables in the enclosing query
- All variables that are returned from a subquery are afterwards available in the enclosing query
- Parameters:
statement- The statement representing the sub-query.imports- Additional things that should be imported into the sub-query.aliased expressionswill automatically be importe twice (once asWITH a, then {code WITH a AS alias}).- Returns:
- An ongoing reading
- Since:
- 2021.3.0
-
callInTransactions
@NotNull @CheckReturnValue default @NotNull ExposesSubqueryCall.BuildableSubquery callInTransactions(Statement statement) Starts building a new sub-query from aCALL ... IN TRANSACTIONSclause- Parameters:
statement- The sub-query to be called in transactions- Returns:
- Ongoing sub-query definition
-
callInTransactions
@NotNull @CheckReturnValue default @NotNull ExposesSubqueryCall.BuildableSubquery callInTransactions(Statement statement, Integer rows) Creates a subquery running in its own transactions. The statement won't be checked for a RETURN or YIELD clause to accommodate for CREATE or other clauses that are void and work in a subquery if the outer query is void, too.- Parameters:
statement- The statement representing the subquery.rows- The number of rows per transactional batch, leave NULL for the default value- Returns:
- An ongoing reading, that is also buildable for outer queries that are void.
- Since:
- 2022.3.0
-
callInTransactions
@NotNull @CheckReturnValue default @NotNull ExposesSubqueryCall.BuildableSubquery callInTransactions(Statement statement, String... imports) Creates a subquery running in its own transactions. The statement won't be checked for a RETURN or YIELD clause to accommodate for CREATE or other clauses that are void and work in a subquery if the outer query is void, too.- Parameters:
statement- The statement representing the subquery.imports- Additional things that should be imported into the subquery.- Returns:
- An ongoing reading, that is also buildable for outer queries that are void.
- Since:
- 2022.3.0
-
callInTransactions
@NotNull @CheckReturnValue default @NotNull ExposesSubqueryCall.BuildableSubquery callInTransactions(Statement statement, Integer rows, String... imports) Creates a subquery running in its own transactions. The statement won't be checked for a RETURN or YIELD clause to accommodate for CREATE or other clauses that are void and work in a subquery if the outer query is void, too.- Parameters:
statement- The statement representing the subquery.rows- The number of rows per transactional batch, leave NULL for the default valueimports- Additional things that should be imported into the subquery.- Returns:
- An ongoing reading, that is also buildable for outer queries that are void.
- Since:
- 2022.3.0
-
callInTransactions
default ExposesSubqueryCall.BuildableSubquery callInTransactions(Statement statement, IdentifiableElement... imports) Creates a subquery running in its own transactions. The statement won't be checked for a RETURN or YIELD clause to accommodate for CREATE or other clauses that are void and work in a subquery if the outer query is void, too.- Parameters:
statement- The statement representing the subquery.imports- Additional things that should be imported into the subquery.aliased expressionswill automatically imported twice (once as WITH a, then WITH a AS alias).- Returns:
- An ongoing reading, that is also buildable for outer queries that are void.
- Since:
- 2022.3.0
-
callInTransactions
@NotNull @CheckReturnValue @NotNull ExposesSubqueryCall.BuildableSubquery callInTransactions(Statement statement, Integer rows, IdentifiableElement... imports) Creates a subquery running in its own transactions. The statement won't be checked for a RETURN or YIELD clause to accommodate for CREATE or other clauses that are void and work in a subquery if the outer query is void, too.- Parameters:
statement- The statement representing the subquery.rows- The number of rows per transactional batch, leave NULL for the default valueimports- Additional things that should be imported into the subquery.aliased expressionswill automatically imported twice (once as WITH a, then WITH a AS alias).- Returns:
- An ongoing reading, that is also buildable for outer queries that are void.
- Since:
- 2022.3.0
-