-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[WIP] Neo4j connector #19154
base: master
Are you sure you want to change the base?
[WIP] Neo4j connector #19154
Conversation
Thank you for your pull request and welcome to the Trino community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. Continue to work with us on the review and improvements in this PR, and submit the signed CLA to [email protected]. Photos, scans, or digitally-signed PDF files are all suitable. Processing may take a few days. The CLA needs to be on file before we merge your changes. For more information, see https://github.com/trinodb/cla |
Thank you for your pull request and welcome to the Trino community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. Continue to work with us on the review and improvements in this PR, and submit the signed CLA to [email protected]. Photos, scans, or digitally-signed PDF files are all suitable. Processing may take a few days. The CLA needs to be on file before we merge your changes. For more information, see https://github.com/trinodb/cla |
dae9427
to
42a6c3f
Compare
81ebb96
to
2b02a73
Compare
I'd appreciate an initial review of this. The connector is working as intended. For tests I've mostly tried to cover the type mappings for the table function, which should cover all types, and the same for the node/relationship tables (although more test cases need to be added here). |
0e30c22
to
161920f
Compare
What are your thoughts on implementing "dynamic tables", like the Pinot connector does? It would be easy to support queries like: select * from "match (a:Actor)-[c:ACTED_IN]-(m:Movie) return a, c, m"; ie. the table name is a CQL query. This would be the similar to functionality provided by the
|
That approach is now discouraged. We used it before we had support for table functions, but it's no longer necessary. |
Ok, thanks, then I'll stick to the table function. |
6a9df23
to
33c4020
Compare
cdb4a9b
to
a954c9d
Compare
0a738d9
to
4d0a813
Compare
{ | ||
try (Session session = this.driver.session(SessionConfig.forDatabase(SYSTEM_DATABASE))) { | ||
return session.executeRead(tx -> { | ||
return tx.run("SHOW DATABASES YIELD name, type WHERE type <> 'system' RETURN distinct(name)") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had to change this query to make it work with the latest version of Trino:
"SHOW DATABASES YIELD name WHERE name <> 'system' RETURN distinct(name)"
Apparently, SHOW DATABASES no longer returns type.
See documentation for usage information.
4d0a813
to
de43a71
Compare
Description
Connector for the Neo4j graph database.
Additional context and related issues
See docs for connector overview.
Release notes
[ ] This is not user-visible or is docs only, and no release notes are required.
[ ] Release notes are required. Please propose a release note for me.
[x] Release notes are required, with the following suggested text: