diff --git a/dbms/src/Functions/FunctionBinaryArithmetic.h b/dbms/src/Functions/FunctionBinaryArithmetic.h index 6e0dd0068c4..03b89428cf3 100644 --- a/dbms/src/Functions/FunctionBinaryArithmetic.h +++ b/dbms/src/Functions/FunctionBinaryArithmetic.h @@ -811,8 +811,7 @@ public: return type_res; } - template - bool executeFixedString(Block & block, const ColumnNumbers & arguments, size_t result, const A & /*left*/, const B & /*right*/) + bool executeFixedString(Block & block, const ColumnNumbers & arguments, size_t result) { using OpImpl = FixedStringOperationImpl>; @@ -1008,6 +1007,8 @@ public: block.getByPosition(result).column = std::move(col_res); return true; } + else + (void)result; return false; } @@ -1041,13 +1042,9 @@ void executeImpl(Block & block, const ColumnNumbers & arguments, size_t result, using LeftDataType = std::decay_t; using RightDataType = std::decay_t; if constexpr (std::is_same_v || std::is_same_v) - { - return executeFixedString(block, arguments, result, left, right); - } + return executeFixedString(block, arguments, result); else - { return executeNumeric(block, arguments, result, left, right); - } }); if (!valid) throw Exception(getName() + "'s arguments do not match the expected data types", ErrorCodes::LOGICAL_ERROR);