Commit Graph

1526 Commits

Author SHA1 Message Date
Azat Khuzhin
f4c2048bf2 Fix toDateTime64(toDate()/toDateTime()) for DateTime64
Maybe this is even does not worth it, but at least there was code that
assume that this should work - ToDateTime64Transform in
FunctionsConversion.h.
2021-02-06 13:04:53 +03:00
Nikolai Kochetov
9d62842a33 Fix tests. 2021-02-05 22:52:06 +03:00
alesapin
f81a407cdd Fix if with tuple then/else arguments 2021-02-05 22:39:26 +03:00
Nikolai Kochetov
9869f70a0d Remove AddMissed step and transform. 2021-02-05 14:41:44 +03:00
alexey-milovidov
34151eea2c
Merge pull request #20067 from ClickHouse/mod-negative-type-promotion
Add type promotion for modulo of division of negative number
2021-02-05 09:31:46 +03:00
Nikolai Kochetov
d9aa1096cf Build actions dag to evaluate missing defaults. 2021-02-04 23:36:50 +03:00
Alexey Milovidov
85b5805c3c Fix tests 2021-02-04 19:36:31 +03:00
Alexey Milovidov
05c5c8ed80 Avoid UBSan report in pointInPolygon 2021-02-03 21:23:54 +03:00
Nikolai Kochetov
c39c965612
Merge pull request #19962 from keen-wolf/timezoneOffset
Implement the timezoneOffset function
2021-02-03 20:37:34 +03:00
Nikolai Kochetov
ebab5df236 Update ya.make 2021-02-03 12:13:44 +03:00
Maksim Kita
ba45cf32ab
Merge pull request #19858 from kitaisreal/reinterpret-as-updated-to-big-integers
Function reinterpretAs updated to support big integers
2021-02-03 12:12:13 +03:00
PHO
09c49d3842 Add function runningConcurrency()
Given a series of beginning time and ending time of events, this function calculates concurrency of the events at each of the data point, that is, the beginning time.
2021-02-03 14:34:44 +09:00
keenwolf
9beb7689cc add comments and update test cases. 2021-02-02 23:35:45 +08:00
Vitaly Baranov
9427d5d94b
Merge pull request #19805 from vitlibar/allow-getting-return-type-of-dictget-without-loading-dictionary
Fix starting the server with tables having default expressions containing dictGet()
2021-02-02 18:19:55 +03:00
alexey-milovidov
695e28079d
Merge pull request #19960 from ClickHouse/json-extract-inaccurate-conversion-from-double-to-float
Allow inaccurate conversion from double to float in function JSONExtract beacuse the users want that
2021-02-02 15:15:37 +03:00
alexey-milovidov
4d0973cf25
Merge pull request #19959 from depressed-pho/fix-segv-fromModifiedJulianDay
Fix a segfault in fromModifiedJulianDay()
2021-02-02 13:50:14 +03:00
Alexey Milovidov
078011ef2d Allow conversion from double to float in function JSONExtract beacuse the users want that 2021-02-02 07:16:47 +03:00
PHO
5f7a852b92 Fix a segfault in fromModifiedJulianDay()
It was crashing when the argument type was Nullable(T) where T was any integral type other than Int32.
2021-02-02 12:43:36 +09:00
Alexey Milovidov
9930bb0bf6 Fix UBSan report in geoHashesInBox 2021-02-02 06:37:24 +03:00
keenwolf
d251807ea4 add function timezoneOffset 2021-02-02 11:01:20 +08:00
Alexey Milovidov
57664bffe0 Amend 2021-02-01 10:11:41 +03:00
Alexey Milovidov
e9a61c4738 More correct 2021-02-01 07:52:18 +03:00
Alexey Milovidov
1c0c3b3aab Merge branch 'master' into intdiv-ubsan 2021-02-01 07:46:40 +03:00
alexey-milovidov
a6b0fdd3eb
Merge pull request #19862 from ClickHouse/ubsan-gather-utils
Fix UBSan report in GatherUtils
2021-02-01 03:43:43 +03:00
Maksim Kita
d2b8d9886f Fixed fuzzer crash 2021-01-31 22:25:53 +03:00
Maksim Kita
a4812aa97b Updated tests 2021-01-31 18:32:47 +03:00
alexey-milovidov
342baa4223
Merge pull request #19720 from ClickHouse/unicode-asan
Fix unsufficient args check (trash code) in StringSearcher
2021-01-31 15:43:05 +03:00
alexey-milovidov
b80ad9f9bc
Merge pull request #19859 from ClickHouse/date-time-add-ubsan
Fix UBSan report in DateTimeAddInterval
2021-01-31 14:09:04 +03:00
vdimir
000b51f95a
Merge pull request #19518 from bharatnc/ncb/toIPv6-parses-IPv4
toIPv6 function parses IPv4 addresses
2021-01-31 13:56:45 +03:00
Alexey Milovidov
ddff28e594 Fix UBSan report in intDiv 2021-01-31 13:23:50 +03:00
Alexey Milovidov
37f88a1468 Whitespace 2021-01-31 12:02:54 +03:00
Alexey Milovidov
e23dc60e31 Fix UBSan report in GatherUtils 2021-01-31 10:12:17 +03:00
Alexey Milovidov
248540e58f Fix UBSan report in GatherUtils 2021-01-31 10:10:37 +03:00
Alexey Milovidov
0128d185ea Fix UBSan report in DateTimeAddInterval 2021-01-31 06:49:33 +03:00
Alexey Milovidov
0fa5142715 Remove tons of garbage 2021-01-31 05:36:52 +03:00
Alexey Milovidov
5c718c8754 Merge branch 'master' into unicode-asan 2021-01-31 02:40:24 +03:00
alexey-milovidov
8ac39e7f56
Merge pull request #19791 from ClickHouse/format-readable-time-delta-ubsan
formatReadableTimeDelta: correctly output infinite values
2021-01-31 01:37:59 +03:00
bharatnc
e967ba5f3b try fix clang-11-darwin build 2021-01-30 12:12:38 -08:00
Maksim Kita
155f6c0eb5 Function reinterpretAs updated to support big integers 2021-01-30 22:56:23 +03:00
vdimir
5cb99ae699
Use offsets in FunctionIPv6StringToNum for copying ipv4 to buffer 2021-01-30 20:20:11 +03:00
Vitaly Baranov
7c8deae0e1 Fix starting the server with tables having columns' default expressions containing dictGet().
Allow getting return type of dictGet() without loading dictionary.
2021-01-30 19:06:48 +03:00
Azat Khuzhin
502d981ab4 Use BinaryArithmeticOverloadResolver::valid_on_float_arguments for lcm/gcd 2021-01-30 09:12:31 +03:00
Azat Khuzhin
7da4083237 Forbid bit functions for floats
This will fix the following UB report [1]:

  "../src/Functions/bitAnd.cpp:24:61: runtime error: nan is outside the
range of representable values of type 'long' Received signal -3 Received
signal Unknown signal (-3)"

  [1]: https://clickhouse-test-reports.s3.yandex.net/19824/89c4055202b9d08459f90ee5791d4e3017b82fbf/fuzzer_ubsan/report.html#fail1
2021-01-30 09:12:31 +03:00
Alexey Milovidov
d44ce00391 Merge branch 'master' into format-readable-time-delta-ubsan 2021-01-30 07:28:38 +03:00
alexey-milovidov
276e972166
Merge pull request #19789 from ClickHouse/fix-great-circle-angle
Fix mistake in greatCircleAngle
2021-01-29 21:35:26 +03:00
alexey-milovidov
4cfcc18a7f
Merge pull request #19786 from ClickHouse/int-round-ubsan
Fix UBSan report in "round"
2021-01-29 14:59:12 +03:00
alexey-milovidov
0679d81c0d
Merge pull request #19788 from ClickHouse/array-enumerate-extended-bug
Fix trivial bug in arrayEnumerateUniq
2021-01-29 14:58:38 +03:00
Maksim Kita
c7401f219f
Merge pull request #18236 from kitaisreal/dictionaries-support-for-nullable-and-array
[WIP] Dictionaries support for Array and Nullable
2021-01-29 12:02:23 +03:00
alexey-milovidov
76894ccb9f
Update greatCircleDistance.cpp 2021-01-29 08:52:52 +03:00
Alexey Milovidov
f06bb78c5d Merge branch 'master' into unicode-asan 2021-01-29 05:18:29 +03:00
Alexey Milovidov
eee84eec79 formatReadableTimeDelta: correctly output infinite values 2021-01-29 05:14:15 +03:00
Alexey Milovidov
f4a05bd773 Fix mistake in greatCircleAngle 2021-01-29 05:05:46 +03:00
Alexey Milovidov
b3944006cb Fix trivial bug in arrayEnumerateUniq 2021-01-29 04:41:55 +03:00
Alexey Milovidov
eb0473c3f9 Fix UBSan report in "round" 2021-01-29 04:03:38 +03:00
Maksim Kita
f621871465 Fixed race in tests 2021-01-28 19:17:46 +03:00
kssenii
9c7881f4c9 Fix 2021-01-28 10:30:54 +00:00
Maksim Kita
03eec39719
Merge pull request #19712 from kitaisreal/added-functions-parse-date-time-best-effort-us-or-zero-or-null
Added functions parseDateTimeBestEffortUSOrZero, parseDateTimeBestEffortUSOrNull
2021-01-28 11:13:45 +03:00
Alexey Milovidov
9e1c1157b5 Fix error 2021-01-28 04:08:48 +03:00
Alexey Milovidov
d69af4333d Better asserts 2021-01-28 03:46:12 +03:00
Alexey Milovidov
b0b4ccbc6c Merge branch 'master' into unicode-asan 2021-01-28 03:37:17 +03:00
alexey-milovidov
fa48545b87
Merge pull request #19617 from ClickHouse/fix-lc-neighbour
Fix function neighbor for LowCardinality argument.
2021-01-28 03:06:56 +03:00
Maksim Kita
ff371ccdb6 Fixed data race in function DictGetNoType 2021-01-27 23:22:05 +03:00
bharatnc
419c916612 replace strcat with memcpy 2021-01-27 10:16:46 -08:00
Alexey Milovidov
95e15131a8 Fix unsufficient args check (trash code) in StringSearcher 2021-01-27 20:32:59 +03:00
vdimir
36963e0eba
Minor fix 2021-01-27 18:17:42 +03:00
Maksim Kita
9db9ce11dc Added functions parseDateTimeBestEffortUSOrZero, parseDateTimeBestEffortUSOrNull 2021-01-27 17:10:06 +03:00
Nikolai Kochetov
eba2cbfaff
Update neighbor.cpp 2021-01-27 16:26:16 +03:00
Maksim Kita
c4ffa2160f Updated interfaces. Added documentation. 2021-01-27 16:25:27 +03:00
Maksim Kita
7cb7d4dbce Fixed dicitionaries todo 2021-01-27 16:25:27 +03:00
Maksim Kita
498df53ebf Fixed style issues 2021-01-27 16:25:27 +03:00
Maksim Kita
3d0778cba4 FunctionsExternalDictionaries refactored 2021-01-27 16:25:27 +03:00
Maksim Kita
7ded8be0d5 Added Nullable support for FlatDictionary 2021-01-27 16:25:27 +03:00
Maksim Kita
791c7204d7 Fix style issues 2021-01-27 16:25:27 +03:00
Maksim Kita
d61e8c083b Updated RangeHashedDictionary to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
f24a8eadb2 Updated ComplexKeyHashed dictionary to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
d16a572eee Updated IDictionaryBase interface 2021-01-27 16:25:26 +03:00
Maksim Kita
7a2f6cd5b9 Dictionaries refactoring to new interface 2021-01-27 16:25:26 +03:00
alexey-milovidov
5e54c9742f
Merge pull request #19683 from ClickHouse/mysql-compatibility
Merging #19387
2021-01-27 13:48:26 +03:00
Maksim Kita
bd81f43ecb
Merge pull request #19672 from ClickHouse/bigint-remove-old-code
Remove old code for BigInt.
2021-01-27 11:28:45 +03:00
Alexey Milovidov
16b7a0e8ad Merge branch 'master' into mysql-compatibility 2021-01-27 05:07:30 +03:00
Maksim Kita
81548e051e
Merge pull request #19527 from ucasFL/sign
add sign math function
2021-01-26 23:57:31 +03:00
alexey-milovidov
e8dedbf210
Merge pull request #19532 from azat/UBsan-report-fixes-v2
Forbid lcm/gcd for floats (and few UBsan reports fixes)
2021-01-26 23:16:54 +03:00
Alexey Milovidov
f3929b151a Remove even more code 2021-01-26 22:04:03 +03:00
Alexey Milovidov
5f13fdddc0 Remove useless code from BigInt 2021-01-26 21:22:40 +03:00
Amos Bird
d6c0479cf9
add normalizeQueryKeepNames and normalizedQueryHashKeepNames (#18910) 2021-01-26 17:51:30 +03:00
vdimir
bcae07128a
Merge pull request #19530 from taiyang-li/length_for_map
enable length for map, which returns keys number in map
2021-01-26 16:21:21 +03:00
vdimir
a4643bcff2
Whitespace fixes 2021-01-26 16:19:13 +03:00
feng lv
35125c1b33 rewrite 2021-01-26 11:26:15 +00:00
Nikolai Kochetov
d821cf11f8 Fix function neighbor for LowCardinality argument. 2021-01-26 13:31:29 +03:00
Maksim Kita
463a48dfe3
Merge pull request #19533 from kitaisreal/multi-if-constant-result-support
Function multiIf constant result support
2021-01-26 12:44:23 +03:00
Azat Khuzhin
27a5794795 Fix UBsan report in lcm()/gcd()
Changelog:
- Check against INT64_MIN/INT64_MAX
- Check against std::numeric_limits<>::min/max
- Move common code into separate header - GCDLCMImpl.h
- Forbid floats

UBsan report [1].

  [1]: https://clickhouse-test-reports.s3.yandex.net/19466/cb30a02540a0f223df6668c5f88ff84aa666ff54/fuzzer_ubsan/report.html#fail1
2021-01-26 08:33:49 +03:00
bharatnc
db8975c38f remove redundant strcpy call 2021-01-25 17:38:55 -08:00
bharatnc
fc8e22075e refactor code to not use strings 2021-01-25 17:38:55 -08:00
bharatnc
7abedaeaa0 simplify logic flow 2021-01-25 17:38:55 -08:00
bharatnc
562d01e8d8 fix code and rebase 2021-01-25 17:38:55 -08:00
bharatnc
9152a7a4be init - make toIPv6 parse IPv4 addresses 2021-01-25 17:38:55 -08:00
Anton Popov
f203a33a8f
Merge pull request #19515 from hexiaoting/map_functions_fix
Bug fix : support const column processing in mapContains, mapKeys, mapValues functions
2021-01-25 17:30:59 +03:00
dankondr
fb268ec339 Add toMinute MySQL compatibility alias 2021-01-25 16:35:58 +03:00
dankondr
23e86a57d8 Add toSecond MySQL compatibility alias 2021-01-25 16:26:38 +03:00
dankondr
8ca52f9894 Add toQuarter MySQL compatibility alias 2021-01-25 16:24:06 +03:00
dankondr
f49c8779a8 Add repeat MySQL compatibility alias 2021-01-25 16:20:40 +03:00
dankondr
d7c5dd3767 Add toYear MySQL compatibility alias 2021-01-25 16:00:11 +03:00
dankondr
8f115f2923 Add toMonth MySQL compatibility alias 2021-01-25 15:59:49 +03:00
taiyang-li
586def7fa3 enable empty/notEmpty for map data type 2021-01-25 18:31:39 +08:00
Maksim Kita
ec5d541a66 Fixed style issues 2021-01-25 11:08:10 +03:00
alexey-milovidov
ba3e064a63
Merge pull request #19371 from kssenii/test-coverage-with-factories
test coverage with factories
2021-01-25 07:11:09 +03:00
Maksim Kita
dac6cceac1 Function multiIf constant result support 2021-01-25 00:35:49 +03:00
alexey-milovidov
77af612bc5
Merge pull request #19466 from azat/UBsan-report-fixes
UBsan report fixes (arraySlice, addMinutes/addHours/addWeeks/addDays, sumWithOverflow(Decimal))
2021-01-24 22:27:15 +03:00
taiyang-li
f51c3ee9a3 enable length for map, which returns keys number in map 2021-01-24 22:54:08 +08:00
feng lv
fdc6abaaa1 fix 2021-01-24 09:30:25 +00:00
feng lv
667119918e add sign math function 2021-01-24 05:18:59 +00:00
hexiaoting
0f05b0ac9a Add Const column test cases for mapContains/Keys/Values 2021-01-23 22:53:08 +08:00
hexiaoting
143b84240e Add const column test case for mapKeys and mapValues 2021-01-23 22:48:14 +08:00
keenwolf
c56750c9ce Remove ErrorCodes unused 2021-01-23 21:43:27 +08:00
kssenii
a98c6d333c Make sure not to log non-existent objects 2021-01-23 12:05:37 +00:00
alexey-milovidov
c3fc1d83dc
Merge branch 'master' into aes-fix-strange-code 2021-01-23 12:14:17 +03:00
alexey-milovidov
4fdb86cccf
Merge pull request #19467 from ClickHouse/aes-remove-complications
Remove complications from FunctionsAES
2021-01-23 12:04:16 +03:00
alexey-milovidov
40c9b0ae1b
Merge pull request #19461 from ClickHouse/great-circle-distance-ubsan
Avoid UBSan report in greatCircleDistance
2021-01-23 12:03:02 +03:00
alexey-milovidov
bbaa0786d9
Merge pull request #19460 from ClickHouse/running-difference-ubsan
Fix UBSan report in runningDifference
2021-01-23 12:02:48 +03:00
alexey-milovidov
474ff29ded
Merge pull request #19459 from ClickHouse/array-slice-ubsan
Fix UBSan report in arraySlice and substring
2021-01-23 12:02:34 +03:00
keenwolf
1543829259 Clean some comments 2021-01-23 16:53:43 +08:00
Maksim Kita
f5deb6d523
Merge pull request #19354 from kitaisreal/accurate-cast-or-null-fixed-unitialized-values
Function accurateCastOrNull fixed unitialized values for numeric cast
2021-01-23 10:58:52 +03:00
Azat Khuzhin
86ead0f0a9 Suppress UBsan for addMinutes/addHours/addWeeks with inf
https://clickhouse-test-reports.s3.yandex.net/19466/bb6f775b89da564cff9892a2443332a758e884c0/fuzzer_ubsan/report.html#fail1
2021-01-23 08:31:20 +03:00
alexey-milovidov
feebf64cb1
Merge pull request #19397 from ClickHouse/aes-msan
Fix MSan report in AES functions
2021-01-23 04:47:36 +03:00
Alexey Milovidov
9a28823041 Additions 2021-01-23 03:14:16 +03:00
Alexey Milovidov
f7db6e10d3 Fix very strange code in AES functions 2021-01-23 02:35:40 +03:00
Alexey Milovidov
bbe3c54f34 Merge branch 'aes-msan' into aes-remove-complications 2021-01-23 00:48:45 +03:00
Alexey Milovidov
9ee9d7293a Remove complications from FunctionsAES 2021-01-23 00:48:03 +03:00
Azat Khuzhin
bb6f775b89 Fix UBsan report in arraySlice (with INT64_MIN as offset)
- arraySlice([], INT64_MIN) -- FunctionArraySlice::executeImpl

Found with fuzzer [1].

  [1]: https://clickhouse-test-reports.s3.yandex.net/19378/2c42600cf9bd8e9962b5b5a0ebb4bf11a10887ea/fuzzer_ubsan/report.html#fail1

v2: removed fixes that is already included into #19459
    - arraySlice(groupArray([]), INT64_MIN) -- sliceDynamicOffsetUnbounded
2021-01-23 00:25:50 +03:00
Azat Khuzhin
f2910deec2 Fix UBsan report in date functions
Found with fuzzer [1]:

  [1]: https://clickhouse-test-reports.s3.yandex.net/19381/95c9e57ec13e450ec6535cf723f504a2e68e3e2c/fuzzer_ubsan/report.html#fail1
2021-01-23 00:25:49 +03:00
Alexey Milovidov
0528ca60d6 Avoid UBSan report in greatCircleDistance 2021-01-23 00:03:59 +03:00
Alexey Milovidov
4047542b61 Fix UBSan report in runningDifference 2021-01-22 23:46:51 +03:00
Alexey Milovidov
ae8de8259f Fix UBSan report in substring 2021-01-22 23:40:04 +03:00
Alexey Milovidov
fb71a0704e Fix UBSan report in arraySlice 2021-01-22 23:35:16 +03:00
alexey-milovidov
3431e39587
Merge pull request #19393 from ClickHouse/extract-all-groups-fail-fast
Fail fast in incorrect usage of extractAllGroups
2021-01-22 17:24:13 +03:00
Maksim Kita
d712748304 Function accurateCastOrNull fixed unitialized values for numeric cast 2021-01-22 16:24:51 +03:00
kssenii
6dc32ae4cb More correct for functions and aggr. functions 2021-01-22 11:58:29 +00:00
Alexander Kuzmenkov
8b9105bf39
Merge pull request #18446 from azat/constant-folding
Fix constant folding when the result is unknown
2021-01-22 13:26:24 +03:00
Nikolai Kochetov
90e9c63fa4
Merge pull request #19316 from ClickHouse/fix-now64
Refactor now64
2021-01-22 13:21:16 +03:00
kssenii
bb91005356 Fix failing stateless test 2021-01-22 09:02:58 +00:00
keenwolf
8461e89645 Remove getArgumentsThatAreAlwaysConstant, also add 2 testcases 2021-01-22 11:43:31 +08:00
Alexey Milovidov
56d09886e2 Fix MSan report in AES functions 2021-01-22 04:08:10 +03:00
Alexey Milovidov
e38ff3517d Fail fast in incorrect usage of extractAllGroups 2021-01-22 02:48:26 +03:00
dankondr
970c75860c Revert "Make extract case insensitive"
This reverts commit c409508f
2021-01-22 02:36:37 +03:00
dankondr
bc52fe2cff Revert "Make in case insensitive"
This reverts commit df50b931
2021-01-22 02:32:56 +03:00
dankondr
41d75249a2 Add IP num/string conversions MySQL compatibility alias
Functions:
- FunctionIPv6NumToString
- FunctionIPv6StringToNum
- FunctionIPv4NumToString
- FunctionIPv4StringToNum
2021-01-22 00:19:14 +03:00
kssenii
daab2c91bb Better 2021-01-21 21:15:11 +00:00
dankondr
89b394ea57 Add toDate MySQL compatibility alias 2021-01-22 00:02:35 +03:00
dankondr
e066add261 Add toDayOfMonth MySQL compatibility alias 2021-01-21 23:49:06 +03:00
dankondr
27bf42b67f Add toDayOfWeek MySQL compatibility alias 2021-01-21 23:46:00 +03:00