Skip to content

Enabling BoltProtocol v5 and the new elementId in the graph types #884

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Mar 15, 2022

Conversation

bigmontz
Copy link
Contributor

@bigmontz bigmontz commented Mar 1, 2022

The format of the identifiers used by the kernel is changing from the current long that represents a file offset to a more flexible format needed by the new Freki storage engine. In 5.0 the new storage engine will be ‘off’ by default, at some point in the future it will be enabled by default. The drivers will need to be able to support the old format alongside the new one in 5.0. To do this the existing long will remain and a new parallel identifier will be added that is of type string.

The new string version will contain the long value for servers using the older non Freki storage engine e.g. versions < 5.0 and versions 5.x with Freki disabled.

The following changes in the graph types was done for accommodating the elementId:

  • in Node:
    • Add elementId: string for identifying the element;
    • Deprecate identity: NumberOrInteger
  • in Relationship:
    • Add elementId: string for identifying the element;
    • Deprecate identity: NumberOrInteger
    • Add startNodeElementId: string for identifying the start node;
    • Deprecate start: NumberOrInteger
    • Add endNodeElementId: string for identifying the end node;
    • Deprecate end: NumberOrInteger
  • in UnboundRelationship:
    • Add elementId: string for identifying the element;
    • Deprecate identity: NumberOrInteger

@bigmontz bigmontz force-pushed the 5.0-new-element-id branch 2 times, most recently from 055c130 to 276469f Compare March 4, 2022 13:34
bigmontz added 15 commits March 14, 2022 17:51
The format of the identifiers used by the kernel is changing from the current long that represents a file offset to a more flexible format needed by the new Freki storage engine. In 5.0 the new storage engine will be ‘off’ by default, at some point in the future it will be enabled by default. The drivers will need to be able to support the old format alongside the new one in 5.0. To do this the existing long will remain and a new parallel identifier will be added that is of type string.

The new string version will contain the long value for servers using the older non Freki storage engine e.g. versions < 5.0 and versions 5.x with Freki disabled.

The following changes in the graph types was done for accomodating the elementId:

- in `Node`:
  - Add `elementId: string` for identifying the element;
  - Deprecate `identity: NumberOrInteger`
- in `Relationship`:
  - Add `elementId: string` for identifiying the element;
  - Deprecate `identity: NumberOrInteger`
  - Add `startNodeElementId: string` for identifiying the start node;
  - Deprecate `start: NumberOrInteger`
  - Add `endNodeElementId: string` for identifiying the end node;
  - Deprecate `end: NumberOrInteger`
- in `UnboundRelationship`:
  - Add `elementId: string` for identifying the element;
  - Deprecate `identity: NumberOrInteger`
@bigmontz bigmontz force-pushed the 5.0-new-element-id branch from 276469f to b29d94c Compare March 14, 2022 16:53
@bigmontz bigmontz marked this pull request as ready for review March 14, 2022 17:40
Copy link
Contributor

@thelonelyvulpes thelonelyvulpes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

@bigmontz bigmontz merged commit 88c07fd into neo4j:5.0 Mar 15, 2022
@bigmontz bigmontz deleted the 5.0-new-element-id branch March 15, 2022 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants