mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-28 02:21:59 +00:00
Fix more tests
One of tests actually uncovered a casting error :)
This commit is contained in:
parent
0fed338ac2
commit
d0506f0214
@ -25,7 +25,7 @@ struct BitShiftLeftImpl
|
||||
{
|
||||
if constexpr (is_big_int_v<B>)
|
||||
throw Exception(ErrorCodes::NOT_IMPLEMENTED, "BitShiftLeft is not implemented for big integers as second argument");
|
||||
else if (b < 0 || b > B(8 * sizeof(A)))
|
||||
else if (b < 0 || static_cast<UInt256>(b) > 8 * sizeof(A))
|
||||
throw Exception(ErrorCodes::ARGUMENT_OUT_OF_BOUND, "The number of shift positions needs to be a positive value and not greater than the bit width of the value to shift");
|
||||
else if constexpr (is_big_int_v<A>)
|
||||
return static_cast<Result>(a) << static_cast<UInt32>(b);
|
||||
|
@ -26,7 +26,7 @@ struct BitShiftRightImpl
|
||||
{
|
||||
if constexpr (is_big_int_v<B>)
|
||||
throw Exception(ErrorCodes::NOT_IMPLEMENTED, "BitShiftRight is not implemented for big integers as second argument");
|
||||
else if (b < 0 || b > B(8 * sizeof(A)))
|
||||
else if (b < 0 || static_cast<UInt256>(b) > 8 * sizeof(A))
|
||||
throw Exception(ErrorCodes::ARGUMENT_OUT_OF_BOUND, "The number of shift positions needs to be a positive value and not greater than the bit width of the value to shift");
|
||||
else if constexpr (is_big_int_v<A>)
|
||||
return static_cast<Result>(a) >> static_cast<UInt32>(b);
|
||||
|
@ -1,7 +1,4 @@
|
||||
-- binary functions
|
||||
4 7
|
||||
1
|
||||
1
|
||||
1
|
||||
7 3
|
||||
1
|
||||
|
@ -1,8 +1,5 @@
|
||||
set dialect='kusto';
|
||||
print ' -- binary functions';
|
||||
print binary_and(4,7), binary_or(4,7);
|
||||
print binary_shift_left(1, 1) == binary_shift_left(1, 65);
|
||||
print binary_shift_right(2, 1) == binary_shift_right(2, 65);
|
||||
print binary_shift_right(binary_shift_left(1, 65), 65) == 1;
|
||||
print binary_xor(2, 5), bitset_count_ones(42);
|
||||
print bitset_count_ones(binary_shift_left(binary_and(4,7), 1));
|
||||
|
@ -10,7 +10,7 @@ DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t0 (vkey UInt32, pkey UInt32, c0 UInt32) engine = TinyLog;
|
||||
CREATE TABLE t1 (vkey UInt32) ENGINE = AggregatingMergeTree ORDER BY vkey;
|
||||
INSERT INTO t0 VALUES (15, 25000, 58);
|
||||
SELECT ref_5.pkey AS c_2_c2392_6 FROM t0 AS ref_5 WHERE 'J[' < multiIf(ref_5.pkey IN ( SELECT 1 ), bitShiftLeft(multiIf(ref_5.c0 > NULL, '1', ')'), 40), NULL);
|
||||
SELECT ref_5.pkey AS c_2_c2392_6 FROM t0 AS ref_5 WHERE 'J[' < multiIf(ref_5.pkey IN ( SELECT 1 ), bitShiftLeft(multiIf(ref_5.c0 > NULL, '1', ')'), 40), NULL); -- { serverError ARGUMENT_OUT_OF_BOUND }
|
||||
DROP TABLE t0;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
@ -94,7 +94,6 @@ EXTERN_TYPES_EXCLUDES=(
|
||||
ErrorCodes::values[i]
|
||||
ErrorCodes::getErrorCodeByName
|
||||
ErrorCodes::Value
|
||||
ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT
|
||||
)
|
||||
for extern_type in ${!EXTERN_TYPES[@]}; do
|
||||
type_of_extern=${EXTERN_TYPES[$extern_type]}
|
||||
|
Loading…
Reference in New Issue
Block a user