-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Let jdbc-based connectors control how data should be written and predicates pushed down #12151
Closed
Conversation
This file contains 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
findepi
commented
Dec 31, 2018
presto-mysql/src/main/java/com/facebook/presto/plugin/mysql/MySqlClient.java
Outdated
Show resolved
Hide resolved
@electrum this doesn't fully compile yet (although postgresql and mysql connector tests should be passing). Feedback is more than welcome. |
findepi
changed the title
Let jdbc-based connector control how data should be written [WIP]
Let jdbc-based connectors control how data should be written and predicates pushed down
Jan 3, 2019
No longer as a WIP |
These types are not supported in `com.facebook.presto.plugin.jdbc.JdbcPageSink#appendColumn`, so cannot be written. Since JDBC based connectors do not support CREATE TABLE except for CREATE TABLE AS, it makes no sense to attempt to create columns we cannot write to. Note: attempt to support these types must be well test-covered on per-database basis, so they should not be supported in a generic way anyway.
No JDBC-based connector supports TIMESTAMP WITH TIME ZONE or TIME WITH TIME ZONE, so no need to support predicate push down for these types.
WriteMapping captures how data should be written in a JDBC connector: - what data type should be used in the remote database - how the data should be bound to `PreparedStatement`
This was referenced Jan 15, 2019
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.
Today, a jdbc-based connector controls how data should be read from a
ResultSet
viaReadMapping
definitions. However, writing is hard-coded incom.facebook.presto.plugin.jdbc.JdbcPageSink#appendColumn
.This expands the
ReadMapping
concept intoColumnMapping
which controls both reading and writing.WIP. TODO items:
try to make the change backwards-compatiblecc @electrum