-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
implement JSON type in BE #3085
Conversation
Better to split the thirdparty changes into another PR. |
Submit another PR #3089, including thridparty library and type define. |
97f99e7
to
e891db2
Compare
534e8d4
to
9bb35de
Compare
24d2b64
to
fe9c2ec
Compare
@@ -40,6 +40,7 @@ class ColumnVisitorMutable { | |||
virtual Status visit(vectorized::HyperLogLogColumn* column); | |||
virtual Status visit(vectorized::BitmapColumn* column); | |||
virtual Status visit(vectorized::PercentileColumn* column); | |||
virtual Status visit(vectorized::JsonColumn* column); |
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.
what the difference betweens JsonColumn and ObjectColumn?
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.
Currently, JsonColumn just inherits ObjectColumn, and overwrites some put_mysql_buffer
, hash methods.
Even more important, JsonColumn needs to implement its own serialization and access algorithms, more closely to columnar storage, not only ObjectColumn.
for (uint32_t i = from; i < to; i++) { | ||
JsonValue* json = get_object(i); | ||
int64_t h = json->hash(); | ||
hash[i] = HashUtil::fnv_hash(&h, sizeof(h), hash[i]); |
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.
fnv_hash is used for bucket shuffling, json->hash() already compute out a hash value, so use the high or low 32 bit is just ok. HashUtil::fnv_hash is needless.
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.
The fnv_hash
needs to take the input hash into account, so I could not use json->hash
as the result?
2f21900
to
a86b675
Compare
Co-authored-by: kangkaisen <kangkaisen@gmail.com>
4e3fc0f
a86b675
to
4e3fc0f
Compare
* Update STREAM LOAD.md * Update BROKER LOAD.md * modified file_path descriptions in BROKERLOAD.md
What type of PR is this:
Summary
PrimitiveType
andFieldType
.json
fileNot included