Skip to content

Commit

Permalink
Merge branch 'dev' into update_value_types_string
Browse files Browse the repository at this point in the history
  • Loading branch information
JPryce-Aklundh authored Jan 26, 2024
2 parents 681a3d7 + 3fcf9f5 commit 1f42e41
Show file tree
Hide file tree
Showing 12 changed files with 1,185 additions and 91 deletions.
3 changes: 3 additions & 0 deletions modules/ROOT/content-nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -119,3 +119,6 @@
* Appendix
** xref:styleguide.adoc[]
** xref:appendix/tutorials/index.adoc[]
*** xref:appendix/tutorials/basic-query-tuning.adoc[]
*** xref:appendix/tutorials/advanced-query-tuning.adoc[]
*** xref:appendix/tutorials/shortestpath-planning.adoc[]
8 changes: 4 additions & 4 deletions modules/ROOT/pages/clauses/listing-settings.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,10 @@ LIMIT 10
| "20s"
| "Time out for protocol negotiation handshake."

| "dbms.cluster.network.connect_timeout"
| "30s"
| "The maximum amount of time to wait for a network connection to be established."

| "dbms.cluster.network.max_chunk_size"
| "32768"
| "Maximum chunk size allowable across network by clustering machinery."
Expand All @@ -235,10 +239,6 @@ LIMIT 10
| ""
| "Network compression algorithms that this instance will allow in negotiation as a comma-separated list. Listed in descending order of preference for incoming connections. An empty list implies no compression. For outgoing connections this merely specifies the allowed set of algorithms and the preference of the remote peer will be used for making the decision. Allowable values: [Gzip, Snappy, Snappy_validating, LZ4, LZ4_high_compression, LZ_validating, LZ4_high_compression_validating]"

| "dbms.cluster.raft.binding_timeout"
| "1d"
| "The time allowed for a database on a Neo4j server to either join a cluster or form a new cluster with at least the quorum of the members available. The members are provided by `dbms.cluster.discovery.endpoints` for the system database and by the topology graph for user databases."

3+d|Rows: 10
|===

Expand Down
2 changes: 1 addition & 1 deletion modules/ROOT/pages/clauses/order-by.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -240,4 +240,4 @@ This rule is to make sure that `ORDER BY` does not change the results, only the

The performance of Cypher queries using `ORDER BY` on node properties can be influenced by the existence and use of an index for finding the nodes.
If the index can provide the nodes in the order requested in the query, Cypher can avoid the use of an expensive `Sort` operation.
Read more about this capability in xref::appendix/tutorials/advanced-query-tuning.adoc#advanced-query-tuning-example-index-backed-order-by[Index-backed ORDER BY].
Read more about this capability in xref::indexes/search-performance-indexes/using-indexes.adoc#range-index-backed-order-by[Range index-backed ORDER BY].
2 changes: 1 addition & 1 deletion modules/ROOT/pages/clauses/use.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Where `<graph>` refers to the name or alias of a database in the DBMS.
[[query-use-syntax-composite]]
=== Composite database syntax

When running queries against a link:{neo4j-docs-base-uri}/operations-manual/{page-version}/composite-databases[composite database], the `USE` clause can also appear as the first clause of:
When running queries against a link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-administration/composite-databases/concepts/[composite database], the `USE` clause can also appear as the first clause of:

* Union parts:
+
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,34 @@ RETURN "string" IS NORMALIZED
| Introduction of an xref::syntax/operators.adoc#match-string-is-normalized[IS NORMALIZED] operator.
The operator can be used to check if a `STRING` is normalized according to the specified normalization form, which can be of type `NFC`, `NFD`, `NFKC`, or `NFKD`.

a|
label:functionality[]
label:new[]

New operators:

* xref:planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-all-nodes-scan[`PartitionedAllNodesScan`]
* xref:planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-directed-all-relationships-scan[`PartitionedDirectedAllRelationshipsScan`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-directed-relationship-index-scan[`PartitionedDirectedRelationshipIndexScan`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-directed-relationship-index-seek[`PartitionedDirectedRelationshipIndexSeek`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-directed-relationship-index-seek-by-range[`PartitionedDirectedRelationshipIndexSeekByRange`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-directed-union-relationship-types-scan[`PartitionedDirectedUnionRelationshipTypesScan`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-node-by-label-scan[`PartitionedNodeByLabelScan`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-node-index-scan[`PartitionedNodeIndexScan`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-node-index-seek[`PartitionedNodeIndexSeek`]
* xref:planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-node-index-seek-by-range[`PartitionedNodeIndexSeekByRange`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-undirected-all-relationships-scan[`PartitionedUndirectedAllRelationshipsScan`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-undirected-relationship-index-scan[`PartitionedUndirectedRelationshipIndexScan`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-undirected-relationship-index-seek[`PartitionedUndirectedRelationshipIndexSeek`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-undirected-relationship-index-seek-by-range[`PartitionedUndirectedRelationshipIndexSeekByRange`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-undirected-relationship-type-scan[`PartitionedUndirectedRelationshipTypeScan`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-undirected-union-relationship-types-scan[`PartitionedUndirectedUnionRelationshipTypesScan`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-union-node-by-labels-scan[`PartitionedUnionNodeByLabelsScan`]
* xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-unwind[`PartitionedUnwind`]

| Introduction of partitioned operators used by the xref:planning-and-tuning/runtimes/concepts.adoc#runtimes-parallel-runtime[parallel runtime].
These operators segment the data and operate on each segment in parallel

|===

[[cypher-deprecations-additions-removals-5.16]]
Expand Down
1 change: 0 additions & 1 deletion modules/ROOT/pages/patterns/concepts.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -836,7 +836,6 @@ RETURN [n in nodes(p) | n.name] AS stops
|===

On a large, highly connected graph, this can be very time consuming.
See the section on xref::appendix/tutorials/shortestpath-planning.adoc[shortest path planning] for more information.

[[shortest-path-all-shortest-paths]]
=== All shortest paths
Expand Down
10 changes: 10 additions & 0 deletions modules/ROOT/pages/patterns/reference.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -760,6 +760,11 @@ upperBound ::= unsignedInteger
unsignedInteger ::= [0-9]+
----

[NOTE]
====
The `unsignedInteger` must not be larger than the Java constant `Long.MAX_VALUE` (2^63-1).
====

[[quantifiers-rules]]
=== Rules

Expand Down Expand Up @@ -1104,6 +1109,11 @@ upperBound ::= unsignedInteger
unsignedInteger ::= [0-9]+
----

[NOTE]
====
The `unsignedInteger` must not be larger than the Java constant `Long.MAX_VALUE` (2^63-1).
====

For rules on valid relationship variable names, see xref:syntax/naming.adoc[Cypher naming rules].

[[variable-length-relationships-rules]]
Expand Down
124 changes: 124 additions & 0 deletions modules/ROOT/pages/planning-and-tuning/operators/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -471,6 +471,130 @@ It is not eager.
|
|

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-all-nodes-scan[PartitionedAllNodesScan]
| Used by the parallel runtime to read all nodes from the node store.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-directed-all-relationships-scan[PartitionedDirectedAllRelationshipsScan]
| Used by the parallel runtime to fetch all relationships and their start and end nodes from the database.
| label:yes[]
|
| label:new[Introduced in 5.17]


| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-directed-relationship-index-scan[PartitionedDirectedRelationshipIndexScan]
| Used by the parallel runtime to examine all values stored in an index.
It returns all relationships with a particular type and a specified property, along with their start and end nodes.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-directed-relationship-index-seek[PartitionedDirectedRelationshipIndexSeek]
| Finds relationships and their start and end nodes using a parallel index seek.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-directed-relationship-index-seek-by-range[PartitionedDirectedRelationshipIndexSeekByRange]
| Finds relationships using a parallel index seek where the value of the of the specified relationship type property is within a given range.
It also finds the start and end nodes of those relationships.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-directed-relationship-types-scan[PartitionedDirectedRelationshipTypesScan]
| Fetches all relationships with a specific type from the relationship type index using a parallel scan.
It also fetches the start and end nodes of those relationships.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-directed-union-relationship-types-scan[PartitionedDirectedUnionRelationshipTypesScan]
| Fetches all relationships with at least one of the provided types from the relationship type index using a parallel scan.
It also fetches the start and end nodes of those relationships.
|
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-node-by-label-scan[PartitionedNodeByLabelScan]
| Used by the parallel runtime to fetch all nodes with a specific label from the node label index.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-node-index-scan[PartitionedNodeIndexScan]
| Used by the parallel runtime to examine all values stored in an index, returning all nodes with a particular label and a specified property.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-node-index-seek[PartitionedNodeIndexSeek]
| Used by the parallel runtime to find nodes using an index seek.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-node-index-seek-by-range[PartitionedNodeIndexSeekByRange]
| Finds nodes using a parallel index seek where the value of the specified property is within a given range.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-undirected-all-relationships-scan[PartitionedUndirectedAllRelationshipsScan]
| Used by the parallel runtime to fetch all relationships and their start and end nodes from the database.
| label:yes[]
|
| label:new[Introduced in 5.17]


| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-undirected-relationship-index-scan[PartitionedUndirectedRelationshipIndexScan]
| Used by the parallel runtime to examine all values stored in an index, returning all relationships with a particular relationship type and a specified property.
It also returns the start and end nodes of those relationships.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-undirected-relationship-index-seek[PartitionedUndirectedRelationshipIndexSeek]
| Finds relationships and their start and end nodes using a parallel index seek.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-undirected-relationship-index-seek-by-range[PartitionedUndirectedRelationshipIndexSeekByRange]
| Finds relationships using a parallel index seek where the value of the specified relationship property type is within a given range.
It also finds the start and end nodes of those relationships.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-undirected-relationship-type-scan[PartitionedUndirectedRelationshipTypeScan]
| Used by the parallel runtime to fetch all relationships with a specific type from the relationship type index.
It also fetches the start and end nodes of those relationships.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-undirected-union-relationship-types-scan[PartitionedUndirectedUnionRelationshipTypesScan]
| Used by the parallel runtime to fetch all relationships with at least one of the provided types from the relationship type index.
It also fetches the start and end nodes of those relationships.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-union-node-by-labels-scan[PartitionedUnionNodeByLabelsScan]
| Used by the parallel runtime to fetch all nodes that have at least one of the provided labels from the node label index.
| label:yes[]
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-partitioned-unwind[PartitionedUnwind]
| Used by the parallel runtime to return one row per item in a list.
|
|
| label:new[Introduced in 5.17]

| xref::planning-and-tuning/operators/operators-detail.adoc#query-plan-procedure-call[ProcedureCall]
| Calls a procedure.
|
Expand Down
Loading

0 comments on commit 1f42e41

Please sign in to comment.