-
Notifications
You must be signed in to change notification settings - Fork 752
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
ISSUE-2361: remote backend for fuse table #2355
ISSUE-2361: remote backend for fuse table #2355
Conversation
Thanks for the contribution! Please review the labels and make any necessary changes. |
Codecov Report
@@ Coverage Diff @@
## main #2355 +/- ##
=====================================
- Coverage 71% 71% -1%
=====================================
Files 633 633
Lines 35703 35754 +51
=====================================
- Hits 25436 25428 -8
- Misses 10267 10326 +59
Continue to review full report at Codecov.
|
This PR needs an issue to track, for example in our release proposal :) |
got it |
eedcd41
to
351fc51
Compare
@@ -85,6 +85,12 @@ impl DataValue { | |||
} | |||
DataType::Boolean => try_build_array! {values}, | |||
DataType::String => try_build_array! {String, values}, | |||
DataType::Date16 => { |
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.
Miss Date32
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.
got it
common/datavalues/src/macros.rs
Outdated
@@ -186,7 +186,10 @@ macro_rules! try_build_array { | |||
match value { | |||
DataValue::$SCALAR_TY(Some(v)) => builder.append_value(*v), | |||
DataValue::$SCALAR_TY(None) => builder.append_null(), | |||
_ => unreachable!(), | |||
dv => { |
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.
unreachable!(dv)
?
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.
oops, forget code GC here
/cc @sundy-li PTAL |
async fn upsert_table_option( | ||
&self, | ||
table_id: MetaId, | ||
new_table_version: MetaVersion, | ||
new_snapshot_location: String, | ||
) -> Result<CommitTableReply>; | ||
table_version: MetaVersion, | ||
option_key: String, | ||
option_value: String, | ||
) -> Result<UpsertTableOptionReply>; |
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.
Why not just define a upsert_table
, to update an entire table instance?
An update of a single field is only useful with non-serialized concurrency control. E.g. two concurrent commutative update operations to a single table.
As MetaVersion must be matched, it is serialized. Updating the entire table simplifies the backend impl.
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.
right, that is more reasonable. let's fix this in latter prs
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.
Then everything else looks good enough to me.
/lgtm Great, welcome |
Approved! Thank you for the PR @dantengsky |
CI Passed |
BTW, there should be a unit test to the new API |
I hereby agree to the terms of the CLA available at: https://databend.rs/policies/cla/
Summary
for reviewers:
DataValue::try_into_data_array
test cases seem work, but I am not sure if they are proper
Changelog
Related Issues
Fixes: #2361
Test Plan
Unit Tests
Stateless Tests