-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Add Ignite connector #8323
Add Ignite connector #8323
Conversation
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/IgniteQueryRunner.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/IgniteQueryRunner.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteContainer.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/IgniteQueryRunner.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/IgniteQueryRunner.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteContainer.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteJdbcPlugin.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteContainer.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteContainer.java
Outdated
Show resolved
Hide resolved
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.
Some initial comments in addition to existing ones
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
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.
Thanks @chenjian2664 for working on this. This looks much better than expected for the initial version of a connector.
Some initial comments. Haven't taken a look at the test classes yet. Will do so later.
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/ImplementAvgDecimal.java
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestingIgniteServer.java
Outdated
Show resolved
Hide resolved
Thanks for picking this up again @chenjian2664 ❤️ Looks like there are some conflicts now. |
@hashhar Thanks. Can you help to look at it again? :) |
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.
Sorry for the delay in getting to this @chenjian2664.
Some initial comments.
Main ones are about some overrides in IgniteJdbcClient and the IgniteQueryRunner.
Will do another pass once those are addressed.
plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/BaseJdbcConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/IgniteQueryRunner.java
Outdated
Show resolved
Hide resolved
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.
#8323 (comment)
@hashhar
Ignite not support CATS, so I must create table first then process a transactional insert here.
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.
From the docs perspective this is definitely good enough to merge. Nice job @chenjian2664 !
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 am concerned about amount of code that is copied from jdbc connector. Can we try to reuse more code?
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClientModule.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClientModule.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClientModule.java
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteConnectorFactory.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteContainer.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestingIgniteServer.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestingIgniteServer.java
Outdated
Show resolved
Hide resolved
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.
% last comment.
I will merge it after the release. Let's give some time to others to take a look if they like.
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestingIgniteServer.java
Outdated
Show resolved
Hide resolved
Amazing work here @chenjian2664! Would you like to join the Trino Community Broadcast some time after this gets merged? |
Yes, of course! |
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.
Most comments are minor, but I strongly recommend adding char/varchar type mapping tests to this PR.
Also, please remove a redundant commit body. It's the same as the commit title.
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteSqlTypeMapping.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestingIgniteServer.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestingIgniteServer.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestingIgniteServer.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestingIgniteServer.java
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
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.
Please squash the commit and rebase to new release.
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcMetadataFactory.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClientModule.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteMetadata.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteSqlTypeMapping.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteSqlTypeMapping.java
Outdated
Show resolved
Hide resolved
...uncher/src/main/java/io/trino/tests/product/launcher/env/environment/EnvMultinodeIgnite.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteSqlTypeMapping.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteMetadata.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteMetadata.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestingIgniteContainer.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestingIgniteContainer.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Show resolved
Hide resolved
|
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.
Looks good except for comments.
<dependency> | ||
<groupId>org.apache.ignite</groupId> | ||
<artifactId>ignite-core</artifactId> | ||
<exclusions> |
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.
Reminder.
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteTypeMapping.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteTypeMapping.java
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Show resolved
Hide resolved
plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java
Outdated
Show resolved
Hide resolved
plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClientModule.java
Outdated
Show resolved
Hide resolved
@chenjian2664 Thank you so much for working on this patiently! Let me leave the final merge to @kokosing |
Thank you @ebyhr for stepping in. @chenjian2664 Please rebase and squash commits, once CI get green I will merge it. Thank you for collaboration! Great work! |
Fixes #8098
Add a connector for Apache Ignite.