Azat Khuzhin
4f41ebcae3
Add settings (for connections) for MySQL storage engine
...
Default settings are not very efficient, since they do not even reuse
connections.
And when each query requires connection you can have only ~80 QPS, while
by simply enabling connection reuse (connection_auto_close=false) you
can have ~500 QPS (and by increasing connection_pool_size you can have
better QPS throughput).
So this patch allows to pass through some connection related settings
for the StorageMySQL engine, like:
- connection_pool_size=16
- connection_max_tries=3
- connection_auto_close=true
v2: remove connection_pool_default_size
v3: remove num_tries_on_connection_loss
2021-05-20 22:44:52 +03:00
alesapin
83627de2b8
Merge branch 'master' into standalone_keeper
2021-05-15 17:15:06 +03:00
Kruglov Pavel
7b26483080
Rename param
2021-05-13 16:37:44 +03:00
Kruglov Pavel
fb17078af3
Merge branch 'master' into filimonov-logger-levels
2021-05-13 16:10:01 +03:00
alesapin
41eadf9127
Something working
2021-05-12 16:04:34 +03:00
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