-
Notifications
You must be signed in to change notification settings - Fork 587
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
feat(source): support ingesting Avro map type to RisingWave map type #17980
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
2f8ad1f
to
a46e2cc
Compare
519cd3d
to
83e6410
Compare
a46e2cc
to
775d975
Compare
83e6410
to
34e9829
Compare
56f9f43
to
49dca8a
Compare
@xxchan is it ready for review right now? |
49dca8a
to
62a7ea9
Compare
@chenzl25 Yes, it's done. Just rebased |
62a7ea9
to
5f1ab1a
Compare
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.
LGTM, thanks!
@@ -318,6 +318,29 @@ impl<'a> AvroParseOptions<'a> { | |||
(DataType::Varchar, Value::Uuid(uuid)) => { | |||
uuid.as_hyphenated().to_string().into_boxed_str().into() | |||
} | |||
(DataType::Map(map_type), Value::Map(map)) => { |
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.
LGTM. BTW do you know why we use apache-avro 0.16.0 instead of 0.17.0 here in this crate?
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.
- We have a few bugfix patches in our fork Contribute patches to upstream avro#6
- And 0.17.0 is just released last week Rebase with upstream 0.17 avro#5
f22c883
to
d3662a6
Compare
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Part of #17743
Previously: (#16948)
FORMAT ... ENCODE AVRO (map.handling.mode = 'jsonb')
will convert Avro map type to RisingWave jsonb type. Other values ofmap.handling.mode
, or unspecified will be rejected.Now
map.handling.mode = 'map'
or unspecified will convert it to the native map type.Checklist
./risedev check
(or alias,./risedev c
)Documentation
Release note
As title and description