Commit Graph

880 Commits

Author SHA1 Message Date
Alexey Milovidov
9753ddc8a0 Merge branch 'master' of github.com:yandex/ClickHouse into normalize-bigint 2021-05-09 18:54:29 +03:00
Alexey Milovidov
3b2f897f3a Fix UBSan 2021-05-09 02:25:36 +03:00
Alexey Milovidov
037d06bb2a Fix warnings by PVS-Studio 2021-05-08 23:50:12 +03:00
Alexey Milovidov
0af587a346 Fix warnings by PVS-Studio in some third-party code 2021-05-08 22:31:11 +03:00
Alexey Milovidov
604daa9581 Fix a bunch of warnings from PVS-Studio 2021-05-08 19:09:17 +03:00
Alexey Milovidov
9e1a5f41fc A bunch of changes for PVS-Studio 2021-05-08 17:43:03 +03:00
Alexey Milovidov
e9c7aa5ab5 Remove some code 2021-05-08 17:12:26 +03:00
divanorama
b6ea00cf29
Update glibc_compatibility check: ARCH_ARM -> ARCH_AARCH64 2021-05-08 14:24:04 +02:00
Alexey Milovidov
597dcc3e59 Remove packed 2021-05-08 03:06:35 +03:00
Alexey Milovidov
74e2d61207 Fix typo 2021-05-08 03:05:12 +03:00
Alexey Milovidov
d0f1931ecc Fix ugly typo 2021-05-08 01:22:07 +03:00
Alexey Milovidov
690b2d74fd Fix gcc build 2021-05-08 01:18:42 +03:00
Alexey Milovidov
8334d8aac1 Speedup division 2021-05-08 01:07:57 +03:00
Alexey Milovidov
ca18f8bef1 Fix division of big integers; add a test 2021-05-08 00:47:23 +03:00
Alexey Milovidov
7443e660ea Remove unused headers 2021-05-07 20:13:00 +03:00
Alexey Milovidov
9db3cd57bb Supposedly fix error with shifts; add a test 2021-05-07 20:12:14 +03:00
Alexey Milovidov
1a746f124f Style 2021-05-07 04:48:23 +03:00
Alexey Milovidov
7d93734f54 gcd and lcm for big integers 2021-05-07 03:00:26 +03:00
Alexey Milovidov
0e39d3a589 Fix error 2021-05-07 00:04:47 +03:00
Alexey Milovidov
f5011094c3 Little better 2021-05-06 19:53:22 +03:00
Alexey Milovidov
5025ac7147 Minor edits 2021-05-06 19:35:08 +03:00
Alexey Milovidov
29f1a87016 Simplification 2021-05-06 19:16:31 +03:00
Alexey Milovidov
9f379918ea Fix error in wide_integer implementation 2021-05-06 03:06:24 +03:00
Alexey Milovidov
1ec524d7c8 Add more tests 2021-05-06 00:20:55 +03:00
Alexey Milovidov
113424d78e Fixed error; add a test 2021-05-05 23:56:44 +03:00
Alexey Milovidov
fd4f214e43 Fix error 2021-05-05 23:04:15 +03:00
Alexey Milovidov
8940677bf2 Fix wrong code (amend) 2021-05-05 20:25:53 +03:00
Alexey Milovidov
f7114fddf6 Fix error in wide integer <-> integer conversions 2021-05-05 14:53:40 +03:00
Alexey Milovidov
e4e2bacf70 Fix error 2021-05-05 14:16:06 +03:00
Alexey Milovidov
75feb0c599 Fix clang-tidy 2021-05-05 13:37:14 +03:00
Alexey Milovidov
71a34ab098 Fix clang-tidy 2021-05-05 13:36:54 +03:00
Alexey Milovidov
54fb40c041 Fix OpenTelemetry 2021-05-05 01:42:14 +03:00
Alexey Milovidov
d585cfbe46 Addition to Remove unused obsolete code 2021-05-04 22:59:31 +03:00
Alexey Milovidov
c4723c0a4c Remove unused obsolete code 2021-05-04 22:59:30 +03:00
Alexey Milovidov
9c9ee30484 Addition to Remove unused obsolete code 2021-05-04 22:58:34 +03:00
Alexey Milovidov
617a58b857 Remove unused obsolete code 2021-05-04 20:43:23 +03:00
Alexey Milovidov
86169cc36e Merge branch 'master' into normalize-bigint 2021-05-04 14:53:42 +03:00
Alexey Milovidov
43bd37b6cc Fix style 2021-05-04 02:46:11 +03:00
Alexey Milovidov
02ce9cc725 Untangle UUID 2021-05-04 01:46:51 +03:00
Alexey Milovidov
2375b0503f Add comment 2021-05-03 23:08:56 +03:00
Alexey Milovidov
0677787d90 Fix abysmally low performance 2021-05-03 22:56:40 +03:00
Mikhail Filimonov
25b9d26a47
Allow main log channel to be less verbose than other log channels 2021-05-03 18:29:50 +02:00
filimonov
557afc86f4
Ability to configure the log level for every log channel (main log, error log, stdout, syslog) individually. 2021-05-03 15:29:54 +02:00
Alexey Milovidov
eaa8f922b2 Fix errors, add a test 2021-05-03 00:52:59 +03:00
Azat Khuzhin
5ff78fb297 replxx readline compatibility
- By default M-BACKSPACE is KILL_TO_WHITESPACE_ON_LEFT, while in
  readline it is backward-kill-word, so use KILL_TO_BEGINING_OF_WORD
  instead.
- By default C-w is KILL_TO_BEGINING_OF_WORD, while in readline it is
  unix-word-rubout, so use KILL_TO_WHITESPACE_ON_LEFT instead.
2021-05-02 23:26:42 +03:00
Alexey Milovidov
1fda866881 Merge branch 'master' into normalize-bigint 2021-05-02 21:24:45 +03:00
alexey-milovidov
37f44ca7e8
Merge pull request #23776 from ClickHouse/pvs-workaround
Workaround for PVS-Studio
2021-05-01 11:58:50 +03:00
Maksim Kita
9c808c4944
Merge pull request #23786 from kitaisreal/add-examples-folder-filter-to-ya-make-in
Add examples folder filter to ya.make.in
2021-04-30 15:27:54 +03:00
alexey-milovidov
dd31634ba4
Merge pull request #23746 from oxidecomputer/master
Adds support for building on Solaris-derived systems
2021-04-30 13:15:52 +03:00
Maksim Kita
318c4bb80d Add examples folder filter to ya.make.in 2021-04-30 11:25:52 +03:00
Alexey Milovidov
631711194b Workaround for PVS-Studio 2021-04-29 22:51:59 +03:00
Benjamin Naecker
7b085abdb1 fixes typo in pcg_detail namespace 2021-04-29 11:07:25 -07:00
Maksim Kita
0d0a14a925 Poco::Timespan reference fix 2021-04-29 19:11:20 +03:00
Benjamin Naecker
57fd59b73b Adds support for building on Solaris-derived systems
This commit adds a number of changes to platform-detection and
compile-time directives required to support building ClickHouse on
Solaris-derived systems, most notably illumos.
2021-04-28 16:32:41 -07:00
Alexey Milovidov
649550c5ab Attempt to normalize big integers 2021-04-25 12:30:43 +03:00
Alexey Milovidov
8f01af62d9 Merge branch 'master' into normalize-bigint 2021-04-25 06:57:44 +03:00
Alexey Milovidov
4ff812db7f Maybe better support for paths with whitespaces 2021-04-24 22:47:52 +03:00
tavplubix
bef0ab182e
Merge branch 'master' into fix_prewhere_in_materialize_mysql 2021-04-20 15:38:48 +03:00
Azat Khuzhin
2561a67fd8 Replace !__clang__ with !defined(__clang) to fix gcc builds
$ gg 'if !__clang__' | cut -d: -f1 | sort -u | xargs sed -i 's/#if !__clang__/#if !defined(__clang__)/g'
2021-04-18 23:37:50 +03:00
Alexander Tokmakov
3b4bd18809 fix prewhere in materialize mysql 2021-04-16 18:51:27 +03:00
changvvb
4eee2d0977 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into support-apple-m1 2021-04-15 22:54:26 +08:00
Azat Khuzhin
8ccc61b3bf Block all memory tracking limits in SCOPE_EXIT_*SAFE 2021-04-14 23:38:41 +03:00
Maksim Kita
0cfe018fd4 Moved BorrowedObjectPool to common 2021-04-13 23:15:22 +03:00
Ivan
495c6e03aa
Replace all Context references with std::weak_ptr (#22297)
* Replace all Context references with std::weak_ptr

* Fix shared context captured by value

* Fix build

* Fix Context with named sessions

* Fix copy context

* Fix gcc build

* Merge with master and fix build

* Fix gcc-9 build
2021-04-11 02:33:54 +03:00
changvvb
03a2ba315b Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into support-apple-m1 2021-04-10 21:31:38 +08:00
Denis Glazachev
e8464d61f1 Fix vanilla GCC compilation in macOS 2021-04-09 04:28:24 +04:00
changvvb
b070090ca7 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into support-apple-m1 2021-04-08 18:11:16 +08:00
Azat Khuzhin
9394e6e5ed Add SCOPE_EXIT_SAFE/SCOPE_EXIT_MEMORY_SAFE helpers 2021-04-06 21:10:37 +03:00
alesapin
86a843bb51
Merge pull request #21509 from kssenii/library-bridge
clickhouse-library-bridge for library dictionary source
2021-04-06 12:26:08 +03:00
changvvb
1f8bd034a3 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into support-apple-m1 2021-04-06 15:55:03 +08:00
kssenii
9dba529494 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into library-bridge 2021-04-05 13:14:51 +00:00
kssenii
99f0b08ac3 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into replicas-shards-for-mysql-and-postgres 2021-04-01 13:48:33 +00:00
kssenii
2c70183652 Fix settings 2021-04-01 11:41:22 +00:00
kssenii
747967a9bb Better 2021-04-01 10:27:24 +00:00
Alexey Milovidov
7589a014f9 Better fix 2021-04-01 03:44:02 +03:00
kssenii
4e849f3b77 Less logging 2021-03-31 14:06:24 +00:00
kssenii
ba5ddd5c32 Do not parse replicas in PoolWithFailover 2021-03-31 14:03:52 +00:00
kssenii
ce05087b1b Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into replicas-shards-for-mysql-and-postgres 2021-03-30 17:27:10 +00:00
Alexey Milovidov
de3b452d7a Remove useless code from setTerminalEcho #20334 2021-03-30 00:39:38 +03:00
Alexey Milovidov
b005081103 Update libdivide to the latest master (2) 2021-03-30 00:37:27 +03:00
Maksim Kita
6fb444f732
Merge pull request #20184 from nvartolomei/nv/macos-shared
Fix macOS shared lib build
2021-03-29 18:25:43 +03:00
Alexey Milovidov
7fcae60466 Merge branch 'master' into to-start-of-interval-hour-align 2021-03-29 05:42:00 +03:00
kssenii
d409f089fc Fix split build 2021-03-28 14:56:02 +00:00
kssenii
1bd1a705ce Fix clang tidy 2021-03-28 12:45:49 +00:00
kssenii
0a66f11f69 Fix style, fix build 2021-03-28 10:27:37 +00:00
kssenii
c17748a0ba Add proper settings 2021-03-27 21:57:35 +00:00
kssenii
ef537b802f Better comments 2021-03-27 21:10:44 +00:00
kssenii
95e8a8b9f0 Support shards 2021-03-27 14:40:07 +00:00
kssenii
ae868208c2 Use pool with failover in mysql storage 2021-03-27 14:39:45 +00:00
changvvb
5e07551d17 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into support-apple-m1 2021-03-26 16:57:26 +08:00
Alexey Milovidov
ea3cf5c0a7 Fix typo 2021-03-24 22:48:39 +03:00
Alexey Milovidov
b610afe771 Another fix 2021-03-24 22:40:45 +03:00
Alexey Milovidov
5a2f2e0cc8 Change behaviour of toStartOfInterval in backward incompatible way 2021-03-24 01:53:19 +03:00
kssenii
50ae954a85 Fix 2021-03-23 05:48:21 +00:00
Alexey Milovidov
3952a8e976 Fix UBSan report in addMonths 2021-03-22 23:42:09 +03:00
changvvb
b4e92f6b12 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into support-apple-m1 2021-03-19 13:52:09 +08:00
kssenii
34dea63248 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into library-bridge 2021-03-17 13:32:43 +00:00
alexey-milovidov
d02726bcac
Merge pull request #9404 from Enmk/DateTime64_extended_range
Date time64 extended range
2021-03-17 11:06:03 +03:00
Alexey Milovidov
de091114f3 Fix UBSan report 2021-03-16 15:22:52 +03:00
Alexey Milovidov
eadf0248d0 Build fixes 2021-03-16 14:07:53 +03:00
changvvb
bba600d558 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into support-apple-m1 2021-03-16 13:26:00 +08:00
Alexey Milovidov
c1a2745bfb Add one more variant to memcpy benchmark 2021-03-16 00:04:03 +03:00
Alexey Milovidov
f48bf2aaba Fix issue 2021-03-15 23:29:35 +03:00
Alexey Milovidov
671395e8c8 Most likely improve performance 2021-03-15 22:23:27 +03:00
Alexey Milovidov
845f4afbf4 Fix parsing of pre-epoch time 2021-03-15 21:09:05 +03:00
Alexey Milovidov
badd5165da Fix UBSan report in rounding to years intervals 2021-03-15 20:36:49 +03:00
kssenii
8688ae9346 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into library-bridge 2021-03-14 19:32:21 +00:00
alexey-milovidov
53e21443eb
Merge branch 'master' into DateTime64_extended_range 2021-03-14 12:27:17 +03:00
Alexey Milovidov
1606c7e3f3 Fix typo 2021-03-14 12:24:17 +03:00
Alexey Milovidov
bab924620a Add comments and documentation 2021-03-14 00:53:00 +03:00
Alexey Milovidov
a1ebd52d09 Add comments and documentation 2021-03-14 00:51:13 +03:00
Alexey Milovidov
32e66baa0a Add comments and documentation 2021-03-14 00:48:44 +03:00
Alexey Milovidov
b4cae2c858 Add TODO 2021-03-14 00:48:08 +03:00
Alexey Milovidov
36a41220d3 Add comments and documentation 2021-03-14 00:46:47 +03:00
Alexey Milovidov
37cc2fe977 Use custom memcpy only for AArch64 2021-03-13 22:39:10 +03:00
Alexey Milovidov
a446612e8a Remove currently unused code 2021-03-13 10:39:43 +03:00
Alexey Milovidov
6d91881f6a Remove currently unused code 2021-03-13 10:38:35 +03:00
Alexey Milovidov
e8919c49fb Merge branch 'master' into replace-memcpy 2021-03-13 09:39:58 +03:00
kssenii
5d953a4b86 Better 2021-03-12 21:48:52 +00:00
kssenii
323fb54a8e Fix split build finally 2021-03-12 21:12:34 +00:00
Nikita Mikhaylov
e234990cf6
Merge pull request #19257 from nikitamikhaylov/geometry_functions
Merging geometry functions
2021-03-12 17:05:24 +03:00
changvvb
fcb238715b Support apple m1 2021-03-12 01:12:52 +08:00
Nikita Mikhailov
e78fc3109c better ubsan testing 2021-03-11 15:08:18 +03:00
Yatsishin Ilya
abbf4b01c2 Merge remote-tracking branch 'origin/master' into fixes-clang-12-cmake-3.19 2021-03-11 09:44:30 +03:00
Yatsishin Ilya
c2760f6388 readpassphrase mute recursion in macro expansion 2021-03-10 18:05:24 +03:00
Yatsishin Ilya
7b69ef92be gcc old cast check failed 2021-03-10 18:04:34 +03:00
Yatsishin Ilya
eb0e972620 implicit cast to disable warning 2021-03-10 12:01:03 +03:00
Alexey Milovidov
8619665ef2 Remove AVX 2021-03-10 10:04:33 +03:00
Yatsishin Ilya
71d745b4ec implicit const conversion 2021-03-09 17:31:54 +03:00
Alexey Milovidov
7664a3d53e Fix MSan 2021-03-09 01:29:32 +03:00
Alexey Milovidov
e02de2355e Remove useless files 2021-03-08 13:22:17 +03:00
Alexey Milovidov
3fb5b247ed Evaluate another memcpy 2021-03-08 13:19:25 +03:00
Alexey Milovidov
f0342eda9c Add experimental memcpy implementation 2021-03-08 13:05:18 +03:00
Alexey Milovidov
da32a617b2 Merge branch 'jart-memcpy' into replace-memcpy 2021-03-08 12:15:49 +03:00
Alexey Milovidov
2c86bc4ea3 Addition to prev. revision 2021-03-08 10:00:54 +03:00
Alexey Milovidov
1200d9d9c5 Range checks and monotonicity 2021-03-07 10:10:37 +03:00
Alexey Milovidov
7052ecd446 Fix error 2021-03-07 09:30:52 +03:00
Alexey Milovidov
1bb62f578b Unit tests passing 2021-03-07 04:10:38 +03:00
Alexey Milovidov
8271cec093 Fix error 2021-03-07 02:36:24 +03:00
Alexey Milovidov
d406999e8f Remove debug output 2021-03-07 01:36:48 +03:00
Alexey Milovidov
0dbadc8d8e Fix error 2021-03-07 01:35:23 +03:00
Alexey Milovidov
8d5d1b76fb Fix error 2021-03-07 00:36:29 +03:00
Alexey Milovidov
d276fac135 Support negative time_t in more functions 2021-03-05 05:04:23 +03:00
Alexey Milovidov
738d106874 Support negative time_t in more functions 2021-03-05 05:03:55 +03:00
Alexey Milovidov
ecee81b714 Fix clang-tidy 2021-03-05 04:50:16 +03:00
Alexey Milovidov
790aa8697c Fix typos 2021-03-05 04:47:50 +03:00
Alexey Milovidov
1722978c2b Comments and corrections 2021-03-05 04:45:12 +03:00
Alexey Milovidov
7cc471f9b9 Simplify code 2021-03-05 04:22:12 +03:00
Haavard Kvaalen
efa94c5735 Fix use after free in mysqlxx::Pool::tryGet()
tryGet() created an Entry object that referenced a Connection, but then
deleted the Connection just before the Entry went out of scope.
2021-03-04 16:51:27 +01:00
Alexey Milovidov
ed492ccf5d Fix Africa/Juba 2021-03-04 05:36:36 +03:00
Alexey Milovidov
b9a8509f79 Adjustments 2021-03-04 05:18:17 +03:00
Alexey Milovidov
31010624d6 Attempt to simplify code 2021-03-04 03:35:23 +03:00
Alexey Milovidov
4f08539754 Remove strange code 2021-03-04 03:01:08 +03:00
Alexey Milovidov
1096fc328a Make some tests automated 2021-03-04 02:11:27 +03:00
Alexey Milovidov
ffc39574f1 Removed very old example (for jemalloc performance regression) 2021-03-04 02:04:01 +03:00
Alexey Milovidov
2632b568ae Move tests to appropriate place 2021-03-04 01:34:30 +03:00
Alexey Milovidov
51d51e4748 Return private 2021-03-04 00:44:58 +03:00
Alexey Milovidov
fdc00beb77 Whitespaces 2021-03-03 23:56:59 +03:00
Alexey Milovidov
6f5877abdf Fix build after merge with master 2021-03-03 23:53:52 +03:00
Alexey Milovidov
4e8239e098 Merge branch 'master' into DateTime64_extended_range 2021-03-03 23:43:20 +03:00
Alexey Milovidov
b1b3db09d7 Remove commented out code 2021-03-03 23:34:15 +03:00
Alexey Milovidov
ed0099a113 Maybe unused condition 2021-03-03 23:24:56 +03:00
Alexey Milovidov
aaef0c5ebd Fix build 2021-03-03 23:19:26 +03:00
Alexey Milovidov
cf0912ba02 Remove unused field 2021-03-03 23:14:33 +03:00
alexey-milovidov
3e19f4a00f
Update DateLUTImpl.h 2021-03-03 23:09:59 +03:00
alexey-milovidov
0889e0da87
Update DateLUTImpl.h 2021-03-03 22:52:07 +03:00
alexey-milovidov
2f23f1b123
Update DateLUTImpl.h 2021-03-03 22:49:20 +03:00
alexey-milovidov
80c17d5537
Update DateLUTImpl.cpp 2021-03-03 22:41:10 +03:00
alexey-milovidov
e412bcb490
Update DateLUTImpl.cpp 2021-03-03 22:30:12 +03:00
alexey-milovidov
04672a4365
Update DateLUTImpl.cpp 2021-03-03 22:29:26 +03:00
Alexey Milovidov
aecdadd02e Add missing files 2021-03-03 02:33:17 +03:00
Alexey Milovidov
d1b3258ae7 Try without AVX 2021-03-03 00:16:34 +03:00
Alexey Milovidov
50c62c3b4c Add memcpy implementation from @jart 2021-03-02 22:12:30 +03:00
alexey-milovidov
3bd180c416
Merge pull request #20149 from keen-wolf/timezone_about
fix toMinute function to handle special timezone
2021-02-28 21:53:51 +03:00
keenwolf
303c389b36 change the time_t to unsigned to handle properly the start date of 1970-01-01 2021-02-28 18:11:54 +08:00
Alexander Kazakov
63b95c7451
MySQL dictionary source: A mechanism for retrying unexpected connection loss during communication with mysql server (#21237)
* Added a new type of Exception

for better recognition of connection failures

* Added more logging for mysql communication

* Retries on connection loss during query.

Make MySQL dictionary source resilient to unexpected loss of connection
during querying MySQL. This behavior is controlled with
".fail_on_connection_loss" config parameter, which defaults to false.

* Stripped some debugging leftover garbage

* Minor followup corrections

* Corrections after PR comments

* Yet more fixes
2021-02-27 11:18:28 +03:00
Alexander Kazakov
66f603512c
A followup correction to #19998 (#21221) 2021-02-26 11:42:37 +03:00
Alexander Kazakov
4bcaed98d8
Added "opt_reconnect" parameter to config for controlling MYSQL_OPT_RECONNECT option (#19998)
* Support for MYSQL_OPT_RECONNECT option

It can now be controlled by .opt_reconnect = {true|false} parameter in
the mysql replica config section
2021-02-26 09:49:49 +03:00
Maksim Kita
63173eebdb
Merge pull request #21088 from azat/__has_feature-gcc-fix
Fix __has_feature macros under gcc
2021-02-25 18:34:14 +03:00
Nikolai Kochetov
3cda69feaf
Merge pull request #20632 from ClickHouse/akz/mysqlxx-randomize-replicas
mysqlxx::PoolWithFailover: Randomize list of same-priority replicas
2021-02-25 13:11:41 +03:00
alexey-milovidov
d5757c67e6 Update DateLUTImpl.h 2021-02-24 17:09:27 +02:00
alexey-milovidov
b8b916008c Update DateLUTImpl.h 2021-02-24 17:09:27 +02:00
Vasily Nemkov
d321c13cbf Fixed special build 2021-02-24 17:08:43 +02:00
Vasily Nemkov
7a53daaefd Fixed issues reported by PVS-Studio and Clang11/GCC10 2021-02-24 17:08:43 +02:00
Vasily Nemkov
4fcc23ec9a Fixed build for GCC-10 2021-02-24 17:08:43 +02:00
Vasily Nemkov
2d03d330bc Extended range of DateTime64 to years 1925 - 2238
The Year 1925 is a starting point because most of the timezones
switched to saner (mostly 15-minutes based) offsets somewhere
during 1924 or before. And that significantly simplifies implementation.

2238 is to simplify arithmetics for sanitizing LUT index access;
there are less than 0x1ffff days from 1925.

* Extended DateLUTImpl internal LUT to 0x1ffff items, some of which
  represent negative (pre-1970) time values.
  As a collateral benefit, Date now correctly supports dates up to 2149
  (instead of 2106).
* Added a new strong typedef ExtendedDayNum, which represents dates
  pre-1970 and post 2149.
* Functions that used to return DayNum now return ExtendedDayNum.
* Refactored DateLUTImpl to untie DayNum from the dual role of being
  a value and an index (due to negative time). Index is now a different
  type LUTIndex with explicit conversion functions from DatNum, time_t,
  and ExtendedDayNum.
* Updated DateLUTImpl to properly support values close to epoch start
  (1970-01-01 00:00), including negative ones.
* Reduced resolution of DateLUTImpl::Values::time_at_offset_change
  to multiple of 15-minutes to allow storing 64-bits of time_t in
  DateLUTImpl::Value while keeping same size.
* Minor performance updates to DateLUTImpl when building month LUT
  by skipping non-start-of-month days.
* Fixed extractTimeZoneFromFunctionArguments to work correctly
  with DateTime64.
* New unit-tests and stateless integration tests for both DateTime
  and DateTime64.
2021-02-24 17:08:35 +02:00
Alexander Kazakov
196d454114 Initialize random engine with clock and thread_id
Thread-safe and fairly descent approach in our case
2021-02-24 14:55:16 +03:00
Alexander Kazakov
deb566a40b Resorted from std::random_device to std::rand() 2021-02-24 11:48:04 +03:00
Azat Khuzhin
810023a65c Do not undefine __has_feature (may break c++ headers)
If the order of <common/defines.h> and c++ header will be wrong the
compilation will be broken.

v2: rename __ch_has_feature to ch_has_feature to fix -Wreserved-id-macro
v3: do not fallback to 0
2021-02-23 19:46:47 +03:00
Azat Khuzhin
8ab578065a Fix __has_feature macros under gcc
__has_feature supported only by clang.

But libcxx/libcxxabi overrides it to 0:

    $ fgrep -r 'define __has_feature' contrib/libcxx*
    contrib/libcxx/include/__config:#define __has_feature(__x) 0
    contrib/libcxxabi/src/demangle/DemangleConfig.h:#define __has_feature(x) 0

Thus the checks for __has_feature will be wrong, undefine it again to
avoid such issues.

This will also fix building with sanitizers under gcc (before this patch
BOOST_USE_UCONTEXT wasn't set for sanitizers).
2021-02-23 19:39:34 +03:00
Alexey Milovidov
d2a9e5842a Fix wrong formatting of overflowed DateTime64 2021-02-21 21:01:46 +03:00
Alexey Milovidov
9cb972e9ed Fix UBSan report in Decimal arithmetic #19432 2021-02-21 13:23:18 +03:00
alexey-milovidov
e8583ddfe2
Update BaseDaemon.cpp 2021-02-20 09:10:15 +03:00
Azat Khuzhin
7474a7e3ca Increase buffer for uncaught exception / std::terminate
Use PIPE_BUF over some magic number 1024 in terminate_handler, since
according to pipe(7):

    PIPE_BUF
           POSIX.1  says  that  write(2)s of less than PIPE_BUF bytes must be atomic

Also note that 1024, is too small, especially for C++ stacktraces (and
especially for debug builds, that contains lots of non-inlined helpers
for various ptrs).
2021-02-19 22:45:06 +03:00
Ivan
414f470c79
Make Poco HTTP Server zero-copy again (#19516)
* Refactoring: part 1

* Refactoring: part 2

* Handle request using ReadBuffer interface

* Struggles with ReadBuffer's

* Fix URI parsing

* Implement parsing of multipart/form-data

* Check HTTP_LENGTH_REQUIRED before eof() or will hang

* Fix HTTPChunkedReadBuffer

* Fix build and style

* Fix test

* Resist double-eof

* Fix arcadian build
2021-02-19 15:51:26 +03:00
Alexander Kazakov
0296d7d026 Added some explanations on randomization 2021-02-17 21:51:05 +03:00
Alexander Kazakov
acb5fb8179 Randomly shuffle replicas withing the same priority 2021-02-17 20:58:04 +03:00
alexey-milovidov
bde4da0ff0
Merge pull request #20465 from azat/write-abnormal-server-termination-fixes
Fix abnormal server terminations due to write failures
2021-02-15 00:05:48 +03:00
Azat Khuzhin
06e8065ee6 Add missing sync of underlying files 2021-02-13 13:19:51 +03:00
Ilya Yatsishin
8ff458a2bf
Merge pull request #20459 from ClickHouse/decimal-comparison-ubsan 2021-02-13 12:34:40 +03:00
Alexey Milovidov
c760d5224d Suppress UBSan report in Decimal comparison 2021-02-13 03:56:38 +03:00
Alexey Milovidov
1546f5bcb9 Suppress UBSan report in Decimal comparison 2021-02-13 03:54:38 +03:00
Alexey Milovidov
edd5844bed Print stack trace on SIGTRAP 2021-02-13 00:29:47 +03:00
alexey-milovidov
4e32dbd024
Merge pull request #19317 from abyss7/dwarf-folly
Print inline frames for fatal stacktraces
2021-02-12 02:38:50 +03:00
Ivan
be831d09f7
Update Pytest check (#18972)
* [WIP]

* Update skip-list

* Update ci_config.json

* Do not sync inserts for test

* Fix more tests

* Fix another test

* Enable one more test

* More fixed tests

* More test fixes

* Do not absolutize server path for now

* More test fixes

* Unset CLICKHOUSE_LOG_COMMENT where necessary

* Remove debugging set -e

* Fix more tests

* Fix test reference

* Fix style check
2021-02-10 21:09:13 +03:00
Ivan Lezhankin
a287443438 Merge remote-tracking branch 'upstream/master' into dwarf-folly 2021-02-08 18:36:41 +03:00
Nicolae Vartolomei
479b45d772 Fix linker flags for shared linking on macOS
This combination now works: `-DUSE_STATIC_LIBRARIES=0 -DSPLIT_SHARED_LIBRARIES=1`.

Without `SPLIT_SHARED_LIBRARIES` it is still failing.
2021-02-07 14:58:52 +00:00
keenwolf
610798aa48 fix the toMinute bug which will cause toDateTime or toString printing wrong time 2021-02-06 15:32:49 +08:00
alexey-milovidov
867f5a8975
Merge pull request #20029 from ClickHouse/remove-useless-code-5
Remove useless code
2021-02-03 21:06:43 +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
Alexey Milovidov
02da869d10 Remove useless code 2021-02-03 12:46:41 +03:00
Alexey Milovidov
940b337eec Remove useless files 2021-02-03 10:03:32 +03:00
Alexey Milovidov
f8592f4539 Remove useless files 2021-02-03 10:03:13 +03:00
Alexey Milovidov
191389d040 Fix some of the issues found by Coverity 2021-02-02 22:08:32 +03:00
Alexey Milovidov
12485eee6b Fix some of the issues found by Coverity 2021-02-02 22:07:23 +03:00
keenwolf
9beb7689cc add comments and update test cases. 2021-02-02 23:35:45 +08:00
keenwolf
d251807ea4 add function timezoneOffset 2021-02-02 11:01:20 +08:00
Alexey Milovidov
7b8589dbde Merge branch 'master' into utf8mb4-in-mysql-client 2021-01-31 01:37:27 +03:00
alexey-milovidov
8d2a169e8d
Merge pull request #19821 from qoega/fix-msan-1
Fix msan warnings in cyrus-sasl and musl
2021-01-30 10:56:12 +03:00
Yatsishin Ilya
f8ae63995e Fix msan warnings 2021-01-29 19:11:50 +03:00
Alexey Milovidov
f7fffe173c Set charset to utf8mb4 in mariadb-connector 2021-01-29 10:57:22 +03:00
Alexey Milovidov
eb0473c3f9 Fix UBSan report in "round" 2021-01-29 04:03:38 +03:00
Ivan
5dfe1c98e2
Update BaseDaemon.cpp 2021-01-27 16:25:46 +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
093108bf81 Normalize BigInt implementation 2021-01-27 03:54:57 +03:00
Alexey Milovidov
f3929b151a Remove even more code 2021-01-26 22:04:03 +03:00
Azat Khuzhin
f4a4d33c2d Suppress UBsan reports in addYears()
https://clickhouse-test-reports.s3.yandex.net/19528/1c364b6ee3a44487529954cf2792e615f7de0f82/fuzzer_ubsan/report.html#fail1
2021-01-26 01:12:40 +03:00
tavplubix
9fc1eba0bc
Update DateLUTImpl.h 2021-01-25 12:40: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
Azat Khuzhin
cb30a02540 Fix UBsan report in addDays(INT64_MAX)
https://clickhouse-test-reports.s3.yandex.net/19466/df53438a66ee95de790b60d35f36eca986590027/fuzzer_ubsan/report.html#fail1
2021-01-24 13:51:05 +03:00
Alexey Milovidov
505898747e Fix buffer overflow in DateLUT 2021-01-23 01:58:41 +03:00
alexey-milovidov
303db08231
Merge pull request #19369 from filimonov/kafka_for_arm64
Kafka for arm64
2021-01-23 01:52:07 +03:00
Mikhail Filimonov
066fbfff0e
librdkafka support for arm64 2021-01-21 16:04:55 +01:00
Alexey Milovidov
4968f1733e Annotations for DateLUT 2021-01-21 15:01:24 +03:00
Alexander Tokmakov
6847fdf772 fix 2021-01-20 14:12:33 +03:00
Ivan Lezhankin
3fb50dfa1b Initial implementation of inline frames 2021-01-19 15:34:27 +03:00
Alexander Tokmakov
e2467427d1 Merge branch 'master' into update_cassandra 2021-01-19 14:10:15 +03:00
Alexey Milovidov
98a8a20b70 Fix MSan error in rocksdb #19213 2021-01-17 21:30:02 +03:00
Alexander Tokmakov
e57e242482 fix 2021-01-16 22:56:07 +03:00
Alexander Tokmakov
ff6c3c75c2 add protection from unsafe allocations 2021-01-12 18:41:24 +03:00
alexey-milovidov
a55260fa5c
Merge pull request #18871 from azat/fix-integrity-check
Fix integrity check
2021-01-08 22:32:39 +03:00
alexey-milovidov
4a54916733
Merge pull request #18858 from ClickHouse/better-strsignal
Import strsignal from Musl
2021-01-08 22:26:00 +03:00
Azat Khuzhin
6dba945a2e untrap setenv() call (used for timezone)
This will also fix integrity check (#18811), the reason it does not pops
up on CI during PR testing because CI does not set
YANDEX_OFFICIAL_BUILD, while it does set it for commits merged into
upstream commits, and hence once it was merged the special build was
failed.

Follow-up for: #16366
2021-01-08 15:26:35 +03:00
Alexey Milovidov
10ea06edad Import strsignal from Musl 2021-01-08 08:09:30 +03:00
alexey-milovidov
98bd7fb653
Merge branch 'master' into better-kill 2021-01-08 07:27:00 +03:00
Alexey Milovidov
32d8785a26 Better kill #18847 2021-01-07 21:36:38 +03:00
Alexey Milovidov
6f481d7512 Add integrity checks for ClickHouse binary 2021-01-07 05:56:57 +03:00
Azat Khuzhin
d7fb61dce4 Use sigdescr_np() over sys_siglist (fixes glibc 2.32+ unbundled build)
glibc 2.32 [1]:

- The functions sigabbrev_np and sigdescr_np have been added
- They should be used instead of sys_siglist or sys_sigabbrev and they
  are both thread and async-signal safe. These functions are GNU
  extensions.

  [1]: https://sourceware.org/pipermail/libc-announce/2020/000029.html
2021-01-06 00:17:25 +03:00
Alexey Milovidov
98687ff8f4 Merge branch 'master' into harmful 2020-12-31 02:25:28 +03:00
Anton Popov
27e8fc0c8d
Merge pull request #18565 from hexiaoting/dev_date
Make Date larger then 2106-02-07 overflow as 0(1970-01-01)
2020-12-30 22:53:25 +03:00