-
Notifications
You must be signed in to change notification settings - Fork 3.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
[Feature](datatype) Add IPv4/v6 data type for doris #24965
Conversation
run buildall |
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.
clang-tidy made some suggestions
There were too many comments to post at once. Showing the first 25 out of 38. Check the log or trigger a new build to see more.
TeamCity be ut coverage result: |
(From new machine)TeamCity pipeline, clickbench performance test result: |
run p0 |
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
PR approved by anyone and no changes requested. |
@xiaokang @yiguolei @morrySnow please review this |
please add rule descriptions for conversions with other types |
What is the format of rule descriptions for conversions? Are there any relevant examples? |
In general, there are more work need to do for nereids(at least):
|
PR approved by at least one committer and no changes requested. |
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.
In general, there are more work need to do for nereids(at least):
Add literal definition of IPV4 and IPV6 like old planner
modify fe/fe-core/src/main/java/org/apache/doris/nereids/types/DataType.java for IP types
modify fe/fe-core/src/main/java/org/apache/doris/nereids/util/TypeCoercionUtils.java for IP types
add 'set enable_nereids_planner=true' and 'enable_fallback_to_original_planner=false' in groovy regression test cases and verify the result
Thank you for reviewing my code, I will complete this work during the National Day! |
run buildall |
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.
clang-tidy made some suggestions
There were too many comments to post at once. Showing the first 25 out of 191. Check the log or trigger a new build to see more.
TeamCity be ut coverage result: |
(From new machine)TeamCity pipeline, clickbench performance test result: |
run p0 |
sql """ SET enable_fallback_to_original_planner=false """ | ||
|
||
sql """ | ||
CREATE TABLE test_unique_ip_crud ( |
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.
for dml statement, even 'SET enable_fallback_to_original_planner=false', the nereids will fallback to old planner if meets any error. So to support ipv4 and ipv6 keyword in nereids, we need modiy the g4 grammer files:
src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4
src/main/antlr4/org/apache/doris/nereids/DorisParser.g4
and check visitCreateTable in org/apache/doris/nereids/parser/LogicalPlanBuilder.java works
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.
checkValueValid is missing in nereids, shoud it be consistent with old planner?
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.
checkValueValid is missing in nereids, shoud it be consistent with old planner?
run buildall |
(From new machine)TeamCity pipeline, clickbench performance test result: |
run buildall |
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.
clang-tidy made some suggestions
There were too many comments to post at once. Showing the first 25 out of 95. Check the log or trigger a new build to see more.
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.
clang-tidy made some suggestions
There were too many comments to post at once. Showing the first 25 out of 71. Check the log or trigger a new build to see more.
run clickbench-new |
run p0 |
run p1 |
run p0 |
(From new machine)TeamCity pipeline, clickbench performance test result: |
Proposed changes
Issue Number: close #21370
Describe your changes
Now We do not support IPv4/v6 data type for doris witch is common data type in database
So it's the time to support it ! We have some basic funnctions for data type to check the data type is supported completly
support CURD
support StreamLoad
support Serde functions
support (implicit/explicit) cast functions. The following cast functions have been implemented:
specific functions for itself data type (u can reference clickhouse or mysql)
make a Performance Test result with clickhouse or ElasticSearch in load this data type
Further comments
If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...