You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I had searched in the issues and found no similar issues.
Description
we need implement the functions compress and uncompress just like mysql did.
Solution
To support a function, we need:
function implementation and registration in BE. the utils be/src/util/block_compression.cpp#ZlibBlockCompression may be very useful. we could only support String->String singature. so you could encode the ColumnString to Slice and use the util to compress it. vice versa.
function signature and visitor for nereids planner in FE
the constant fold implementation in FE, behave just same with it in BE, like functions/executable/NumericArithmetic.java in https://github.com/apache/doris/pull/40744/files
another function docs pr in https://github.com/apache/doris-website
you can reference pr like https://github.com/apache/doris/pull/33005/files
Hi @zclllyybb, there are many compression algorithms implemented in the block_compression.cpp file. Do we want to support multiple compression algorithms for this function with function signature like COMPRESS(String, compression_algorithm)?
UPDATE: I have gone through your function_uuid PR. I also went through some more function implementations in the code base. I will start my implementation soon.
Hi @zclllyybb, there are many compression algorithms implemented in the block_compression.cpp file. Do we want to support multiple compression algorithms for this function with function signature like COMPRESS(String, compression_algorithm)? UPDATE: I have gone through your function_uuid PR. I also went through some more function implementations in the code base. I will start my implementation soon.
We dont need to support the second argument. There's two reasons:
we should keep compatible with MySQL. so that it will be easier for users to migrate
these functions aim to compress information. since the compress algorithms don't differ very much. user may not be very clear about the different of algorithm's choice. so support with the only algorithm will be better.
Search before asking
Description
we need implement the functions compress and uncompress just like mysql did.
Solution
To support a function, we need:
function implementation and registration in BE. the utils
be/src/util/block_compression.cpp#ZlibBlockCompression
may be very useful. we could only supportString->String
singature. so you could encode theColumnString
toSlice
and use the util to compress it. vice versa.function signature and visitor for nereids planner in FE
the constant fold implementation in FE, behave just same with it in BE, like functions/executable/NumericArithmetic.java in https://github.com/apache/doris/pull/40744/files
another function docs pr in https://github.com/apache/doris-website
you can reference pr like https://github.com/apache/doris/pull/33005/files
and ATTN! we must have enough testcases, like what https://github.com/apache/doris/pull/40462/files did.
Are you willing to submit PR?
Code of Conduct
The text was updated successfully, but these errors were encountered: