Skip to content
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: implement hexInt/hexStr function push down #5280

Merged
merged 27 commits into from
Jul 22, 2022

Conversation

YangKeao
Copy link
Member

@YangKeao YangKeao commented Jul 3, 2022

What problem does this PR solve?

Issue Number: close #5107

Related PR: pingcap/tidb#35902

What is changed and how it works?

hexStr is manually implemented through convert every bytes to two characters.

hexInt is implemented by calling sprintf(_, "%X", _) directly.

Check List

Tests

  • Unit test
  • Integration test

Release note

Support to pushdown hexInt and hexStr to TiFlash

Signed-off-by: YangKeao <yangkeao@chunibyo.icu>
Signed-off-by: YangKeao <yangkeao@chunibyo.icu>
@ti-chi-bot
Copy link
Member

ti-chi-bot commented Jul 3, 2022

[REVIEW NOTIFICATION]

This pull request has been approved by:

  • SeaRise
  • gengliqi

To complete the pull request process, please ask the reviewers in the list to review by filling /cc @reviewer in the comment.
After your PR has acquired the required number of LGTMs, you can assign this pull request to the committer in the list by filling /assign @committer in the comment to help you merge this pull request.

The full list of commands accepted by this bot can be found here.

Reviewer can indicate their review by submitting an approval review.
Reviewer can cancel approval by submitting a request changes review.

@ti-chi-bot ti-chi-bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jul 3, 2022
Signed-off-by: YangKeao <yangkeao@chunibyo.icu>
Signed-off-by: YangKeao <yangkeao@chunibyo.icu>
Signed-off-by: YangKeao <yangkeao@chunibyo.icu>
Copy link
Contributor

@SeaRise SeaRise left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution, nice job.

tests/fullstack-test/expr/hex_str.test Outdated Show resolved Hide resolved
dbms/src/Functions/tests/gtest_strings_hexstr.cpp Outdated Show resolved Hide resolved
dbms/src/Functions/tests/gtest_strings_hexint.cpp Outdated Show resolved Hide resolved
dbms/src/Functions/tests/gtest_strings_hexint.cpp Outdated Show resolved Hide resolved
@SeaRise SeaRise self-requested a review July 6, 2022 02:33
Copy link
Contributor

@SeaRise SeaRise left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Others LGTM

dbms/src/Functions/FunctionsString.cpp Show resolved Hide resolved
dbms/src/Functions/FunctionsString.cpp Outdated Show resolved Hide resolved
dbms/src/Functions/FunctionsString.cpp Outdated Show resolved Hide resolved
@ti-chi-bot ti-chi-bot added the status/LGT1 Indicates that a PR has LGTM 1. label Jul 6, 2022
Signed-off-by: YangKeao <yangkeao@chunibyo.icu>
@ti-chi-bot ti-chi-bot added status/LGT2 Indicates that a PR has LGTM 2. and removed status/LGT1 Indicates that a PR has LGTM 1. labels Jul 6, 2022
@gengliqi
Copy link
Contributor

gengliqi commented Jul 6, 2022

/merge

@ti-chi-bot
Copy link
Member

@gengliqi: It seems you want to merge this PR, I will help you trigger all the tests:

/run-all-tests

You only need to trigger /merge once, and if the CI test fails, you just re-trigger the test that failed and the bot will merge the PR for you after the CI passes.

If you have any questions about the PR merge process, please refer to pr process.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository.

@ti-chi-bot ti-chi-bot added the status/can-merge Indicates a PR has been approved by a committer. label Jul 6, 2022
@sre-bot
Copy link
Collaborator

sre-bot commented Jul 6, 2022

Coverage for changed files

Filename                                     Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/Coprocessor/DAGUtils.cpp                   347               155    55.33%          45                15    66.67%         638               294    53.92%         412               197    52.18%
Functions/FunctionsString.cpp                   1275               384    69.88%         247                74    70.04%        2838               772    72.80%         778               292    62.47%
Functions/tests/gtest_strings_hexint.cpp         172                43    75.00%           1                 0   100.00%          45                 0   100.00%          52                27    48.08%
Functions/tests/gtest_strings_hexstr.cpp          77                28    63.64%           1                 0   100.00%          20                 0   100.00%          22                12    45.45%
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                           1871               610    67.40%         294                89    69.73%        3541              1066    69.90%        1264               528    58.23%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18430      9645             47.67%    207408  96543        53.45%

full coverage report (for internal network access only)

@ti-chi-bot ti-chi-bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 14, 2022
@Lloyd-Pottiger
Copy link
Contributor

/run-all-tests

@sre-bot
Copy link
Collaborator

sre-bot commented Jul 20, 2022

Coverage for changed files

Filename                                     Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/Coprocessor/DAGUtils.cpp                   347               141    59.37%          45                11    75.56%         638               271    57.52%         412               190    53.88%
Functions/FunctionsString.cpp                   1353               361    73.32%         259                68    73.75%        2987               732    75.49%         828               287    65.34%
Functions/tests/gtest_strings_hexint.cpp         172                43    75.00%           1                 0   100.00%          45                 0   100.00%          52                27    48.08%
Functions/tests/gtest_strings_hexstr.cpp          77                28    63.64%           1                 0   100.00%          20                 0   100.00%          22                12    45.45%
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                           1949               573    70.60%         306                79    74.18%        3690              1003    72.82%        1314               516    60.73%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18644      9394             49.61%    212552  94887        55.36%

full coverage report (for internal network access only)

@ti-chi-bot ti-chi-bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 20, 2022
@Willendless
Copy link
Contributor

/run-all-tests

1 similar comment
@Willendless
Copy link
Contributor

/run-all-tests

@sre-bot
Copy link
Collaborator

sre-bot commented Jul 20, 2022

Coverage for changed files

Filename                                     Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/Coprocessor/DAGUtils.cpp                   347               141    59.37%          45                11    75.56%         638               271    57.52%         412               190    53.88%
Functions/FunctionsString.cpp                   1353               361    73.32%         259                68    73.75%        2987               732    75.49%         828               287    65.34%
Functions/tests/gtest_strings_hexint.cpp         172                43    75.00%           1                 0   100.00%          45                 0   100.00%          52                27    48.08%
Functions/tests/gtest_strings_hexstr.cpp          77                28    63.64%           1                 0   100.00%          20                 0   100.00%          22                12    45.45%
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                           1949               573    70.60%         306                79    74.18%        3690              1003    72.82%        1314               516    60.73%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18650      9396             49.62%    212684  94936        55.36%

full coverage report (for internal network access only)

@Lloyd-Pottiger
Copy link
Contributor

/run-integration-test

@Willendless
Copy link
Contributor

/run-all-tests

@sre-bot
Copy link
Collaborator

sre-bot commented Jul 21, 2022

Coverage for changed files

Filename                                     Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/Coprocessor/DAGUtils.cpp                   347               141    59.37%          45                11    75.56%         638               271    57.52%         412               190    53.88%
Functions/FunctionsString.cpp                   1353               361    73.32%         259                68    73.75%        2987               732    75.49%         828               287    65.34%
Functions/tests/gtest_strings_hexint.cpp         172                43    75.00%           1                 0   100.00%          45                 0   100.00%          52                27    48.08%
Functions/tests/gtest_strings_hexstr.cpp          77                28    63.64%           1                 0   100.00%          20                 0   100.00%          22                12    45.45%
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                           1949               573    70.60%         306                79    74.18%        3690              1003    72.82%        1314               516    60.73%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18650      9398             49.61%    212686  94988        55.34%

full coverage report (for internal network access only)

@SeaRise
Copy link
Contributor

SeaRise commented Jul 21, 2022

/run-all-tests

@sre-bot
Copy link
Collaborator

sre-bot commented Jul 21, 2022

Coverage for changed files

Filename                                     Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/Coprocessor/DAGUtils.cpp                   347               141    59.37%          45                11    75.56%         638               271    57.52%         412               190    53.88%
Functions/FunctionsString.cpp                   1353               361    73.32%         259                68    73.75%        2987               732    75.49%         828               287    65.34%
Functions/tests/gtest_strings_hexint.cpp         172                43    75.00%           1                 0   100.00%          45                 0   100.00%          52                27    48.08%
Functions/tests/gtest_strings_hexstr.cpp          77                28    63.64%           1                 0   100.00%          20                 0   100.00%          22                12    45.45%
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                           1949               573    70.60%         306                79    74.18%        3690              1003    72.82%        1314               516    60.73%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18799      9449             49.74%    214173  95471        55.42%

full coverage report (for internal network access only)

@SeaRise
Copy link
Contributor

SeaRise commented Jul 22, 2022

/merge

@ti-chi-bot
Copy link
Member

@SeaRise: It seems you want to merge this PR, I will help you trigger all the tests:

/run-all-tests

You only need to trigger /merge once, and if the CI test fails, you just re-trigger the test that failed and the bot will merge the PR for you after the CI passes.

If you have any questions about the PR merge process, please refer to pr process.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository.

@ti-chi-bot
Copy link
Member

This pull request has been accepted and is ready to merge.

Commit hash: 844eda6

@ti-chi-bot ti-chi-bot added the status/can-merge Indicates a PR has been approved by a committer. label Jul 22, 2022
@sre-bot
Copy link
Collaborator

sre-bot commented Jul 22, 2022

Coverage for changed files

Filename                                     Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/Coprocessor/DAGUtils.cpp                   347               141    59.37%          45                11    75.56%         638               271    57.52%         412               190    53.88%
Functions/FunctionsString.cpp                   1353               361    73.32%         259                68    73.75%        2987               732    75.49%         828               287    65.34%
Functions/tests/gtest_strings_hexint.cpp         172                43    75.00%           1                 0   100.00%          45                 0   100.00%          52                27    48.08%
Functions/tests/gtest_strings_hexstr.cpp          77                28    63.64%           1                 0   100.00%          20                 0   100.00%          22                12    45.45%
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                           1949               573    70.60%         306                79    74.18%        3690              1003    72.82%        1314               516    60.73%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18799      9451             49.73%    214173  95547        55.39%

full coverage report (for internal network access only)

@ti-chi-bot ti-chi-bot merged commit 6a8c26c into pingcap:master Jul 22, 2022
@breezewish
Copy link
Member

Seems that there will be issues when using LLVM as the compiler:

/Library/Developer/CommandLineTools/usr/bin/c++ -DBOOST_CONTEXT_EXPORT="" -DBOOST_CONTEXT_NO_LIB -DBOOST_CONTEXT_STATIC_LINK -DBOOST_FIBER_NO_LIB -DBOOST_FIBER_STATIC_LINK -DBOOST_SYSTEM_NO_DEPRECATED -DCARES_STATICLIB -DFIU_ENABLE -DLZ4_DISABLE_DEPRECATE_WARNINGS=1 -DPOCO_STATIC -DPOCO_UNBUNDLED_ZLIB -DTIFLASH_COMPILER_VPCLMULQDQ_SUPPORT=0 -DTIFLASH_ENABLE_ASIMD_SUPPORT=1 -DTIFLASH_SOURCE_PREFIX=\"/Users/breezewish/Work/tiflash\" -I/Users/breezewish/Work/tiflash/contrib/libdivide -I/Users/breezewish/Work/tiflash/contrib/libmetrohash/src -I/Users/breezewish/Work/tiflash/contrib/libfarmhash -I/Users/breezewish/Work/tiflash/dbms/src -I/Users/breezewish/Work/tiflash/contrib/tiflash-proxy/raftstore-proxy/ffi/src -I/Users/breezewish/Work/tiflash/cmake-build-debug/dbms/src -I/Users/breezewish/Work/tiflash/contrib/double-conversion -I/Users/breezewish/Work/tiflash/contrib/boost -I/Users/breezewish/Work/tiflash/contrib/xxHash -I/Users/breezewish/Work/tiflash/contrib/libpcg-random/include -I/Users/breezewish/Work/tiflash/contrib/libcityhash/include -I/Users/breezewish/Work/tiflash/libs/libcommon/include -I/Users/breezewish/Work/tiflash/cmake-build-debug/libs/libcommon/include -I/Users/breezewish/Work/tiflash/libs/libpocoext/include -I/Users/breezewish/Work/tiflash/contrib/poco/Data/include -I/Users/breezewish/Work/tiflash/contrib/poco/Foundation/include -I/Users/breezewish/Work/tiflash/contrib/zlib-ng -I/Users/breezewish/Work/tiflash/cmake-build-debug/contrib/zlib-ng -I/Users/breezewish/Work/tiflash/contrib/poco/Util/include -I/Users/breezewish/Work/tiflash/contrib/poco/XML/include -I/Users/breezewish/Work/tiflash/contrib/poco/JSON/include -I/Users/breezewish/Work/tiflash/contrib/poco/Net/include -I/Users/breezewish/Work/tiflash/contrib/cctz/include -I/Users/breezewish/Work/tiflash/contrib/lz4/lib -I/Users/breezewish/Work/tiflash/contrib/zstd/lib -I/Users/breezewish/Work/tiflash/contrib/client-c/third_party/libfiu/libfiu -I/Users/breezewish/Work/tiflash/contrib/prometheus-cpp/core/include -I/Users/breezewish/Work/tiflash/cmake-build-debug/contrib/prometheus-cpp-cmake/core/include -I/Users/breezewish/Work/tiflash/contrib/prometheus-cpp/push/include -I/Users/breezewish/Work/tiflash/cmake-build-debug/contrib/prometheus-cpp-cmake/push/include -I/Users/breezewish/Work/tiflash/contrib/prometheus-cpp/pull/include -I/Users/breezewish/Work/tiflash/cmake-build-debug/contrib/prometheus-cpp-cmake/pull/include -I/Users/breezewish/Work/tiflash/contrib/cpptoml -I/Users/breezewish/Work/tiflash/contrib/poco/NetSSL_OpenSSL/include -I/Users/breezewish/Work/tiflash/contrib/poco/Crypto/include -I/Users/breezewish/Work/tiflash/contrib/xxHash/cmake_unofficial/.. -I/Users/breezewish/Work/tiflash/contrib/kvproto/cpp -I/Users/breezewish/Work/tiflash/contrib/kvproto/cpp/kvproto -I/Users/breezewish/Work/tiflash/contrib/grpc/include -I/Users/breezewish/Work/tiflash/contrib/client-c/include -I/Users/breezewish/Work/tiflash/cmake-build-debug/contrib/grpc/third_party/cares/cares -I/Users/breezewish/Work/tiflash/contrib/grpc/third_party/cares/cares -I/Users/breezewish/Work/tiflash/contrib/tipb/cpp -I/Users/breezewish/Work/tiflash/cmake-build-debug/dbms/src/Storages/DeltaMerge/File/dtpb -I/Users/breezewish/Work/tiflash/contrib/libbtrie/include -I/Users/breezewish/Work/tiflash/contrib/abseil-cpp -I/Users/breezewish/Work/tiflash/libs/libconsistent-hashing -I/Users/breezewish/Work/tiflash/cmake-build-debug/contrib/libfarmhash -isystem /Users/breezewish/Work/tiflash/contrib/fmtlib-cmake/../fmtlib/include -isystem /Users/breezewish/Work/tiflash/libs/libsymbolization/include -isystem /Users/breezewish/Work/tiflash/contrib/boringssl/include -isystem /Users/breezewish/Work/tiflash/contrib/protobuf/src -isystem /Users/breezewish/Work/tiflash/contrib/re2 -isystem /Users/breezewish/Work/tiflash/cmake-build-debug/contrib/re2-cmake -D__GLIBCXX_BITSIZE_INT_N_0=128 -D__GLIBCXX_TYPE_INT_N_0=__int128   -pipe  -fno-omit-frame-pointer  -Wall -Wno-unused-command-line-argument  -Wnon-virtual-dtor  -Wextra -Werror -g -g3 -ggdb3 -O0 -fverbose-asm -fno-inline  -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk -fPIC -DDUMMY_BACKTRACE -std=gnu++17 -MD -MT dbms/src/Functions/CMakeFiles/clickhouse_functions.dir/FunctionsString.cpp.o -MF dbms/src/Functions/CMakeFiles/clickhouse_functions.dir/FunctionsString.cpp.o.d -o dbms/src/Functions/CMakeFiles/clickhouse_functions.dir/FunctionsString.cpp.o -c /Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5288:100: error: format specifies type 'unsigned long' but the argument has type 'DB::UInt64' (aka 'unsigned long long') [-Werror,-Wformat]
            int print_size = sprintf(reinterpret_cast<char *>(&res_chars[prev_res_offset]), "%lX", number);
                                                                                             ~~~   ^~~~~~
                                                                                             %llX
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5243:13: note: in instantiation of function template specialization 'DB::FunctionHexInt::executeHexInt<unsigned char>' requested here
        if (executeHexInt<UInt8>(block, arguments, result)
            ^
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5288:100: error: format specifies type 'unsigned long' but the argument has type 'DB::UInt64' (aka 'unsigned long long') [-Werror,-Wformat]
            int print_size = sprintf(reinterpret_cast<char *>(&res_chars[prev_res_offset]), "%lX", number);
                                                                                             ~~~   ^~~~~~
                                                                                             %llX
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5244:16: note: in instantiation of function template specialization 'DB::FunctionHexInt::executeHexInt<unsigned short>' requested here
            || executeHexInt<UInt16>(block, arguments, result)
               ^
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5288:100: error: format specifies type 'unsigned long' but the argument has type 'DB::UInt64' (aka 'unsigned long long') [-Werror,-Wformat]
            int print_size = sprintf(reinterpret_cast<char *>(&res_chars[prev_res_offset]), "%lX", number);
                                                                                             ~~~   ^~~~~~
                                                                                             %llX
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5245:16: note: in instantiation of function template specialization 'DB::FunctionHexInt::executeHexInt<unsigned int>' requested here
            || executeHexInt<UInt32>(block, arguments, result)
               ^
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5288:100: error: format specifies type 'unsigned long' but the argument has type 'DB::UInt64' (aka 'unsigned long long') [-Werror,-Wformat]
            int print_size = sprintf(reinterpret_cast<char *>(&res_chars[prev_res_offset]), "%lX", number);
                                                                                             ~~~   ^~~~~~
                                                                                             %llX
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5246:16: note: in instantiation of function template specialization 'DB::FunctionHexInt::executeHexInt<unsigned long long>' requested here
            || executeHexInt<UInt64>(block, arguments, result)
               ^
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5288:100: error: format specifies type 'unsigned long' but the argument has type 'DB::UInt64' (aka 'unsigned long long') [-Werror,-Wformat]
            int print_size = sprintf(reinterpret_cast<char *>(&res_chars[prev_res_offset]), "%lX", number);
                                                                                             ~~~   ^~~~~~
                                                                                             %llX
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5247:16: note: in instantiation of function template specialization 'DB::FunctionHexInt::executeHexInt<signed char>' requested here
            || executeHexInt<Int8>(block, arguments, result)
               ^
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5288:100: error: format specifies type 'unsigned long' but the argument has type 'DB::UInt64' (aka 'unsigned long long') [-Werror,-Wformat]
            int print_size = sprintf(reinterpret_cast<char *>(&res_chars[prev_res_offset]), "%lX", number);
                                                                                             ~~~   ^~~~~~
                                                                                             %llX
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5248:16: note: in instantiation of function template specialization 'DB::FunctionHexInt::executeHexInt<short>' requested here
            || executeHexInt<Int16>(block, arguments, result)
               ^
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5288:100: error: format specifies type 'unsigned long' but the argument has type 'DB::UInt64' (aka 'unsigned long long') [-Werror,-Wformat]
            int print_size = sprintf(reinterpret_cast<char *>(&res_chars[prev_res_offset]), "%lX", number);
                                                                                             ~~~   ^~~~~~
                                                                                             %llX
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5249:16: note: in instantiation of function template specialization 'DB::FunctionHexInt::executeHexInt<int>' requested here
            || executeHexInt<Int32>(block, arguments, result)
               ^
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5288:100: error: format specifies type 'unsigned long' but the argument has type 'DB::UInt64' (aka 'unsigned long long') [-Werror,-Wformat]
            int print_size = sprintf(reinterpret_cast<char *>(&res_chars[prev_res_offset]), "%lX", number);
                                                                                             ~~~   ^~~~~~
                                                                                             %llX
/Users/breezewish/Work/tiflash/dbms/src/Functions/FunctionsString.cpp:5250:16: note: in instantiation of function template specialization 'DB::FunctionHexInt::executeHexInt<long long>' requested here
            || executeHexInt<Int64>(block, arguments, result))
               ^
8 errors generated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. status/can-merge Indicates a PR has been approved by a committer. status/LGT2 Indicates that a PR has LGTM 2.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement HexIntArg/HexStrArg function push down
8 participants