Let jdbc-based connectors control how data should be written and predicates pushed down#12151
Closed
findepi wants to merge 9 commits intoprestodb:masterfrom
findepi:findepi/jdbc-column-mapping
Closed
Let jdbc-based connectors control how data should be written and predicates pushed down#12151findepi wants to merge 9 commits intoprestodb:masterfrom findepi:findepi/jdbc-column-mapping
findepi wants to merge 9 commits intoprestodb:masterfrom
findepi:findepi/jdbc-column-mapping
Conversation
findepi
commented
Dec 31, 2018
presto-mysql/src/main/java/com/facebook/presto/plugin/mysql/MySqlClient.java
Outdated
Show resolved
Hide resolved
Contributor
Author
|
@electrum this doesn't fully compile yet (although postgresql and mysql connector tests should be passing). Feedback is more than welcome. |
Contributor
Author
|
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
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
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
ResultSetviaReadMappingdefinitions. However, writing is hard-coded incom.facebook.presto.plugin.jdbc.JdbcPageSink#appendColumn.This expands the
ReadMappingconcept intoColumnMappingwhich controls both reading and writing.WIP. TODO items:
try to make the change backwards-compatiblecc @electrum