-
Notifications
You must be signed in to change notification settings - Fork 1
fixes: #53 Add postgres age support #54
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
Draft
paule96
wants to merge
27
commits into
savasp:main
Choose a base branch
from
paule96:add_postgres_age_support
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
adjust neo4j implementation to use the general cypher package Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
- use now visitor pattern - try to support multi travers logic - currently missing materialization, that's why the tests are broken Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
…ization class Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Signed-off-by: Paul Jeschke <pjeschke@hmp-solutions.online>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixes #53
Key points that maybe should be merged step by step into the main repository that could be issues by themselves.
0. Developer Story
I added a devcontainer setup to have a simple start. That can probably just be moved to the main without a problem.
The only thing that needs to be reviewed there is if it is okay to use Neo4j for development with that version. (We need the creation of multiple graphs, which is disabled in the free version)
1. Add a new semi Shared Library for Cypher
As you can see, I moved a lot of the cypher-related things into the shared library
Graph.Model.Cypher.The key point of that lib is to provide a common abstraction layer for
Cypherbased datasources. Because I started with trying to reuse the parts from the neo4j implementation, most parts of that are stillbuilderbased.If it should be merged to main, it should be rewritten to a visitor pattern, which is common in LINQ-based systems.
neo4j is partly moved to an expression visitor pattern.
2. Added Age support
The open questions here are how to handle the tests that will never be successful on Postgres Age. Should we just override the interface methods and skip them, or is there another plan/way to do that?
Also still open question is where to put it. Maybe as this lib grows, it makes sense to create a GitHub org for it, with different repos for different providers.
Summary
Most of the things are still works in progress. It works, but is probably not in a state of creating a shippable thing.
So I hope we can find a way to discuss these quite big changes and find good solutions for all the problems.
I hope the code helps to understand some of the challenges.