Commit Graph

1985 Commits

Author SHA1 Message Date
Christoph Strobl
f45ec1124a After release cleanups.
See #2825
2024-02-16 14:41:25 +01:00
Christoph Strobl
b2c85d8a04 Prepare next development iteration.
See #2825
2024-02-16 14:41:23 +01:00
Christoph Strobl
7e952a5a68 Release version 7.3 M1 (2024.0.0).
See #2825
2024-02-16 14:37:38 +01:00
Christoph Strobl
4227b99ff1 Prepare 7.3 M1 (2024.0.0).
See #2825
2024-02-16 14:37:00 +01:00
Gerrit Meier
93cdb5a97b GH-2861 - Upgrade Neo4j Java driver to 5.17.
Closes #2861
2024-02-13 09:12:19 +01:00
Gerrit Meier
e8d506c8c3 GH-2860 - Add explicit transaction boundaries.
If no transactional boundaries were set by the user,
Spring Data Neo4j would create new transactions (default read/write)
for the underlying database operations.

In cases where multiple statements are required to execute
a SDN operation this would mean that multiple transaction
would have been created.

This commit fixes this problem and creates new transaction if no
transaction was defined around the invocation of those units-of-work.

The change will introduce a breaking change:
All pure read operations in SDN (like Neo4jTemplate#findAll) will
now happen in read-only transactions.
If they contain custom statements with write operations,
they need to get wrapped in an explicit write transaction.

Closes #2860

Co-authored-by: Michael Simons <michael@simons.ac>
2024-02-12 11:49:16 +01:00
Gerrit Meier
f5d93fabf3 GH-2858 - Add re-population of properties and relationships during mapping.
Prior to this, an incomplete loaded entity, due to projection, was never
touched again to add missing properties loaded via a different relationship
and projection definition.

Closes #2858
2024-01-31 16:24:38 +01:00
Gerrit Meier
e50fd2e214 GH-2858 - Fix potential stackoverflow in recursive projections. 2024-01-31 16:10:55 +01:00
Gerrit Meier
caea3f10df GH-2858 - Fix following paths in projections.
If an entity has already been loaded by any relationship,
it gets marked as processed.
But this is not a valid state if there are multiple relationships
to this entity and it is loaded via different projections for each
relationship.
In those cases SDN will just stop to find other relationships.
This commit fixes this behaviour by also taking the relationship
the entity got loaded with into account.
2024-01-31 16:10:55 +01:00
Mark Paluch
9a6a40829a Refine Artifactory build name.
See #2825
2024-01-31 15:23:48 +01:00
Eric Haag
084620e92f Update Revved up by Develocity badge. 2024-01-24 07:04:32 +01:00
Gerrit Meier
29737c32e9 Enhance warning message for missing entity ids. 2024-01-22 16:36:40 +01:00
Gerrit Meier
415ef6d48e Fix flaky test for findByExample. 2024-01-22 16:29:59 +01:00
Mark Paluch
bb97a751d7 Extend license header copyright years to 2024.
See #2852
2024-01-02 14:42:02 +01:00
Gerrit Meier
5caae70b1f Add logging section to appendix.
Don't know how this got lost.
2023-12-20 11:41:18 +01:00
Mark Paluch
cbdbba8f33 Update CI properties.
See #2825
2023-12-14 08:50:30 +01:00
Mark Paluch
7fe9d27d77 Upgrade to Maven Wrapper 3.9.6.
See #2844
2023-12-14 08:40:39 +01:00
Gerrit Meier
07de1c4a5c GH-2841 - Introduce new logging categories from the database.
Closes #2841
2023-12-13 15:32:22 +01:00
Gerrit Meier
4e4bb13d33 Upgrade Neo4j Java Driver to 5.15.0. 2023-12-12 17:28:35 +01:00
Gerrit Meier
b54798ca55 Allow if-nesting with depth of 4.
Yes, it brings a congnitive challenge right now,
but on the other hand the refactoring of the
`DefaultNeo4jEntityConverter#createInstanceOfRelationships`
is a challenge on its own.
2023-12-12 17:26:43 +01:00
Gerrit Meier
bf44942cf2 GH-2782 - Optimize relationship processing.
For a lot of relationships on a self-referencing type (10k+),
the result will be in the format `n, collect(rel), collect(relNode)`.
This brings the whole bucket of `relNodes` every time as a mappable option
to the table.
Prior to this change, SDN would have to check this complete bucket for potential
matching nodes. Just to find out later that there is no relationship to map this one for.
Checking the relationship bucket first to find if there is a relationship at all
to find a target node for, improves the performance drastically.

Closes #2782
2023-12-12 16:45:37 +01:00
Gerrit Meier
b8bebe67ff GH-2819 - Improve parent type detection in result record.
Closes #2819
2023-12-12 10:21:26 +01:00
Gerrit Meier
d2e67bc19d Fix links in docs and move conversion to appendix.
Also re-introduce the old sections under the appendix chapter.
2023-11-30 13:12:50 +01:00
Michael Simons
1dc29c1de5 polish
See #2838
2023-11-28 16:15:06 +01:00
Michael Simons
9cd188286b Retain driver EventLoop during tests.
We now keep an instance to the event loop to avoid recurring recreation of threads.

Closes #2838
2023-11-28 16:10:18 +01:00
Michael Simons
16bbaf044f Allow enforcement to reuse a container in the CI build.
This orders reusable containers on wish and is meant for scenarios in which a CI does not allow "native" use of reusable test containers but will make sure to clean them up after CI ran. Export a variable `SDN_FORCE_REUSE_OF_CONTAINERS` as `true` and SDN tests won't close the container, regardless whether the underlying Testcontainers supports reuse or not.

Closes #2837
2023-11-28 13:59:42 +01:00
Mark Paluch
38eb753d7a Introduce property for Jenkins user and Artifactory server details.
Closes #2835
2023-11-27 14:25:58 +01:00
Akshat Shah
4eb08abade refactor: Extract requiresSingleStatements for better readability.
Co-authored-by: Michael Simons <michael@simons.ac>
2023-11-27 11:52:53 +01:00
Gerrit Meier
52f6714940 GH-2828 - Use correct node name related node in find by example.
Closes #2828
2023-11-22 13:27:33 +01:00
Runbing
709658c958 Fixed the URL for the Spring Data Commons documentation (#2827)
I fixed an incorrect URL in the **antora.yml** file that was preventing other pages from linking to the Spring Data Commons documentation.
2023-11-20 09:22:08 +01:00
Mark Paluch
29b7e04399 After release cleanups.
See #2813
2023-11-17 14:33:26 +01:00
Mark Paluch
0de3bc6b2d Prepare next development iteration.
See #2813
2023-11-17 14:33:24 +01:00
Mark Paluch
e4018d5c32 Release version 7.2 GA (2023.1.0).
See #2813
2023-11-17 14:29:58 +01:00
Mark Paluch
e0f562b261 Prepare 7.2 GA (2023.1.0).
See #2813
2023-11-17 14:28:29 +01:00
Mario Ellebrecht
989b2a6918 Support ResultSummaries with Notifications with no InputPosition reported by the driver. (#2822) 2023-11-17 10:01:09 +01:00
Gerrit Meier
f5674afdad GH-2809 - Find the right id/element id function for assignedIds.
* Avoid using the outdated id function wherever possible.
* Never fall back to `toString(id((element))` (in Neo4j 4.4 scenarios)

Closes #2809
2023-11-09 16:57:16 +01:00
Dimitrios Begnis
2b73bde2f8 docs: Add missing types conversions to the documentation. (#2803) 2023-11-07 10:43:36 +01:00
Michael Simons
e4f034858a refactor: Avoid concurrency issues during some writes and reads. 2023-10-24 10:26:00 +02:00
Eric Haag
b3dc32c74c Connect build to ge.spring.io.
This change publishes a build scan to ge.spring.io for every local build from an authenticated Spring committer and for CI where appropriate access tokens are available. The build will not fail if publishing fails.

This change also allows the build to benefit from local and remote build caching, providing faster builds for all contributors.

Additionally, the project will have access to all features of Gradle Enterprise such as:

- Dashboards to view all historical build scans, along with performance trends over time
- Build failure analytics for enhanced investigation and diagnosis of build failures
- Test failure analytics to better understand trends and causes around slow, failing, and flaky tests

See #2811
2023-10-20 13:22:09 -05:00
Michael Simons
42d936ade4 fix: Sent bookmark updated event only while bookmarks are locked. 2023-10-19 18:16:59 +02:00
Greg L. Turnquist
5c3982b213 Update CI properties.
See #2813
2023-10-19 09:38:56 -05:00
Greg L. Turnquist
d8df9fd7fc Update CI properties.
See #2813
2023-10-16 13:28:20 -05:00
John Blum
c314dc56a8 After release cleanups.
See #2796
2023-10-13 08:52:00 -07:00
John Blum
b67e6073ba Prepare next development iteration.
See #2796
2023-10-13 08:51:58 -07:00
John Blum
cefb1072df Release version 7.2 RC1 (2023.1.0).
See #2796
2023-10-13 08:44:25 -07:00
John Blum
b8db05939f Prepare 7.2 RC1 (2023.1.0).
See #2796
2023-10-13 08:43:55 -07:00
Gerrit Meier
52535f37f5 GH-2801 - Fix false positive mapping cycle detection.
Closes #2801
2023-10-11 15:52:39 +02:00
Gerrit Meier
5e5cb2351b Upgrade Java Driver to 5.13.0. 2023-10-06 09:50:04 +02:00
John Blum
c6035e115d Update CI properties.
See #2796
2023-10-04 17:24:10 -07:00
John Blum
4f5be6c3e5 Upgrade to Maven Wrapper 3.9.5.
See #2805
2023-10-04 16:58:04 -07:00