Robert Schulze
c16707ff00
chore: delete obsolete modelEvaluate() function + SYSTEM.MODELS view
...
- The deleted function modelEvaluate() was superseded by
catboostEvaluate().
- Also delete the external model repository, as modelEvaluate() was it's
last user. Additionally remove the system view SYSTEM.MODELS for
inspecting the repository.
- SYSTEM RELOAD MODELS is also obsolete. HOWEVER, it was retained and
made a no-op instead of deleted.
Why?
The reason is that RBAC in distributed setups works by storing
privileges (granted and revoked) as plain SQL statements in Keeper.
Nodes read these statements at startup and parse them. If a privilege
for SYSTEM RELOAD MODELS exists but parser doesn't recognize it
nodes would fail to come up.
Considered but rejected alternatives:
- Ignore SYSTEM RELOAD MODELS during parsing RBAC privileges and
return an error for regular SYSTEM RELOAD MODELS SQL. Special-case
of no-op behavior, too brittle.
- Remove SYSTEM RELOAD MODELS manually from Keeper via command-line
manipulation of Keeper nodes or via SQL by dropping the privileges.
Needs user intervention during upgrade.
2022-09-08 09:10:11 +00:00
Robert Schulze
60f9f6855d
feat: implement catboost in library-bridge
...
This commit moves the catboost model evaluation out of the server
process into the library-bridge binary. This serves two goals: On the
one hand, crashes / memory corruptions of the catboost library no longer
affect the server. On the other hand, we can forbid loading dynamic
libraries in the server (catboost was the last consumer of this
functionality), thus improving security.
SQL syntax:
SELECT
catboostEvaluate('/path/to/model.bin', FEAT_1, ..., FEAT_N) > 0 AS prediction,
ACTION AS target
FROM amazon_train
LIMIT 10
Required configuration:
<catboost_lib_path>/path/to/libcatboostmodel.so</catboost_lib_path>
*** Implementation Details ***
The internal protocol between the server and the library-bridge is
simple:
- HTTP GET on path "/extdict_ping":
A ping, used during the handshake to check if the library-bridge runs.
- HTTP POST on path "extdict_request"
(1) Send a "catboost_GetTreeCount" request from the server to the
bridge, containing a library path (e.g /home/user/libcatboost.so) and
a model path (e.g. /home/user/model.bin). Rirst, this unloads the
catboost library handler associated to the model path (if it was
loaded), then loads the catboost library handler associated to the
model path, then executes GetTreeCount() on the library handler and
finally sends the result back to the server. Step (1) is called once
by the server from FunctionCatBoostEvaluate::getReturnTypeImpl(). The
library path handler is unloaded in the beginning because it contains
state which may no longer be valid if the user runs
catboost("/path/to/model.bin", ...) more than once and if "model.bin"
was updated in between.
(2) Send "catboost_Evaluate" from the server to the bridge, containing
the model path and the features to run the interference on. Step (2)
is called multiple times (once per chunk) by the server from function
FunctionCatBoostEvaluate::executeImpl(). The library handler for the
given model path is expected to be already loaded by Step (1).
Fixes #27870
2022-09-08 09:01:32 +00:00
Anton Popov
f0a404e2c8
Merge remote-tracking branch 'upstream/master' into HEAD
2022-09-06 15:51:16 +00:00
Alexey Milovidov
940a53e519
Merge pull request #40984 from Lucky-Chang/typo_fix
...
Fix some typos and clang-tidy warnings
2022-09-06 02:37:50 +03:00
Kruglov Pavel
582216a3ca
Merge pull request #39919 from pzhdfy/UniqSketch
...
UniqThetaSketch support set operation such as union/intersect/not
2022-09-05 13:42:14 +02:00
Luck-Chang
1ac8e739c9
fix some typos and clang-tidy warnings
2022-09-05 09:50:24 +08:00
Roman Vasin
e1833d3cd6
Merge branch 'master' into ADQM-528-B
2022-09-02 10:40:44 +00:00
Antonio Andelic
e64436fef3
Fix typos with new codespell
2022-09-02 08:54:48 +00:00
Fangyuan Deng
bc7d661668
Merge branch 'master' into UniqSketch
2022-09-01 19:31:53 +08:00
pzhdfy
acec516271
add docs
2022-09-01 19:31:01 +08:00
Fangyuan Deng
5c2f35c302
Merge branch 'master' into UniqSketch
2022-08-31 10:23:46 +08:00
Dmitry Novik
003483b616
Add compatibility setting
2022-08-30 20:49:40 +02:00
Cory Levy
cd371110ad
Fix timezone offset formatting
2022-08-29 21:01:27 -04:00
Dmitry Novik
d32492ce8a
Fix GROUPING function SQL compatibility
2022-08-29 18:26:56 +02:00
Cory Levy
d0ace9a8fb
Add the %z format descriptor to formatDateTime
2022-08-28 22:28:11 -04:00
Alexey Milovidov
00074a5e14
Merge pull request #40711 from ClickHouse/all_new_functions_must_be_documented
...
All new functions must be documented
2022-08-28 17:05:05 +03:00
Robert Schulze
df934d8762
Merge pull request #40217 from zvonand/zvonand-minmax
...
Fix conversion Date32 / DateTime64 / Date to narrow types
2022-08-28 09:42:39 +02:00
Alexey Milovidov
1ff535a128
One step back
2022-08-28 02:00:09 +02:00
Alexey Milovidov
8a4bacc4b7
Update example
2022-08-28 00:30:14 +02:00
Alexey Milovidov
6ac9eabbd4
Register more aliases correctly
2022-08-28 00:17:13 +02:00
Alexey Milovidov
a6d99e795e
Register more aliases correctly
2022-08-28 00:14:38 +02:00
Alexey Milovidov
e266688576
Remove something stupid
2022-08-27 23:58:34 +02:00
Alexey Milovidov
421d28542b
Register all function aliases correctly
2022-08-27 23:53:51 +02:00
Alexey Milovidov
6139cc8f7a
Add Documentation to FunctionFactory
2022-08-27 22:06:57 +02:00
Alexey Milovidov
53343e0fc2
Remove accurate_Cast and accurate_CastOrNull, which are unused
2022-08-26 21:27:30 +02:00
Kruglov Pavel
e2e1ca26e9
Merge pull request #40628 from Avogar/fix-to-fixed-string
...
Fix short circuit execution of toFixedString function
2022-08-26 12:26:16 +02:00
Robert Schulze
1c8c83ccf3
Merge pull request #40620 from zvonand/zvonand-b58
...
Base58 fix handling leading 0 / '1'
2022-08-26 10:18:26 +02:00
Alexey Milovidov
fcba079baa
Merge pull request #40572 from Avogar/fix-map-bug
...
Fix possible logical error in arrayElement function with Map
2022-08-25 20:17:22 +03:00
avogar
1844873dbc
Fix short circuit execution of toFixedString function
2022-08-25 16:15:22 +02:00
Roman Vasin
5f33ed711b
Add checkArguments() to IFunctionDateOrDateTime; Move name and getName() to IFunctionDateOrDateTime and IFunctionCustomWeek.h
2022-08-25 12:38:28 +00:00
zvonand
b3360c169d
Fix handling zeros/'1's at the beginning of input
2022-08-25 15:35:39 +03:00
zvonand
23357350d3
Merge branch 'master' of github.com:ClickHouse/ClickHouse into zvonand-minmax
2022-08-25 15:32:04 +03:00
pzhdfy
e85e885d40
add blank line
2022-08-25 18:15:01 +08:00
zvonand
24dfa0c64a
tryfix darwin
2022-08-25 12:28:15 +03:00
Kruglov Pavel
25d7d05148
Merge pull request #40567 from ClickHouse/Avogar-patch-1
...
Better exception messages in FunctionArrayMapped
2022-08-25 11:14:06 +02:00
Roman Vasin
bff61d1081
Add tests for toStartOfWeek(), fix executeImpl for Date32
2022-08-25 08:54:26 +00:00
Roman Vasin
4394929085
Add checkArguments() to IFunctionCustomWeek
2022-08-25 08:30:23 +00:00
Roman Vasin
1285abc195
Add IFunctionCustomWeek and FunctionCustomWeekToDateOrDate32
2022-08-25 08:11:21 +00:00
zvonand
3797e7cfbe
Merge branch 'master' of github.com:ClickHouse/ClickHouse into zvonand-minmax
2022-08-25 01:57:49 +03:00
zvonand
a61fd73c88
fix test fails
2022-08-25 00:26:44 +03:00
zvonand
5c00428940
updated as was before
2022-08-24 19:46:17 +03:00
Roman Vasin
01dc483b64
Add IFunctionDateOrDateTime
2022-08-24 15:44:53 +00:00
Alexander Gololobov
c9177d2cb3
Merge pull request #40475 from ClickHouse/allow-conversion-from-string-datetime64-to-date-date32
...
Allow conversion from String with DateTime64 to Date and Date32
2022-08-24 17:33:20 +02:00
zvonand
b4564099f9
fix inherited parts
2022-08-24 17:07:30 +03:00
avogar
fa320f65f6
Fix possible logical error in arrayElement function with Map
2022-08-24 11:01:39 +00:00
Kruglov Pavel
860d0baa48
Better exception messages in FunctionArrayMapped
2022-08-24 12:28:44 +02:00
zvonand
e257f9d0cd
update docs, tests + small fixes
2022-08-24 01:09:14 +03:00
Roman Vasin
423a4f22cc
Fix toStartOfYear, toStartOfISOYear, toStartOfQuarter and toStartOfMonth to return Date32
2022-08-23 16:55:53 +00:00
Roman Vasin
505a8ad0e0
Fix toMonday() function to return Date32
2022-08-23 15:39:21 +00:00
zvonand
42f86442ab
updated tests + toStartOfWeek
2022-08-23 18:33:09 +03:00
Andrey Zvonov
52159b77d0
Merge branch 'master' into zvonand-minmax
2022-08-23 17:18:57 +03:00
zvonand
6abe09a725
updated tests + teStartOfWeek
2022-08-23 17:13:39 +03:00
Roman Vasin
e40b8f471d
Add compatibility parameter enable_date32_results
2022-08-23 12:43:08 +00:00
pzhdfy
d81462c095
check all ArgumentsDataTypes and use equals
2022-08-23 15:08:35 +08:00
Robert Schulze
ec9ef741fc
Merge branch 'master' into less-string-ref
2022-08-22 20:48:16 +02:00
Roman Vasin
d73a80a54c
Delete not needed code from getReturnTypeImpl of FunctionDateOrDateTimeToDateOrDate32
2022-08-22 16:24:45 +00:00
zvonand
d789dabc9d
Fixed , updated docs
2022-08-22 17:36:56 +03:00
zvonand
e5b4fb4191
fix some issues
2022-08-22 17:36:56 +03:00
zvonand
a7a1269e60
updated tests + improve logic
2022-08-22 17:36:55 +03:00
zvonand
537fb8c4ee
fix 1
2022-08-22 17:36:55 +03:00
Alexey Milovidov
a3e4753d83
Merge pull request #40466 from ClickHouse/remove-some-trash
...
Remove some trash
2022-08-22 15:59:50 +03:00
Alexey Milovidov
c4a60b8123
Allow conversion from String with DateTime64 to Date and Date32
2022-08-22 00:23:10 +02:00
Alexey Milovidov
996aa2d126
Remove some trash
2022-08-21 20:46:33 +02:00
Alexey Milovidov
8dd5c215e0
Merge pull request #40462 from ClickHouse/revert-39000-avx-enablement
...
Revert "Avx enablement"
2022-08-21 21:32:45 +03:00
Robert Schulze
4caf2c4c33
Reduce some usage of StringRef
...
See #39535 and #39300
2022-08-21 18:10:32 +00:00
Robert Schulze
3aa5acdb35
Merge pull request #40391 from ClickHouse/reduce-StringRef
...
Reduce some usage of StringRef
2022-08-21 20:04:57 +02:00
Alexey Milovidov
6fbff6d1f6
Revert "Avx enablement"
2022-08-21 15:47:02 +03:00
Robert Schulze
77e64935e1
Reduce some usage of StringRef
2022-08-19 09:56:59 +00:00
Robert Schulze
24615059fb
Merge pull request #40319 from ClickHouse/custom-error-code-in-throwif
...
Allow custom error code in throwIf
2022-08-19 09:49:35 +02:00
Robert Schulze
5037ce547f
Only allow 8/16/32-bit signed integers as custom error code data type
...
The internally used data type for error code is "int", and by
disallowing unsigned integers or integers >= 64 bit we avoid truncation
issues.
2022-08-18 15:16:08 +00:00
Robert Schulze
d6e5a6b7e7
fix: prevent possible race between getReturnTypeImpl() and executeImpl()
...
I don't know if the context (in detail: the config settings) can change
between calls to getReturnTypeImpl() and executeImpl() but we better
don't find out. Instead, read setting "allow_custom_error_code_in_throwif"
just just once in the ctor of FunctionThrowIf.
2022-08-18 12:24:42 +00:00
Robert Schulze
baae7726a7
style: "Fix" style check in CI
2022-08-18 10:13:58 +00:00
Robert Schulze
f121941916
feat: allow custom error code for SQL function throwIf()
2022-08-17 21:14:40 +00:00
Robert Schulze
164fc3d296
style: improve code aesthetics
2022-08-17 20:39:37 +00:00
Roman Vasin
19cb6d87c8
Add FunctionDateOrDateTimeToDateOrDate32 and make toLastDayOfMonth working
2022-08-17 16:38:06 +00:00
Roman Vasin
be3151937c
Set return type to Date32 for toLastDayOfMonth function
2022-08-17 08:51:14 +00:00
pzhdfy
48fcf6580d
Merge branch 'UniqSketch' of github.com:pzhdfy/ClickHouse into UniqSketch
2022-08-17 11:26:44 +08:00
pzhdfy
172b5025e2
use camelCase aNotB
2022-08-17 11:24:19 +08:00
Robert Schulze
df889351ad
feat: replace unbounded vectorscan cache by bounded cache
...
VectorScan patterns can grow large (up to multiple MBs) and queries
involving different VectorScan patterns lead to an ever increasing
pattern cache size.
With this commit, the unbounded cache for vectorscan patterns is
replaced by a bounded cache with "CacheTable" eviction strategy, similar
to what we have for re2 patterns. The cache size is currently hard-coded
to 500 entries.
Fixes #19869
2022-08-16 21:09:47 +00:00
Robert Schulze
89bf69c35f
style: improve code aesthetics and make it slightly safer
2022-08-16 21:09:32 +00:00
Igor Nikonov
e7baf920a9
Merge pull request #39600 from zvonand/zvonand-decimal-overflow
...
Check Decimal division overflow based on operands scale
2022-08-15 15:03:06 +02:00
Alexey Milovidov
ad936ae32a
Merge pull request #40211 from canhld94/ch_canh_fix_datetime
...
Fix unexpected result arrayDifference of Array(UInt32)
2022-08-15 04:52:58 +03:00
Igor Nikonov
6f00643bc1
Merge branch 'master' into zvonand-decimal-overflow
2022-08-15 02:38:45 +02:00
Igor Nikonov
2cb78c7220
Detailed comment about overflow check
2022-08-15 00:37:18 +00:00
Duc Canh Le
272447c5dc
remove junk log
2022-08-14 16:19:09 +08:00
Duc Canh Le
71dd2a19fc
fix arrayDiff
2022-08-14 16:14:13 +08:00
Alexey Milovidov
10022ee974
Fix insufficient argument check for encryption functions
2022-08-14 04:28:30 +02:00
Alexey Milovidov
31dbb68185
Fix array signed const positive subscript operator
2022-08-13 08:04:24 +02:00
Kseniia Sumarokova
a6cfc7bc3b
Merge pull request #34651 from alexX512/master
...
New caching strategies
2022-08-12 17:23:37 +02:00
Kruglov Pavel
456291f335
Fix style
2022-08-11 13:08:56 +02:00
Igor Nikonov
394a71dcfd
More correct fix + tests
2022-08-11 06:24:40 +00:00
Alexey Milovidov
8374f31306
Merge pull request #39425 from arenadata/ADQM-485
...
Add support of dates from year 1900 to 2299 for Date32 and DateTime64
2022-08-11 05:01:53 +03:00
Nikolay Degterinsky
547662f88b
Merge pull request #40002 from Algunenano/fix_hashid
...
Fix hashId crash and salt parameter not being used
2022-08-11 02:25:10 +02:00
Alexey Milovidov
53097b3d65
Merge pull request #40015 from tbragin/master
...
Add parseDateTime64BestEffortUS* functions
2022-08-10 20:00:50 +03:00
Roman Vasin
537ba613dc
Remove clamping from AddDaysImpl and AddWeeksImpl; fix 01921_datatype_date32 test
2022-08-10 08:14:16 +00:00
Kruglov Pavel
4bbe5186c2
Merge pull request #39999 from HeenaBansal2009/Support_H_syntax_in_Hour_Interval_Kind
...
Added H literal for Hour IntervalKind
2022-08-09 11:24:41 +02:00
Roman Vasin
96598e3574
Replace normalizeDayNum() by std::clamp()
2022-08-09 08:52:02 +00:00
Tanya Bragin
eb61db3b67
initial changes to close #37492
2022-08-08 19:45:00 -07:00
HeenaBansal2009
d2bdf6fc3e
Added tests
2022-08-08 11:51:05 -07:00
Raúl Marín
c8f8ceea8d
Fix hashId crash and salt not applying
2022-08-08 18:25:34 +02:00
alexX512
6bf29cb610
Change class LRUCache to class CachBase. Check running CacheBase with default pcahce policy SLRU
2022-08-07 19:59:30 +00:00
BoloniniD
24f3b00193
Merge branch 'master' into BLAKE3
2022-08-06 19:48:10 +03:00
BoloniniD
ef4ca4279a
Fix build cfg for BLAKE3
2022-08-06 18:24:25 +03:00
pzhdfy
2d5446a86b
add FunctionsUniqTheta
2022-08-05 14:11:52 +08:00
BoloniniD
48c91619b0
Merge branch 'master' into BLAKE3
2022-08-04 20:30:47 +03:00
Nikolai Kochetov
658a269d56
Merge branch 'master' into use-dag-in-key-condition
2022-08-04 16:18:40 +02:00
Kruglov Pavel
b84e65bb3b
Merge pull request #39716 from arthurpassos/fix_scalar_cte_with_lc_result
...
Unwrap LC column in IExecutablefunction::executeWithoutSparseColumns
2022-08-03 18:53:37 +02:00
zvonand
99a458c12d
small fix
2022-08-03 16:36:36 +03:00
BoloniniD
29084d92d8
Fix CMake for ENABLE_RUST
2022-08-02 20:44:12 +03:00
BoloniniD
b161773f71
Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3
2022-08-02 20:25:25 +03:00
Arthur Passos
e9b124b4bc
Don't use default implementation for LC columns in Scalar functions
2022-08-02 09:17:53 -03:00
Anton Popov
f94d4d4877
Merge branch 'master' into hash-functions-map
2022-08-02 13:26:54 +02:00
Robert Schulze
bf574b9154
Merge pull request #39760 from ClickHouse/bit-fiddling
...
Use std::popcount, ::countl_zero, ::countr_zero functions
2022-08-01 17:04:51 +02:00
Kruglov Pavel
dfdfabec94
Merge pull request #39218 from evillique/file_default_value
...
Add default argument to the function `file`
2022-08-01 13:04:19 +02:00
Nikolai Kochetov
22fbfe19a4
Merge branch 'master' into use-dag-in-key-condition
2022-07-31 21:54:12 +02:00
Robert Schulze
a7734672b9
Use std::popcount, ::countl_zero, ::countr_zero functions
...
- Introduced with the C++20 <bit> header
- The problem with __builtin_c(l|t)z() is that 0 as input has an
undefined result (*) and the code did not always check. The std::
versions do not have this issue.
- In some cases, we continue to use buildin_c(l|t)z(), (e.g. in
src/Common/BitHelpers.h) because the std:: versions only accept
unsigned inputs (and they also check that) and the casting would be
ugly.
(*) https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
2022-07-31 15:16:51 +00:00
Robert Schulze
4d7627e45e
Fix include
2022-07-31 07:36:40 +00:00
Robert Schulze
8ca236de08
Enable SQL function getOSKernelVersion() on all platforms
...
Follow up to PR #38615
2022-07-30 22:36:47 +00:00
Robert Schulze
85773e0926
Merge pull request #38615 from liyinsg/simplified_function_registration_interface
...
Simplified function registration interface
2022-07-31 00:18:37 +02:00
Alexey Milovidov
36e6500e54
Merge branch 'master' into BLAKE3
2022-07-30 23:14:05 +03:00
Robert Schulze
b52843d5fd
Merge pull request #37951 from zvonand/dt64_timeslots
...
Fix timeSlots for DateTime64
2022-07-30 20:49:05 +02:00
Alexey Milovidov
8f348edbbd
Merge pull request #39000 from ClickHouse/avx-enablement
...
Avx enablement
2022-07-30 04:51:07 +03:00
Arthur Passos
f0f19874da
fix style
2022-07-29 13:56:01 -03:00
Arthur Passos
59fbd21024
Unwrap LC column in IExecutablefunction::executeWithoutSparseColumns
2022-07-29 12:03:09 -03:00
Nikolai Kochetov
59a11b32ad
Merge branch 'master' into use-dag-in-key-condition
2022-07-29 17:01:33 +02:00
zvonand
b390bcfe7c
fix wrong data type cast
2022-07-29 13:25:40 +03:00
Li Yin
4088c0a7f3
Automated function registration
...
Automated register all functions with below naming convention by
iterating through the symbols:
void DB::registerXXX(DB::FunctionFactory &)
2022-07-29 15:39:50 +08:00
Anton Popov
45da56d802
support hash functions with Map type
2022-07-28 19:15:19 +00:00
Alexander Gololobov
9525bd19bf
Merge pull request #39592 from ClickHouse/fix-wrong-regexp-replace
...
Fix wrong regexp replace
2022-07-27 09:54:28 +02:00
Antonio Andelic
904a05ac21
Merge pull request #39496 from azat/custom-tld-exclamation-asterisk
...
Add support of !/* (exclamation/asterisk) in custom TLDs
2022-07-27 08:55:49 +02:00
Vladimir C
d9e8e9b948
Merge pull request #39552 from filimonov/maxsplit-bug
...
Fix bug with maxsplit in the splitByChar
2022-07-26 11:14:27 +02:00
Alexey Milovidov
833b24b486
Fix the wrong REGEXP_REPLACE alias
2022-07-26 08:01:49 +02:00
Azat Khuzhin
1d4a7c7290
Add support of !/* (exclamation/asterisk) in custom TLDs
...
Public suffix list may contain special characters (you may find format
here - [1]):
- asterisk (*)
- exclamation mark (!)
[1]: https://github.com/publicsuffix/list/wiki/Format
It is easier to describe how it should be interpreted with an examples.
Consider the following part of the list:
*.sch.uk
*.kawasaki.jp
!city.kawasaki.jp
And here are the results for `cutToFirstSignificantSubdomainCustom()`:
If you have only asterisk (*):
foo.something.sheffield.sch.uk -> something.sheffield.sch.uk
sheffield.sch.uk -> sheffield.sch.uk
If you have exclamation mark (!) too:
foo.kawasaki.jp -> foo.kawasaki.jp
foo.foo.kawasaki.jp -> foo.foo.kawasaki.jp
city.kawasaki.jp -> city.kawasaki.jp
some.city.kawasaki.jp -> city.kawasaki.jp
TLDs had been verified wit the following script [2], to match with
python publicsuffix2 module.
[2]: https://gist.github.com/azat/c1a7a9f1e3519793134ef4b1df5461a6
v2: fix StringHashTable padding requirements
Fixes : #39468
Follow-up for: #17748
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-26 08:34:30 +03:00
Roman Vasin
b462366415
Merge branch 'master' of github.com:ClickHouse/ClickHouse into ADQM-485
2022-07-25 17:55:47 +00:00
Roman Vasin
b412ea5f6d
Improve generateRandom() for Date32; fix tests 01087_table_function_generate, 01277_fromUnixTimestamp64, 01691_DateTime64_clamp and 01702_toDateTime_from_string_clamping
2022-07-25 17:06:11 +00:00
Nikolai Kochetov
b70be40804
Merge branch 'master' into use-dag-in-key-condition
2022-07-25 14:30:22 +02:00
Alexander Gololobov
dbcb7e5f1e
Fix for empty function name on FreeBSD build
2022-07-25 13:11:36 +02:00
Mikhail Filimonov
33ee858d18
Fix bug with maxsplit in the splitByChar
2022-07-25 13:11:02 +02:00
Alexey Milovidov
6fdcb009ff
Merge pull request #39533 from ClickHouse/now-in-block
...
Add function `nowInBlock`
2022-07-25 04:22:11 +03:00
Alexey Milovidov
cff712970e
Add function nowInBlock
2022-07-24 19:58:48 +02:00
Robert Schulze
c788e05c77
Merge pull request #39292 from zvonand/zvonand-b58-datatype
...
Simplify Base58 encoding/decoding
2022-07-24 18:09:40 +02:00
Kruglov Pavel
f79924f270
Merge branch 'master' into file_default_value
2022-07-22 21:17:37 +02:00
Robert Schulze
6a631426b7
Disable vectorization for uint64 --> float32 cast
2022-07-22 12:49:16 +00:00
Robert Schulze
cad0e7a62c
Move hot loop inside nested if/else statements
...
- required to control the vectorization of a specific cast which
annotates the loop using pragmas
2022-07-22 11:53:23 +00:00
Alexander Tokmakov
bed2206ae9
Merge pull request #39460 from ClickHouse/remove_some_dead_and_commented_code
...
Remove some dead and commented code
2022-07-22 13:24:34 +03:00
Robert Schulze
ea0a3bf600
Merge branch 'master' into stringref-to-string_view
2022-07-21 18:33:06 +02:00
Kruglov Pavel
f4f05ec786
Merge pull request #39447 from Avogar/better-parse-time-delta
...
Extend time units in parseTimeDelta function
2022-07-21 17:39:40 +02:00
Andrey Zvonov
e473606cd1
Merge branch 'master' into zvonand-b58-datatype
2022-07-21 15:55:05 +02:00
Alexander Tokmakov
a8da5d96fc
remove some dead and commented code
2022-07-21 15:05:48 +02:00
avogar
d63786e709
Better
2022-07-21 09:07:23 +00:00
avogar
49d980d16c
Extend time units in parseTimeDelta function
2022-07-21 08:55:51 +00:00
Roman Vasin
e3192cf753
Correct docs to reflect new range 1900..2299 for Date32 and DateTime64; Cleanup code
2022-07-20 15:19:02 +00:00
lokax
22792d1c6a
fix style
...
Signed-off-by: lokax <m632656684@gmail.com>
2022-07-20 21:20:00 +08:00
lokax
140f5e6685
recursive check array offsets
...
Signed-off-by: lokax <m632656684@gmail.com>
2022-07-20 21:20:00 +08:00
lokax
d40f04b860
fix function name
...
Signed-off-by: lokax <m632656684@gmail.com>
2022-07-20 21:20:00 +08:00
lokax
ff433c1c01
fix build
...
Signed-off-by: lokax <m632656684@gmail.com>
2022-07-20 21:20:00 +08:00
lokax
647eafa00e
support for array type
2022-07-20 21:20:00 +08:00
lokax
5c6b18a9bd
fix: 3rd parameter must be constant
2022-07-20 21:20:00 +08:00
lokax
6e23d2cb85
feat(function): tupleElement with default value
2022-07-20 21:20:00 +08:00
Nikolay Degterinsky
c9ae525da7
Merge branch 'master' into file_default_value
2022-07-20 14:22:58 +02:00
zvonand
11b8d788ca
small improvements
2022-07-20 13:36:47 +02:00
zvonand
592499e290
fix server crash on negative size
2022-07-19 23:11:03 +02:00
Nikolai Kochetov
f570cde815
Fixing build.
2022-07-19 20:19:57 +00:00
Roman Vasin
5f9c293963
Fix addDays() and addWeeks() in upper and lower limits of Date and Date32
2022-07-19 17:29:08 +00:00
Nikolai Kochetov
eaeb30a71a
Merge branch 'master' into use-dag-in-key-condition
2022-07-19 18:39:52 +02:00
Robert Schulze
9d0e3d107b
Update src/Functions/formatReadableTimeDelta.cpp
...
Co-authored-by: Nikolay Degterinsky <43110995+evillique@users.noreply.github.com>
2022-07-19 13:17:33 +02:00
alesapin
bdc09c8319
Merge pull request #39303 from ClickHouse/whitespaces
...
Whitespaces
2022-07-19 13:17:29 +02:00
Kruglov Pavel
12221cffc9
Merge pull request #39071 from jiahui-97/parse_timedelta
...
implementation of parseTimeDelta function
2022-07-19 12:39:56 +02:00
zvonand
d245d6349a
fixed zero check
2022-07-19 12:08:08 +02:00
Nikolay Degterinsky
4ae356f218
Fix NULL, add test
2022-07-19 09:15:42 +00:00
Robert Schulze
81ef1099cc
Even less usage of StringRef
...
--> see #39300
2022-07-19 07:01:06 +00:00
jiahui-97
e7af88b688
implementation of parseTimeDelta function
...
Co-authored-by: Kruglov Pavel <48961922+Avogar@users.noreply.github.com>
2022-07-19 09:33:02 +08:00
Robert Schulze
6df3c9d799
Merge pull request #39300 from ClickHouse/stringref-to-stringview
...
First try at reducing the use of StringRef
2022-07-18 19:20:16 +02:00
Robert Schulze
74e55e42f6
Merge pull request #39167 from ClickHouse/multiStringAllPositions-non-const-needle
...
multiStringAllPositions() with non-const needle
2022-07-18 15:30:14 +02:00
Kruglov Pavel
85f8b5990f
Merge pull request #39192 from Avogar/improve-is-nullable
...
Improve isNullable/isConstant/isNull/isNotNull performance for LowCardinality argument
2022-07-18 12:33:34 +02:00
Robert Schulze
3b0ca82d56
Fix build, pt. II
2022-07-18 09:41:01 +00:00
Alexey Milovidov
03aec06da1
Whitespaces
2022-07-17 23:20:05 +02:00
zvonand
18827ab312
Merge branch 'master' of github.com:ClickHouse/ClickHouse into dt64_timeslots
2022-07-17 22:59:18 +02:00
Robert Schulze
13482af4ee
First try at reducing the use of StringRef
...
- to be replaced by std::string_view
- suggested in #39262
2022-07-17 17:26:02 +00:00
Andrey Zvonov
e0d1954fac
Merge branch 'master' into dt64_timeslots
2022-07-16 22:33:46 +02:00
zvonand
728219e640
updated due to review
2022-07-16 22:16:19 +02:00
zvonand
d07a652883
merge
2022-07-16 19:05:07 +02:00
zvonand
4ab52b6873
added new DataType + fixes
2022-07-16 18:58:47 +02:00
avogar
7508448275
Better
2022-07-15 16:23:56 +00:00
Kruglov Pavel
0867e5fc4b
Merge branch 'master' into multiStringAllPositions-non-const-needle
2022-07-15 14:26:24 +02:00
Robert Schulze
deda29b46b
Pass const StringRef by value, not by reference
...
See #39224
2022-07-15 11:34:56 +00:00
Kruglov Pavel
a944a92d4c
Merge pull request #39224 from Avogar/string-view-by-value
...
Pass const std::string_view by value, not by reference
2022-07-15 13:05:56 +02:00
Roman Vasin
1d0818d9cf
Set max year to 2299; Code cleanup; Make working 02245_make_datetime64 test
2022-07-15 10:33:52 +00:00
Nikolay Degterinsky
6f5275d9bb
Fix build
2022-07-15 10:08:14 +00:00
Roman Vasin
266039ea64
Correct gTests for DateLUT
2022-07-14 19:00:17 +00:00
avogar
9291d33080
Pass const std::string_view & by value, not by reference
2022-07-14 16:11:57 +00:00
Maksim Kita
f5bacedaf9
Merge pull request #38553 from hexiaoting/mapupdate_dev
...
Fix bug for mapUpdate
2022-07-14 17:59:37 +02:00
Robert Schulze
ac5a06d944
Update doxygen
2022-07-14 11:02:01 +00:00
Kruglov Pavel
6d85dcd8a8
Update src/Functions/isNotNull.cpp
...
Co-authored-by: Igor Nikonov <954088+devcrafter@users.noreply.github.com>
2022-07-14 12:51:50 +02:00
Nikolay Degterinsky
9ca2935d72
Add default argument to function file
2022-07-14 09:54:44 +00:00
Robert Schulze
198abad284
Disallow const haystack with non-const needle argument
2022-07-14 08:16:01 +00:00
Robert Schulze
6ec4f3cf3d
Implement non-const needle arguments in multiSearchAllPositions
2022-07-14 06:24:28 +00:00
avogar
390b1ac2f7
Improve isNullable/isConstant/isNull/isNotNull performance for LowCardinality argument
2022-07-13 17:56:34 +00:00
mergify[bot]
79e6f85412
Merge branch 'master' into mapupdate_dev
2022-07-13 17:06:51 +00:00
Nikolay Degterinsky
e3a79520c1
Merge remote-tracking branch 'upstream/master' into translate
2022-07-13 11:42:40 +00:00
Nikolay Degterinsky
c344e2de84
Fix style
2022-07-13 11:41:08 +00:00
Robert Schulze
04c1cb207b
Use fmt-based exceptions in FunctionsMultiStringPosition
...
(for consistency with Functions/FunctionsMultiStringSearch.h)
2022-07-13 09:46:40 +00:00
Robert Schulze
59a64ac902
Rename some variables
...
(for consistency with Functions/FunctionsMultiStringSearch.h)
2022-07-13 09:46:39 +00:00
Robert Schulze
f8c38b0d3a
Remove obsolete doxygen
...
(the removed functions are implemented elsewhere)
2022-07-13 09:46:38 +00:00
Nikolay Degterinsky
daae55b4ac
Better
2022-07-13 01:41:27 +00:00
Anton Popov
81da0bb9f5
keep LowCardinality type in array() and map() functions
2022-07-12 13:31:00 +00:00
Andrey Zvonov
7bfe155f09
Merge branch 'master' into dt64_timeslots
2022-07-12 10:26:38 +03:00
Anton Popov
72fe4ce680
fix function toColumnTypeName with LowCardinality
2022-07-12 03:12:42 +00:00
Anton Popov
b67405915e
keep LowCardinality type in tuple() function
2022-07-12 02:01:41 +00:00
Kruglov Pavel
57a719bafd
Merge pull request #39037 from amosbird/index-fix-1-again
...
Fix toHour() monotonicity which can lead to incorrect query result (incorrect index analysis) (second try)
2022-07-11 13:36:01 +02:00
Robert Schulze
5b8e448c7e
Merge pull request #39012 from ClickHouse/fix-crashing-stringsearch-with-empty-needle
...
Don't throw Logical error in functions multiMatch[Fuzzy](AllIndices/Any/AnyIndex)() with empty needle
2022-07-11 08:13:52 +02:00
Amos Bird
28aefc33a0
Revert "Merge pull request #39001 from ClickHouse/revert-38675-index-fix-1"
...
This reverts commit 1cf01bb959
, reversing
changes made to af1136c990
.
2022-07-08 23:22:10 +08:00
Robert Schulze
8e1a3cd194
Don't crash in functions multiMatch[Fuzzy](AllIndices/Any/AnyIndex)() with empty needle
...
Queries like
"select multiMatchAnyIndex('abc', []::Array(String))"
were not properly handled and crashed.
2022-07-08 11:18:53 +00:00
Alexander Tokmakov
d4784203b7
Revert "Fix toHour() monotonicity which can lead to incorrect query result (incorrect index analysis)"
2022-07-08 12:51:30 +03:00
Robert Schulze
524f39551c
Merge pull request #38485 from ClickHouse/multi-match-with-non_const-patterns
...
Multi match with non const patterns
2022-07-08 09:29:10 +02:00
Roman Vasin
12f4a48957
Extend LUT range to 1900..2300
2022-07-08 06:48:05 +00:00
Alexey Milovidov
89fdcbf08c
Merge pull request #38675 from amosbird/index-fix-1
...
Fix toHour() monotonicity which can lead to incorrect query result (incorrect index analysis)
2022-07-08 00:32:27 +03:00
Robert Schulze
49348b833a
Simplify
2022-07-07 20:25:26 +00:00
Robert Schulze
1de5e9a7da
Avoid copy-ing array elements
2022-07-07 12:33:34 +00:00
Nikolay Degterinsky
1869b7f408
Add functions translate & translateUTF8
2022-07-07 08:25:00 +00:00
Robert Schulze
dec184f61d
Add comment about const needle + const haystack
2022-07-06 17:41:15 +00:00
Robert Schulze
8a18705729
More variable renamings for more uniformity
2022-07-06 14:55:02 +00:00
Robert Schulze
0b0d64c5ca
Don't resize output vector in each loop iteration
2022-07-06 14:45:22 +00:00
Robert Schulze
144c1edb03
Inherit default implementation of getArgumentsThatAreAlwaysConstant()
2022-07-06 14:42:19 +00:00
mergify[bot]
8cc2c3914b
Merge branch 'master' into isnullable
2022-07-06 14:40:01 +00:00
Robert Schulze
6a907b23fb
Replace typeid_cast() with checkAndGetColumnConst()
...
... syntactic sugar
2022-07-06 14:38:28 +00:00
Robert Schulze
0c4da85e75
More uniform naming
2022-07-06 14:29:42 +00:00
mergify[bot]
e5535f5ab4
Merge branch 'master' into mapupdate_dev
2022-07-06 13:54:36 +00:00
Nikolai Kochetov
020c99a269
Merge pull request #38617 from azat/contrib-debug-symbols
...
Add separate option to omit symbols from heavy contrib
2022-07-06 14:40:24 +02:00
Robert Schulze
d0b2f13f9d
Fix style check
2022-07-05 13:41:52 +02:00
lokax
e6bd0105b1
feat(Function): isNullable
...
Signed-off-by: lokax <m632656684@gmail.com>
2022-07-05 15:51:53 +08:00
lokax
849c46e6fa
feat(Function): isNullable
2022-07-05 15:23:07 +08:00
mergify[bot]
f14b62b2d6
Merge branch 'master' into index-fix-1
2022-07-04 22:50:36 +00:00
Robert Schulze
1eed72b525
Make more multi-search methods work with non-const needles
...
After making function multi[Fuzzy]Match(Any|AnyIndex|AllIndices)() work
with non-const needles, 12 more functions started to fail in test
"00233_position_function_family":
multiSearchAny()
multiSearchAnyCaseInsensitive()
multiSearchAnyUTF8
multiSearchAnyCaseInsensitiveUTF8()
multiSearchFirstPosition()
multiSearchFirstPositionCaseInsensitive()
multiSearchFirstPositionUTF8()
multiSearchFirstPositionCaseInsensitiveUTF8()
multiSearchFirstIndex()
multiSearchFirstIndexCaseInsensitive()
multiSearchFirstIndexUTF8()
multiSearchFirstIndexCaseInsensitiveUTF8()
Failing queries take the form
select 0 = multiSearchAny('\0', CAST([], 'Array(String)'));
2022-07-04 14:00:21 +00:00
Robert Schulze
ece61f6da3
Fix davenger's review comments
...
https://github.com/ClickHouse/ClickHouse/pull/38434#discussion_r907397214
https://github.com/ClickHouse/ClickHouse/pull/38434#discussion_r907385290
https://github.com/ClickHouse/ClickHouse/pull/38434#discussion_r907406097
(the latter is no longer relevant as the affected places were removed in
the meantime)
2022-07-04 10:43:21 +00:00
Robert Schulze
d547aa7849
Allow non-const pattern array argument in multi[Fuzzy]Match*()
...
Resolves #38046
2022-07-04 10:43:16 +00:00
Alexander Gololobov
8ce8158f7f
Do computations in Float32 (not Float64) for arrays of Float32
2022-07-03 10:33:11 +02:00
Alexander Gololobov
c6691cc5f2
Improved vectorized execution of main loop for array norm/distance
2022-07-02 22:45:22 +02:00
mergify[bot]
b016be264c
Merge branch 'master' into squared_l2
2022-07-02 09:17:28 +00:00
Azat Khuzhin
e8f5cd3c68
Add separate option to omit symbols from heavy contrib
...
Sometimes it is useful to build contrib with debug symbols for further
debugging.
With everything turned ON (i.e. debug build) I got 3.3GB vs 3.0GB w/o
this patch, 9% bloat, thoughts about this is this OK or not for you, if
not STRIP_DEBUG_SYMBOLS_HEAVY_CONTRIB can be OFF by default (regardless
of build type).
P.S. aws debug symbols adds just 1.7%.
v2: rename STRIP_HEAVY_DEBUG_SYMBOLS
v3: OMIT_HEAVY_DEBUG_SYMBOLS
v4: documentation had been removed
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-02 06:32:03 +03:00
Robert Schulze
2a1ede0f5a
Merge pull request #38589 from ClickHouse/fix-zero-bytes-in-haystack
...
Fix countSubstrings() & position() on patterns with 0-bytes
2022-07-01 16:15:43 +02:00
Amos Bird
84a407f381
Fix toHour monotonicity
2022-07-01 18:24:24 +08:00
Alexander Gololobov
b2b31103c5
Reuse common code for L2Squared and L2
2022-06-30 14:12:25 +02:00
Azat Khuzhin
a47355877e
Add revision() function ( #38555 )
...
It can be useful to match versions, since in some tables
(system.trace_log) there is only revision column.
P.S. came to this when was digging into stress reports from CI.
P.P.S. case insensitive by analogy with version().
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-06-30 12:58:26 +02:00
Robert Schulze
81bb2242fd
Fix countSubstrings() & position() on patterns with 0-bytes
...
SQL functions countSubstrings(), countSubstringsCaseInsensitive(),
countSubstringsUTF8(), position(), positionCaseInsensitive(),
positionUTF8() with non-const pattern argument use fallback sorters
LibCASCIICaseSensitiveStringSearcher and LibCASCIICaseInsensitiveStringSearcher
which call ::strstr(), resp. ::strcasestr(). These functions assume that
the haystack is 0-terminated and they even document that. However, the
callers did not check if the haystack contains 0-byte (perhaps because
its sort of expensive). As a consequence, if the haystack contained a
zero byte in it's payload, matches behind this zero byte were ignored.
create table t (id UInt32, pattern String) engine = MergeTree() order by id;
insert into t values (1, 'x');
select countSubstrings('aaaxxxaa\0xxx', pattern) from t;
We returned 3 before this commit, now we return 6
2022-06-29 21:41:18 +00:00
hexiaoting
e32a0838d1
fix bug for mapUpdate
2022-06-29 15:52:08 +08:00
Julian Gilyadov
d0d72e0b5e
Implement L2Squared Distance and Norm
2022-06-28 15:28:58 -04:00
BoloniniD
6ddcec0906
Merge branch 'master' into BLAKE3
2022-06-28 16:53:06 +03:00
Miel Donkers
4e9f396a48
Small improvement of the error message to hint at possible issue ( #38458 )
2022-06-28 13:36:30 +02:00
Robert Schulze
959cbaab02
Move loop over patterns into implementations
...
- This is preparation for non-const regexp arguments, where this loop
will run for each row.
2022-06-26 16:26:13 +00:00
Robert Schulze
cb5d1a4a85
Fix style check
2022-06-26 16:25:49 +00:00
Robert Schulze
b8f67185bf
Cosmetics: Whitespaces
2022-06-26 16:25:49 +00:00
Robert Schulze
e2b11899a1
Move check if cfg allows hyperscan into implementations
...
- This is not needed for non-const regexp array arguments but cleans up
the code and runs the check only in functions which actually use
hyperscan.
2022-06-26 16:25:49 +00:00
Robert Schulze
c2cea38b97
Move local variable into if statement
2022-06-26 16:25:49 +00:00
Robert Schulze
c9ce0efa66
Instantiate MultiMatchAnyImpl template using enums
...
- With this, invalid combinations of the FindAny/FindAnyIndex bools are
no longer possible and we can remove the corresponding check
- Also makes the instantiations more readable.
2022-06-26 16:25:49 +00:00
Robert Schulze
2f15d45f27
Move check for regexp array size into implementations
...
- This is not needed for non-const regexp array arguments (the
cardinality of arrays is fixed per column) but it cleans up the code
and runs the check only in functions which have restrictions on the
number of patterns.
- For functions using hyperscans, it was checked that the number of
regexes is < 2^32. Removed the check because I don't think anyone will
every specify 4 billion patterns.
2022-06-26 16:25:43 +00:00
Robert Schulze
3478db9fb6
Move check for regexp array size into implementations
...
- This is not needed for non-const regexp array arguments (the
cardinality of arrays is fixed per column) but it cleans up the code
and runs the check only in functions which have restrictions on the
number of patterns.
- For functions using hyperscans, it was checked that the number of
regexes is < 2^32. Removed the check because I don't think anyone will
every specify 4 billion patterns.
2022-06-26 15:38:12 +00:00
Robert Schulze
7913edc172
Move check for hyperscan regexp constraints into implementations
...
- This is preparation for non-const regexp arguments, where this check
will run for each row.
2022-06-26 15:38:05 +00:00
Robert Schulze
89bfdd50bf
Remove unnecessary check
...
- getReturnTypeImpl() ensures that the haystack column has type "String"
and we can simply assert that.
2022-06-26 15:34:24 +00:00
Robert Schulze
580d89477f
Minimally faster performance
2022-06-26 15:34:22 +00:00
Robert Schulze
4bc59c18e3
Cosmetics: Move some code around + docs + whitespaces + minor stuff
2022-06-26 15:34:15 +00:00
Robert Schulze
1273756911
Cosmetics: fmt-based exceptions
2022-06-26 15:33:18 +00:00
Robert Schulze
e5c74a14f7
Cosmetics: More consistent naming
...
- rename utility function and file to "checkHyperscanRegexp"
2022-06-26 15:33:18 +00:00
Robert Schulze
072e0855a8
Cosmetics: Make member variables const
2022-06-26 15:32:26 +00:00
Robert Schulze
2ebfd01c2e
Cosmetics: Pull out settings variable
2022-06-26 15:32:23 +00:00
Robert Schulze
bb7c627964
Cosmetics: Pass patterns around as std::string_view instead of StringRef
...
- The patterns are not used in hashing, there should not be a performance
impact when we use stuff from the standard library instead.
- added forgotten .reserve() in FunctionsMultiStringPosition.h
2022-06-26 15:32:19 +00:00
Alexey Milovidov
b3098822e0
Merge pull request #38171 from ClickHouse/hyper-to-vectorscan
...
Replace hyperscan by vectorscan
2022-06-26 10:01:45 +03:00
Alexey Milovidov
0654684bd4
Fix wrong implementation of filesystem* functions
2022-06-25 06:10:50 +02:00
Andrey Zvonov
ea73d9c492
Merge branch 'master' into zvonand-base58
2022-06-24 21:37:20 +03:00
Kruglov Pavel
0201d62090
Merge pull request #38173 from Avogar/fix-short-circuit
...
Fix bug with nested short-circuit functions
2022-06-24 16:04:17 +02:00
Robert Schulze
2c828338f4
Replace hyperscan by vectorscan
...
This commit migrates ClickHouse to Vectorscan. The first 10 min of
[0] explain the reasons for it.
(*) Addresses (but does not resolve) #38046
(*) Config parameter names (e.g. "max_hyperscan_regexp_length") are
preserved for compatibility. Likewise, error codes (e.g.
"ErrorCodes::HYPERSCAN_CANNOT_SCAN_TEXT") and function/class names (e.g.
"HyperscanDeleter") are preserved as vectorscan aims to be a drop-in
replacement.
[0] https://www.youtube.com/watch?v=KlZWmmflW6M
2022-06-24 10:47:52 +02:00
Andrey Zvonov
c18d09a617
Merge branch 'master' into zvonand-base58
2022-06-24 07:05:49 +03:00
zvonand
dd8203038f
updated exception handling
2022-06-24 00:36:57 +05:00
zvonand
a94c40e33a
Merge branch 'master' of github.com:ClickHouse/ClickHouse into dt64_timeslots
2022-06-23 17:08:28 +05:00
mergify[bot]
234f0c6399
Merge branch 'master' into revert-35914-FIPS_compliance
2022-06-23 12:06:17 +00:00
zvonand
946117ec89
Merge branch 'master' of github.com:ClickHouse/ClickHouse into zvonand-base58
2022-06-23 17:04:40 +05:00
Alexey Milovidov
5855668514
Remove trash
2022-06-22 06:23:35 +02:00
mergify[bot]
bb79eb73e6
Merge branch 'master' into fix-short-circuit
2022-06-21 10:40:07 +00:00
Kruglov Pavel
b9b58b4305
Merge pull request #37759 from Avogar/fix-nothing-error
...
Fix possible logical error with type Nothing in some functions
2022-06-21 12:35:05 +02:00
Larry Luo
bbd73ba727
use utility methods to access x509 struct fields.
2022-06-20 21:27:33 -04:00
zvonand
22af00b757
rename variable + fix handling of ENABLE_LIBRARIES
2022-06-20 23:53:47 +05:00
mergify[bot]
b440ee84ae
Merge branch 'master' into fix-short-circuit
2022-06-20 15:14:19 +00:00
zvonand
d4e5686b99
minor: fix message for base64
2022-06-20 20:13:09 +05:00
zvonand
78d55d6f46
small fixes
2022-06-20 19:30:54 +05:00
zvonand
832fd6e0a9
Added tests + minor updates
2022-06-19 23:10:28 +05:00
Alexey Milovidov
0cf88e0950
Revert "ClickHouse's boringssl module updated to the official version of the FIPS compliant."
2022-06-18 23:16:18 +03:00
zvonand
f4b3af091d
fix zero byte
2022-06-17 23:48:14 +05:00
avogar
23f48a9fb9
Fix bug with nested short-circuit functions
2022-06-17 11:44:49 +00:00
Andrey Zvonov
f987f461e5
fix style -- rm unused ErrorCode
2022-06-17 15:00:32 +05:00
Igor Nikonov
baebbc084f
Merge pull request #38027 from ClickHouse/decimal_rounding_fix
...
Fix: rounding for Decimal128/Decimal256 with more than 19-digits long scale
2022-06-17 09:48:18 +02:00
zvonand
c1b2b669ab
remove wrong code
2022-06-17 01:52:45 +05:00
mergify[bot]
f46f7257dd
Merge branch 'master' into fix-nothing-error
2022-06-16 10:58:03 +00:00
mergify[bot]
2557e8ad51
Merge branch 'master' into decimal_rounding_fix
2022-06-16 10:53:49 +00:00
avogar
a3a7cc7a5d
Fix logical error in array mapped functions with const nullable column
2022-06-16 10:41:53 +00:00
zvonand
a800158438
wip upload
2022-06-16 15:11:41 +05:00
Danila Kutenin
048f56bf4d
Fix some tests and comments
2022-06-15 14:40:21 +00:00
Danila Kutenin
08e3f77a9c
Optimize most important parts with NEON SIMD
...
First part, updated most UTF8, hashing, memory and codecs. Except
utf8lower and upper, maybe a little later.
That includes huge amount of research with movemask dealing. Exact
details and blog post TBD.
2022-06-15 13:19:29 +00:00
mergify[bot]
d704264fae
Merge branch 'master' into decimal_rounding_fix
2022-06-15 10:47:09 +00:00
zvonand
c149c916ec
initial setup
2022-06-15 11:49:55 +05:00
Igor Nikonov
bf7dd39282
Fix: decimal rounding
...
Fixes #37531
2022-06-14 18:03:05 +00:00
Maksim Kita
dc2e117cce
UnaryLogicalFunctions improve performance using dynamic dispatch
2022-06-14 17:30:11 +02:00
zvonand
a5a980b69d
Added no_sanitize
2022-06-13 19:45:54 +05:00
zvonand
54b8709cb1
minor fix
2022-06-13 19:21:07 +05:00
BoloniniD
617ef0809f
Minor fixes
2022-06-12 01:22:33 +03:00
Robert Schulze
5f5732a2c4
Merge pull request #37969 from ClickHouse/consistent-macro-usage
...
More consistent use of platform macros
2022-06-10 14:10:01 +02:00
zvonand
fb67b080b9
added docs
2022-06-10 14:30:17 +03:00
zvonand
551d1ea875
fix wrong interval
2022-06-10 13:21:31 +03:00
Robert Schulze
1a0b5f33b3
More consistent use of platform macros
...
cmake/target.cmake defines macros for the supported platforms, this
commit changes predefined system macros to our own macros.
__linux__ --> OS_LINUX
__APPLE__ --> OS_DARWIN
__FreeBSD__ --> OS_FREEBSD
2022-06-10 10:22:31 +02:00
zvonand
e19653618c
fix wrongfully added submodule
2022-06-10 11:19:38 +03:00
zvonand
16087ea400
enable dt64 for timeslots
2022-06-09 15:28:18 +03:00
Maksim Kita
0c1211eb61
Merge pull request #37930 from kitaisreal/function-dict-get-check-arguments-size
...
Function dictGet check arguments size
2022-06-08 23:25:14 +02:00
Maksim Kita
b7152fa2bf
Function dictGet check arguments size
2022-06-08 17:19:30 +02:00
Maksim Kita
7d1a43cfeb
Fix setting cast_ipv4_ipv6_default_on_conversion_error for internal cast
2022-06-08 12:43:39 +02:00
Maksim Kita
4e160105b9
Merge pull request #37805 from kitaisreal/dictionaries-hierarchy-nullable-key-support
...
Hierarchical dictinaries support nullable parent key
2022-06-08 12:36:09 +02:00
Anton Popov
df6882d2b9
Revert "Fix errors of CheckTriviallyCopyableMove type"
2022-06-07 13:53:10 +02:00
mergify[bot]
014d9e2144
Merge branch 'master' into fix-nothing-error
2022-06-07 11:24:28 +00:00
avogar
cbd50aecd4
Fix
2022-06-07 11:23:59 +00:00
Vitaly Baranov
d199478169
Merge pull request #37303 from ClickHouse/fix_trash
...
Try to fix some trash
2022-06-07 10:17:39 +02:00
BoloniniD
b05ee41d25
Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3
2022-06-06 16:03:10 +03:00
Robert Schulze
2d87af2a15
Merge pull request #37647 from DevTeamBK/Fix-all-CheckTriviallyCopyableMove-Errors
...
Fix errors of CheckTriviallyCopyableMove type
2022-06-05 19:58:47 +02:00
zvonand
5475f62363
32 to 64
2022-06-05 13:06:48 +03:00
Maksim Kita
6db5c08fde
Functions dictGetChildren, dictGetDescendants added support for nullable parent key
2022-06-03 17:36:16 +02:00
Maksim Kita
a0cbbd9edc
Hierarchical Cache, Direct dictionaries added support for nullable parent key
2022-06-03 17:21:55 +02:00
Anton Popov
f592a802a1
Merge pull request #37482 from CurtizJ/json-new-serialization
...
Better binary serialization of `ColumnObject`
2022-06-03 13:29:19 +02:00
Robert Schulze
05f08357a9
Merge pull request #37764 from ClickHouse/like_with_trailing_backslash
...
Disallow LIKE patterns with trailing escape
2022-06-03 13:19:51 +02:00
Alexey Milovidov
1529d47207
Merge pull request #34754 from ClickHouse/llvm-14
...
Switch to clang/llvm 14
2022-06-03 14:07:34 +03:00
Alexey Milovidov
de16784832
Merge pull request #37633 from ClickHouse/dump-column-structure-more-precise
...
More precise result of the `dumpColumnStructure` and `byteSize` miscellaneous functions
2022-06-03 14:05:20 +03:00
Alexey Milovidov
ea89f81a78
Merge branch 'master' of github.com:ClickHouse/ClickHouse into llvm-14
2022-06-03 03:07:14 +02:00
Robert Schulze
657662d89f
Minor follow-up to cache table: std::{vector-->array}
2022-06-02 20:18:10 +02:00
Maksim Kita
20b55a45b2
Hierarchical dictionaries support nullable parent key
2022-06-02 19:24:23 +02:00
HeenaBansal2009
e3080f2a97
Merge remote-tracking branch 'origin' into Fix-all-CheckTriviallyCopyableMove-Errors
2022-06-02 07:30:08 -07:00
Alexander Gololobov
b34782dc6a
Merge pull request #37775 from liuneng1994/fix_date32_to_string
...
fix toString error on DatatypeDate32
2022-06-02 16:40:47 +03:00
Vladimir C
670c721ded
Merge pull request #37742 from ucasfl/hashid
2022-06-02 12:47:11 +02:00
Robert Schulze
4e18659bfd
Fix tests + more precise exception msg
2022-06-02 11:11:56 +02:00
liuneng1994
7b15055e72
fix toString error on DatatypeDate32
...
Signed-off-by: liuneng1994 <1398775315@qq.com>
2022-06-02 16:56:43 +08:00
Alexey Milovidov
b5f48a7d3f
Merge branch 'master' of github.com:ClickHouse/ClickHouse into llvm-14
2022-06-01 22:09:58 +02:00
Robert Schulze
366f368d06
Disallow LIKE patterns with trailing escape
...
Trailing escape ('ab\') is disallowed in SQL, in standardese:
"If an escape character is specified, then [...] If there is not a
partitioning of the string PVC into substrings such that each substring
has length 1 (one) or 2, no substring of length 1 (one) is the escape
character ECV, and each substring of length 2 is the escape character
ECV followed by either the escape character ECV, an <underscore>
character, or the <percent> character, then an exception condition is
raised: data exception - invalid escape sequence."
I first thought this is checked already higher up in the stack, at least
for const needles, as single trailing backslashes ('ab\') are rejected,
but then I realized that ClickHouse quotes by default. I.e., double
trailing backslashes ('ab\\') are not rejected but when interpreted as
LIKE needle ('ab\') they should.
2022-06-01 21:38:46 +02:00
Robert Schulze
b3b0716b32
Merge pull request #37544 from ClickHouse/cached_patterns
...
Cache compiled regexps when evaluating non-const needles
2022-06-01 19:55:25 +02:00
avogar
966b864986
Fix possible logical error with type Nothing and JSON functions
2022-06-01 16:34:31 +00:00
flynn
b62e4cec65
Fix crash of FunctionHashID
2022-06-01 12:39:16 +00:00
BoloniniD
44ce53f4b3
Fix new line
2022-06-01 15:22:22 +03:00
Alexander Tokmakov
75f49a48e1
Merge branch 'master' into fix_trash
2022-06-01 14:20:46 +02:00
Robert Schulze
600512cc08
Replace exceptions thrown for programming errors by asserts
2022-06-01 11:53:37 +02:00
BoloniniD
dd8aefdf1e
Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3
2022-06-01 11:46:55 +03:00
Anton Popov
20e319d67a
Merge pull request #37666 from CurtizJ/optimize-coalesce
...
Optimize function `COALESCE` with two arguments
2022-05-31 23:48:13 +02:00
Yakov Olkhovskiy
873ac9f8ff
Merge pull request #37540 from ClickHouse/feature-server-certificate
...
showCertificate function implementation
2022-05-31 02:50:03 -04:00
Anton Popov
30f8eb800a
optimize function coalesce with two arguments
2022-05-30 22:29:35 +00:00
Nikolai Kochetov
77b07dd0a8
Merge pull request #37163 from ClickHouse/grouping-function
...
Add GROUPING function
2022-05-30 20:45:04 +02:00
HeenaBansal2009
b7eb6bbd38
Fixed clang-tidy-CheckTriviallyCopyableMove-errors
2022-05-30 11:09:03 -07:00
Robert Schulze
ad12adc31c
Measure and rework internal re2 caching
...
This commit is based on local benchmarks of ClickHouse's re2 caching.
Question 1: -----------------------------------------------------------
Is pattern caching useful for queries with const LIKE/REGEX
patterns? E.g. SELECT LIKE(col_haystack, '%HelloWorld') FROM T;
The short answer is: no. Runtime is (unsurprisingly) dominated by
pattern evaluation + other stuff going on in queries, but definitely not
pattern compilation. For space reasons, I omit details of the local
experiments.
(Side note: the current caching scheme is unbounded in size which poses
a DoS risk (think of multi-tenancy). This risk is more pronounced when
unbounded caching is used with non-const patterns ..., see next
question)
Question 2: -----------------------------------------------------------
Is pattern caching useful for queries with non-const LIKE/REGEX
patterns? E.g. SELECT LIKE(col_haystack, col_needle) FROM T;
I benchmarked five caching strategies:
1. no caching as a baseline (= recompile for each row)
2. unbounded cache (= threadsafe global hash-map)
3. LRU cache (= threadsafe global hash-map + LRU queue)
4. lightweight local cache 1 (= not threadsafe local hashmap with
collision list which grows to a certain size (here: 10 elements) and
afterwards never changes)
5. lightweight local cache 2 (not threadsafe local hashmap without
collision list in which a collision replaces the stored element, idea
by Alexey)
... using a haystack of 2 mio strings and
A). 2 mio distinct simple patterns
B). 10 simple patterns
C) 2 mio distinct complex patterns
D) 10 complex patterns
Fo A) and C), caching does not help but these queries still allow to
judge the static overhead of caching on query runtimes.
B) and D) are extreme but common cases in practice. They include
queries like "SELECT ... WHERE LIKE (col_haystack, flag ? '%pattern1%' :
'%pattern2%'). Caching should help significantly.
Because LIKE patterns are internally translated to re2 expressions, I
show only measurements for MATCH queries.
Results in sec, averaged over on multiple measurements;
1.A): 2.12
B): 1.68
C): 9.75
D): 9.45
2.A): 2.17
B): 1.73
C): 9.78
D): 9.47
3.A): 9.8
B): 0.63
C): 31.8
D): 0.98
4.A): 2.14
B): 0.29
C): 9.82
D): 0.41
5.A) 2.12 / 2.15 / 2.26
B) 1.51 / 0.43 / 0.30
C) 9.97 / 9.88 / 10.13
D) 5.70 / 0.42 / 0.43
(10/100/1000 buckets, resp. 10/1/0.1% collision rate)
Evaluation:
1. This is the baseline. It was surprised that complex patterns (C, D)
slow down the queries so badly compared to simple patterns (A, B).
The runtime includes evaluation costs, but as caching only helps with
compilation, and looking at 4.D and 5.D, compilation makes up over 90%
of the runtime!
2. No speedup compared to 1, probably due to locking overhead. The cache
is unbounded, and in experiments with data sets > 2 mio rows, 2. is
the only scheme to throw OOM exceptions which is not acceptable.
3. Unique patterns (A and C) lead to thrashing of the LRU cache and very
bad runtimes due to LRU queue maintenance and locking. Works pretty
well however with few distinct patterns (B and D).
4. This scheme is tailored to queries B and D where it performs pretty
good. More importantly, the caching is lightweight enough to not
deteriorate performance on datasets A and C.
5. After some tuning of the hash map size, 100 buckets seem optimal to
be in the same ballpark with 10 distinct patterns as 4. Performance
also does not deteriorate on A and C compared to the baseline.
Unlike 4., this scheme behaves LRU-like and can adjust to changing
pattern distributions.
As a conclusion, this commit implementes two things:
1. Based on Q1, pattern search with const needle no longer uses
caching. This applies to LIKE and MATCH + a few (exotic) other SQL
functions. The code for the unbounded caching was removed.
2. Based on Q2, pattern search with non-const needles now use method 5.
2022-05-30 20:00:35 +02:00
Alexey Milovidov
f1fb57c6ce
Fix clang-tidy-14
2022-05-30 05:36:26 +02:00
Alexey Milovidov
c0e6ff4216
More precise result of "dumpColumnStructure" and "byteSize" miscellaneous functions
2022-05-30 04:56:54 +02:00
Alexey Milovidov
c1169019d2
Merge branch 'master' into llvm-14
2022-05-29 02:29:02 +02:00
Alexey Milovidov
73e2e63414
Merge pull request #37612 from ClickHouse/clang-tidy-14
...
Fix clang-tidy-14, part 1
2022-05-29 03:16:32 +03:00
Alexander Tokmakov
4e52f45695
Merge branch 'master' into fix_trash
2022-05-28 19:43:19 +02:00
Alexey Milovidov
c50791dd3b
Fix clang-tidy-14, part 1
2022-05-27 22:52:14 +02:00
Alexey Milovidov
d2c6fd90cb
Fix clang-tidy-14, part 1
2022-05-27 22:51:37 +02:00
Alexander Gololobov
9b1b30855c
Fixed check for HUGE_VAL
2022-05-27 18:25:11 +02:00
Alexander Gololobov
6361c5f38c
Fix for failed style check
2022-05-27 18:22:16 +02:00
Alexander Gololobov
540353566c
Added LpNorm and LpDistance functions for arrays
2022-05-27 17:17:08 +02:00
Robert Schulze
80061aa3e2
Merge remote-tracking branch 'origin/master' into cached_patterns
2022-05-27 09:21:01 +02:00
Alexey Milovidov
86afa3a245
Merge pull request #37502 from ClickHouse/array_norm_dist_fixes
...
Renamed arrayXXNorm/arrayXXDistance functions to XXNorm/XXDistance and fixed some overflow cases
2022-05-27 00:56:29 +03:00
mergify[bot]
a7629f900f
Merge branch 'master' into normalize-utf8-performance-tests-fix
2022-05-26 10:29:55 +00:00
Maksim Kita
3a92e61827
Merge pull request #37148 from kitaisreal/dictionary-get-descendants-performance-improvement
...
Dictionary getDescendants performance improvement
2022-05-26 12:29:17 +02:00
Yakov Olkhovskiy
2dc160a4c3
style fix
2022-05-25 20:56:36 -04:00
Dmitry Novik
7cd7782e4f
Process columns more efficiently in GROUPING()
2022-05-25 21:55:41 +00:00
Dmitry Novik
3c1b6609ae
Add comments and make tests more verbose
2022-05-25 21:23:35 +00:00
Maksim Kita
58cd1bd3ec
Merge pull request #36843 from bharatnc/ncb/h3-unidirectionaledges-funcs
...
add h3 unidirectional edge functions
2022-05-25 22:46:40 +02:00
Maksim Kita
bee3c30f66
Merge pull request #37524 from kitaisreal/geo-distance-functions-improve-performance
...
Geo distance functions improve performance
2022-05-25 22:40:40 +02:00
Alexander Gololobov
168b47d0ad
Use same norm and distance function names for tuples and arrays
2022-05-25 22:39:59 +02:00
Alexander Gololobov
b065839f44
always return Float64
2022-05-25 22:27:00 +02:00
Alexander Gololobov
5df14cd956
Cast arguments to result type to avoid int overflow
2022-05-25 22:27:00 +02:00
Robert Schulze
49934a3dc8
Cache compiled regexps when evaluating non-const needles
...
Needles in a (non-const) needle column may repeat and this commit allows
to skip compilation for known needles. Out of the different design
alternatives (see below, if someone is interested), we now maintain
- one global pattern cache,
- with a fixed size of 42k elements currently,
- and use LRU as eviction strategy.
------------------------------------------------------------------------
(sorry for the wall of text, dumping it here not for reading but just
for reference)
Write-up about considered design alternatives:
1. Keep the current global cache of const needles. For non-const
needles, probe the cache but don't store values in it.
Pros: need to maintain just a single cache, no problem with cache
pollution assuming there are few distinct constant needles
Cons: only useful if a non-const needle occurred as already as a
const needle
--> overall too simplistic
2. Keep the current global cache for const needles. For non-const
needles, create a local (e.g. per-query) cache
Pros: unlike (1.), non-const needles can be skipped even if they
did not occur yet, no pollution of the const pattern cache when
there are very many non-const needles (e.g. large / highly
distinct needle columns).
Cons: caches may explode "horizontally", i.e. we'll end up with the
const cache + caches for Q1, Q2, ... QN, this makes it harder
to control the overall space consumption, also patterns
residing in different caches cannot be reused between queries,
another difficulty is that the concept of "query" does not
really exist at matching level - there are only column chunks
and we'd potentially end up with 1 cache / chunk
3. Queries with const and non-const needles insert into the same global
cache.
Pros: the advantages of (2.) + allows to reuse compiled patterns
accross parallel queries
Cons: needs an eviction strategy to control cache size and pollution
(and btw. (2.) also needs eviction strategies for the
individual caches)
4. Queries with const needle use global cache, queries with non-const
needle use a different global cache
--> Overall similar to (3) but ignores the (likely) edge case that
const and non-const needles overlap.
In sum, (3.) seems the simplest and most beneficial approach.
Eviction strategies:
0. Don't ever evict --> cache may grow infinitely and eventually make
the system unusable (may even pose a DoS risk)
1. Flush the cache after a certain threshold is exceeded --> very
simple but may lead to peridic performance drops
2. Use LRU --> more graceful performance degradation at threshold but
comes with a (constant) performance overhead to maintain the LRU
queue
In sum, given that the pattern compilation in RE2 should be quite costly
(pattern-to-DFA/NFA), LRU may be acceptable.
2022-05-25 22:04:06 +02:00
Robert Schulze
ea60a614d2
Decrease namespace indent
2022-05-25 21:56:35 +02:00
Alexey Milovidov
abf2558fba
Merge pull request #37491 from ClickHouse/match_refactoring
...
Refactorings of LIKE/MATCH code
2022-05-25 22:05:38 +03:00
Alexey Milovidov
4482da9eb6
Update greatCircleDistance.cpp
2022-05-25 21:59:31 +03:00
Alexander Tokmakov
779e6ea0b9
make it better, fix on cluster queries
2022-05-25 20:17:49 +02:00
Nikolai Kochetov
ff98c24d44
Merge pull request #37048 from Avogar/fix-array-map-nothing
...
Add default implementation for Nothing in functions
2022-05-25 19:10:40 +02:00
Yakov Olkhovskiy
6692b9c2ed
showCertificate function implementation
2022-05-25 12:11:44 -04:00
Alexey Milovidov
cb92482ca5
Merge pull request #37484 from kitaisreal/function-has-all-avx2-dynamic-dispatch
...
Function hasAll added dynamic dispatch
2022-05-25 19:05:32 +03:00
Maksim Kita
28355114c0
Fixed tests
2022-05-25 16:19:29 +02:00
Maksim Kita
e67b3537f7
Functions normalizeUTF8 unstable performance tests fix
2022-05-25 15:54:52 +02:00
Maksim Kita
45da28ecae
Improve performance of geo distance functions
2022-05-25 14:22:22 +02:00
Maksim Kita
c372c3d6aa
Fix performance tests
2022-05-25 11:49:59 +02:00
Kseniia Sumarokova
b50d4549c9
Merge pull request #37356 from amosbird/partition-prune-for-s3
...
"Partition pruning" for s3
2022-05-25 11:03:07 +02:00
Robert Schulze
05e4fa7df1
Fix special case of trivial regexp
...
Previously, we would alsays set 1 in case of a trivial regex (which is
correct). If someone in future builds a negated operator, then this
will produce wrong results. Right now, negation of regexp (SQL: NOT
MATCH) is implemented at a higher level, so we are safe and this is more
a preventive fix.
2022-05-25 10:05:55 +02:00
Robert Schulze
01ab7b9bad
Pass strings in some places as string_view
...
The original goal was to get change
const auto & needle = String(
reinterpret_cast<const char *>(cur_needle_data),
cur_needle_length);
in Functions/MatchImpl.h into a std::string_view to save an allocation +
copy. The needle is eventually passed as search pattern into the re2
library. Re2 has an alternative constructor taking a const char * i.e. a
NULL-terminated string. Here, the needle is NULL-terminated but
1. this is only because it is passed inside a ColumnString yet this is
not always the case (e.g. fixed string columns has a dense layout w/o
NULL terminator).
2. assuming NULL termination for users != MatchImpl of the regex code is
too dangerous.
So, for now we'll stay with copying to be on the safe side. One fine day
when re2 has a ptr/size ctor, we can use std::string_view.
Just changing a few other places from std::string to std::string_view
but this will not help with performance.
2022-05-25 10:05:51 +02:00
Robert Schulze
040fbf3686
Tighter sanity checks in matching code
2022-05-25 10:05:06 +02:00
Robert Schulze
35bef17302
Introduce variables to hold the match result
...
--> nicer when debugging
2022-05-25 10:04:47 +02:00
Robert Schulze
b044d44fef
Refactoring: Make template instantiation easier to read
...
- introduced class MatchTraits with enums that replace bool template
parameters
- (minor: made negation the last template parameters because negation
executes last during evaluation)
2022-05-25 10:03:58 +02:00
Bharat Nallan Chakravarthy
57cfc0bd04
check for validity of h3 index
2022-05-25 06:17:15 +05:30
Alexander Gololobov
2ff747785e
Merge pull request #37394 from ClickHouse/array_norm_dist_fixes
...
Do computations on the raw input data without copying to Eigen::Matrix
2022-05-24 20:59:04 +02:00
Robert Schulze
7348a0eb28
Merge pull request #37251 from ClickHouse/non_const_like
...
Support non-constant SQL functions (NOT) (I)LIKE and MATCH
2022-05-24 20:28:31 +02:00
Robert Schulze
028f15c4fa
Review comment: Throw LOGICAL_ERROR for different sizes of haystack / needles
2022-05-24 20:19:13 +02:00
Maksim Kita
3c0c322d7c
Merge pull request #37480 from kitaisreal/dynamic-dispatch-infrastructure-improvements
...
Dynamic dispatch infrastructure style fixes
2022-05-24 18:13:53 +02:00
Maksim Kita
6fb51e8bd3
Function hasAll added dynamic dispatch
2022-05-24 17:06:06 +02:00
Maksim Kita
86180614e7
Fixed tests
2022-05-24 15:33:03 +02:00
Anton Popov
e96af9fd75
better binary serialization of ColumnObject
2022-05-24 13:16:11 +00:00
Maksim Kita
e6e4b2826d
Dynamic dispatch infrastructure style fixes
2022-05-24 14:25:29 +02:00
Amos Bird
c25ef92139
Fix tests
2022-05-24 18:57:55 +08:00
Amos Bird
093d315756
partition pruning for s3
2022-05-24 18:57:55 +08:00
Maksim Kita
712b000f2a
Merge pull request #37443 from kitaisreal/functions-normalize-utf8-fix
...
Functions normalize utf8 fix
2022-05-24 11:11:15 +02:00
Alexander Gololobov
7d0ed7e51a
Remove eigen library
2022-05-24 10:24:50 +02:00
Alexander Gololobov
caad1435d5
Optimized the case when one the argumnets is Const
2022-05-24 10:24:50 +02:00
Alexander Gololobov
65fbda436a
Do computations on the raw input data without copying to Eigen::Matrix
2022-05-24 10:24:50 +02:00
Bharat Nallan Chakravarthy
6e49b76cfd
try suppress h3 asan errors
2022-05-24 10:22:46 +05:30
Maksim Kita
996241493f
Merge pull request #37447 from kitaisreal/binary-function-vectorized-remove-macro
...
BinaryFunctionVectorized remove macro
2022-05-23 16:50:12 +02:00
Maksim Kita
fe21b4ca9e
Fixed style check
2022-05-23 14:41:07 +02:00
Maksim Kita
008de5c779
Merge pull request #37438 from kitaisreal/function-binary-representation-style-fixes
...
FunctionBinaryRepresentation style fixes
2022-05-23 13:54:15 +02:00
Maksim Kita
e550843d56
BinaryFunctionVectorized remove macro
2022-05-23 12:45:16 +02:00
Maksim Kita
585b86446e
Added hierarchical_index_bytes_allocated column in system.dictionaries
2022-05-23 12:42:00 +02:00
Maksim Kita
be9c3d9bd4
Fixed build
2022-05-23 12:42:00 +02:00
Maksim Kita
100afa8bcf
Dictionary getDescendants performance improvement
2022-05-23 12:42:00 +02:00
Maksim Kita
78782de887
Functions normalizeUTF8 logical error fix
2022-05-23 12:19:14 +02:00
Maksim Kita
98bb34f2f2
FunctionBinaryRepresentation style fixes
2022-05-23 10:59:33 +02:00
Robert Schulze
e25ca139cd
Implement SQL functions (NOT) (I)LIKE() + MATCH() with non-const needles
...
With this commit, SQL functions LIKE and MATCH and their variants can
work with non-const needle arguments. E.g.
create table tab
(id UInt32, haystack String, needle String)
engine = MergeTree()
order by id;
insert into tab values
(1, 'Hello', '%ell%')
(2, 'World', '%orl%')
select id, haystack, needle, like(haystack, needle)
from tab;
For that, methods vectorVector() and vectorFixedVector() were added to
MatchImpl. The existing code for const needles has an optimization where
the compiled regexp is cached. The new code expects a different needle
per row and consequently does not cache the regexp.
2022-05-23 09:41:28 +02:00
Alexey Milovidov
698e5e5352
Merge pull request #37415 from Joeywzr/gen_uuid
...
Generate multiple columns with UUID
2022-05-23 00:29:42 +03:00
Robert Schulze
4829ae8380
Replace overly clever const argument logic by something simpler
...
The previous logic was smart but too inflexible to support the next
commits. Replace by a simple pushdown logic where string search
implementations return their const arguments instead of having the
common class figure these out based on properties/traits.
2022-05-22 17:50:38 +02:00
Robert Schulze
0299cc87e4
Improve naming consistency of string search code
...
Just renamings, nothing major ...
2022-05-22 17:50:38 +02:00
Robert Schulze
19d53c14fa
Merge pull request #37382 from ClickHouse/wc++98-compat-extra-semi
...
Enable -Wc++98-compat-extra-semi
2022-05-22 09:40:45 +02:00
Memo
15a76d012f
add NUMBER_OF_ARGUMENTS_DOESNT_MATCH defination
2022-05-22 13:38:47 +08:00
Yakov Olkhovskiy
d878f193d8
Merge pull request #37013 from mnutt/hashid
...
Add hashid support
2022-05-21 17:14:54 -04:00
Memo
942af133e5
init
2022-05-21 23:54:12 +08:00
Maksim Kita
0d69f35b6a
Fixed style check
2022-05-21 14:54:45 +02:00
Maksim Kita
42439aeb3c
Improve performance of number comparison functions
2022-05-20 22:42:48 +02:00
Robert Schulze
0f6715bd91
Follow-up to PR #37300 : semicolon warnings
...
In PR #37300 , Alexej asked why we the compiler does not warn about
unnecessary semicolons, e.g.
f()
{
}; // <-- here
The answer is surprising: In C++98, above syntax was disallowed but by
most compilers accepted it regardless. C++>11 introduced "empty
declarations" which made the syntax legal.
The previous behavior can be restored using flag
-Wc++98-compat-extra-semi. This finds many useless semicolons which were
removed in this change. Unfortunately, there are also false positives
which would require #pragma-s and HAS_* logic (--> check_flags.cmake) to
suppress. In the end, -Wc++98-compat-extra-semi comes with extra effort
for little benefit. Therefore, this change only fixes some semicolons
but does not enable the flag.
2022-05-20 15:06:34 +02:00
Michael Nutt
23dbf1b257
Merge branch 'master' into hashid
2022-05-20 08:42:01 -04:00
Robert Schulze
b475fbc9a7
Merge pull request #37300 from ClickHouse/cmake-cleanup-pt3
...
Various cmake cleanups
2022-05-20 10:02:36 +02:00
Dmitry Novik
b3ccf96c81
Merge remote-tracking branch 'origin/master' into grouping-function
2022-05-19 17:58:33 +00:00
Dmitry Novik
d4c66f4a48
Code cleanup & fix GROUPING() with TOTALS
2022-05-19 16:36:51 +00:00
avogar
f69c3175af
Fix comments
2022-05-19 10:13:44 +00:00
avogar
cb8646fbb4
Merge branch 'master' of github.com:ClickHouse/ClickHouse into fix-array-map-nothing
2022-05-19 07:18:48 +00:00
Michael Nutt
e0c14dfc01
fix includes
2022-05-18 20:16:43 -04:00
Bharat Nallan Chakravarthy
00d3bbc2e0
review fixes
2022-05-18 17:04:15 -07:00
Michael Nutt
c87638d2ba
put hashid behind allow_experimental_hash_functions setting
2022-05-18 19:06:33 -04:00
Michael Nutt
11a17997b3
better const column checking
2022-05-18 18:09:45 -04:00
Michael Nutt
da99b1b250
simplify hashing
2022-05-18 16:57:30 -04:00
Michael Nutt
d6d1c22008
better argument type checking
2022-05-18 16:57:21 -04:00
Michael Nutt
e453132db8
remove hashid define guard
2022-05-18 15:26:54 -04:00
Maksim Kita
df0cb06209
Merge pull request #37289 from kitaisreal/unary-arithmetic-functions-improve-performance-dynamic-dispatch
...
Improve performance of unary arithmetic functions
2022-05-18 19:16:30 +02:00
Dmitry Novik
6356112a76
Refactor GROUPING function
2022-05-18 15:23:31 +00:00
Anton Popov
715d5b0173
Merge pull request #37270 from Avogar/fix-bool-eof
...
Fix Nullable(String) to Nullable(Bool/IPv4/IPv6) conversion
2022-05-18 14:08:52 +02:00
Nikolai Kochetov
64ecb3941c
Merge pull request #37259 from ClickHouse/clangtidies2
...
Activate more clangtidies
2022-05-18 13:01:40 +02:00
Bharat Nallan Chakravarthy
c476b8dd92
Merge remote-tracking branch 'upstream/master' into ncb/h3-unidirectionaledges-funcs
2022-05-17 20:10:03 -07:00
mergify[bot]
05305811f8
Merge branch 'master' into fix-bool-eof
2022-05-17 19:28:11 +00:00
Robert Schulze
0c55ac76d2
A few clangtidy updates
...
Enable:
- bugprone-lambda-function-name: "Checks for attempts to get the name of
a function from within a lambda expression. The name of a lambda is
always something like operator(), which is almost never what was
intended."
- bugprone-unhandled-self-assignment: "Finds user-defined copy
assignment operators which do not protect the code against
self-assignment either by checking self-assignment explicitly or using
the copy-and-swap or the copy-and-move method.""
- hicpp-invalid-access-moved: "Warns if an object is used after it has
been moved."
- hicpp-use-noexcept: "This check replaces deprecated dynamic exception
specifications with the appropriate noexcept specification (introduced
in C++11)"
- hicpp-use-override: "Adds override (introduced in C++11) to overridden
virtual functions and removes virtual from those functions as it is
not required."
- performance-type-promotion-in-math-fn: "Finds calls to C math library
functions (from math.h or, in C++, cmath) with implicit float to
double promotions."
Split up:
- cppcoreguidelines-*. Some of them may be useful (haven't checked in
detail), therefore allow to toggle them individually.
Disable:
- linuxkernel-*. Obvious.
2022-05-17 20:56:57 +02:00
mergify[bot]
36b4ed19c5
Merge branch 'master' into unary-arithmetic-functions-improve-performance-dynamic-dispatch
2022-05-17 18:08:24 +00:00
Alexander Gololobov
38f291c70d
Merge pull request #37030 from bharatnc/ncb/h3-missing-traversal-funcs
...
add remaining h3 traversal funcs
2022-05-17 18:19:56 +02:00
avogar
46f4f8a457
Fix use of unitialized memory
2022-05-17 12:59:46 +00:00
Maksim Kita
beb34e7062
Improve performance of unary arithmetic functions
2022-05-17 13:53:20 +02:00
Alexander Gololobov
670a8bac29
Fixed required array size calculation and reduced number of reallocations
2022-05-17 09:45:49 +02:00
Kseniia Sumarokova
94683786dc
Merge branch 'master' into MeiliSearch
2022-05-16 22:42:09 +02:00
Alexander Gololobov
e2e3536a80
Fixed handling of gridPathCellsSize() errors
2022-05-16 21:23:45 +02:00
avogar
415aabd4d0
Fix Nullable(String) to Nullable(Bool/IPv4/IPv6) conversion
2022-05-16 19:15:18 +00:00
Robert Schulze
43945cea1b
Fixing some warnings
2022-05-16 20:59:27 +02:00
Dmitry Novik
e5b395e054
Support ROLLUP and CUBE in GROUPING function
2022-05-16 17:33:38 +00:00
Robert Schulze
e3cfec5b09
Merge remote-tracking branch 'origin/master' into clangtidies
2022-05-16 10:12:50 +02:00
Michael Nutt
8bff9b8ce9
Merge branch 'master' into hashid
2022-05-14 09:52:05 +09:00
Dmitry Novik
6fc7dfea80
Support ordinary GROUP BY
2022-05-13 23:04:12 +00:00
Maksim Kita
3f18d7da33
Merge pull request #37189 from kitaisreal/function-h3-k-ring-add-cast
...
Function h3kRing added cast
2022-05-13 22:53:20 +02:00
Dmitry Novik
efb30bdf64
Correctly use __grouping_set_map column
2022-05-13 18:20:12 +00:00
Dmitry Novik
ae81268d4d
Try to compute helper column lazy
2022-05-13 14:55:50 +00:00
Maksim Kita
ef7e21ea46
Function h3kRing added cast
2022-05-13 15:20:04 +02:00
Michael Nutt
9599c1f05c
use single-character find for bad alphabet
2022-05-13 19:01:20 +09:00
qieqieplus
8b3fb22c6d
check array sizes for short cut
2022-05-13 17:05:18 +08:00
mergify[bot]
2fdd305ef1
Merge branch 'master' into array-distance-functions
2022-05-13 07:56:57 +00:00
Michael Nutt
62a1e1c0cd
use existing error code
2022-05-13 09:58:14 +09:00
Michael Nutt
03a7f7c4bd
disallow null characters in custom alphabet
2022-05-13 08:43:42 +09:00
Dmitry Novik
92575fc3e5
Add missing file
2022-05-12 16:54:02 +00:00
Dmitry Novik
c5b40a9c91
WIP on GROUPING function
2022-05-12 16:40:26 +00:00
avogar
4c945d7fe5
Fix
2022-05-12 16:07:58 +00:00
avogar
0311dbb422
Add default implementation for Nothing, support arrays of nullable for arrayFilter and similar functions
2022-05-12 15:15:31 +00:00
Alexander Gololobov
548625a003
Reserve result vectors
2022-05-12 14:33:20 +02:00
Alexander Gololobov
7c226f6067
Fixed special case condition
2022-05-12 14:32:47 +02:00
Alexander Gololobov
355c5443a0
Trying to fix sanitizer failure
2022-05-12 13:50:53 +02:00
Robert Schulze
f8c24c5fe8
Merge pull request #37117 from ClickHouse/bug-37114
...
Fix Bug 37114 - ilike on FixedString(N)s produces wrong results
2022-05-12 09:39:36 +02:00
Mikhail Artemenko
031aca593d
fix after merge
2022-05-12 01:42:34 +03:00
Alexander Gololobov
096b4626d6
Print more info in mismatching array sizes error message
2022-05-11 21:20:33 +02:00
Michael Nutt
2ff13c4e5d
Merge branch 'master' into hashid
2022-05-12 03:12:10 +09:00
Alexander Gololobov
b34a55c9e9
Merge branch 'master' into array-distance-functions
2022-05-11 16:55:02 +02:00
Yakov Olkhovskiy
6d3a54a044
Merge pull request #36467 from olevino/wyhash
...
Wyhash
2022-05-11 09:57:09 -04:00
Alexander Gololobov
3533cd770d
Reserve result arrays
2022-05-11 14:46:06 +02:00
Robert Schulze
7232f47c68
Fix Bug 37114 - ilike on FixedString(N) columns produces wrong results
...
The main fix is in MatchImpl.h where the "case_insensitive" parameter is
added to Regexps::get().
Also made "case_insensitive" a non-default template parameter to reduce
the risk of future bugs.
The remainder of this commit are minor random code improvements.
resoves #37114
2022-05-11 14:30:21 +02:00
avogar
246aafa58a
Merge branch 'master' of github.com:ClickHouse/ClickHouse into fix-array-map-nothing
2022-05-11 10:51:14 +00:00
mergify[bot]
0e2a86dcee
Merge branch 'master' into MeiliSearch
2022-05-11 08:49:19 +00:00
qieqieplus
5f9eee976f
fix & format
2022-05-11 16:14:43 +08:00
Michael Nutt
b3340caea4
fixing hashid function registration when hashid is disabled
2022-05-10 20:26:42 +09:00
Sergei Trifonov
376e556474
Merge pull request #36861 from Vxider/fix-fire-hop-window
...
Fix fire in window view with hop window
2022-05-10 09:25:24 +02:00
bharatnc
592de6895c
Merge remote-tracking branch 'upstream/master' into ncb/h3-missing-traversal-funcs
2022-05-09 22:41:03 -07:00
avogar
cbada6fe03
Fix Illegal column Nothing while using arrayMap
2022-05-09 15:51:31 +00:00
Yakov Olkhovskiy
24d1176bf3
Update CMakeLists.txt
2022-05-09 09:37:03 -04:00
Yakov Olkhovskiy
a0e67be32f
Update CMakeLists.txt
2022-05-09 08:54:00 -04:00
qieqieplus
b00a17ca38
Merge branch 'master' into array-distance-functions
2022-05-09 15:15:07 +08:00
qieqieplus
307511aab4
impl norm functions for array
2022-05-09 14:42:09 +08:00
qieqieplus
a17da05bda
use return type as matrix value type
2022-05-09 14:42:02 +08:00
Robert Schulze
1b81bb49b4
Enable clang-tidy modernize-deprecated-headers & hicpp-deprecated-headers
...
Official docs:
Some headers from C library were deprecated in C++ and are no longer
welcome in C++ codebases. Some have no effect in C++. For more details
refer to the C++ 14 Standard [depr.c.headers] section. This check
replaces C standard library headers with their C++ alternatives and
removes redundant ones.
2022-05-09 08:23:33 +02:00
Yakov Olkhovskiy
a2b1f7fe08
Update CMakeLists.txt
2022-05-09 01:15:50 -04:00
bharatnc
d49491a945
add h3HexRing func
2022-05-08 22:05:44 -07:00
bharatnc
ef623a39a0
minor fix to func return type
2022-05-08 22:05:44 -07:00
bharatnc
2145aa3e3a
add h3Distance func
2022-05-08 22:05:44 -07:00
Yakov Olkhovskiy
c53ce4269f
Update CMakeLists.txt
...
define language for header only library
2022-05-09 00:51:03 -04:00
Michael Nutt
e87309ae8d
clang-format FunctionHashID
2022-05-09 09:33:47 +09:00
Michael Nutt
e9f8114738
clean up std::string usage
2022-05-09 09:00:10 +09:00
Michael Nutt
477d9b1793
guard against hashid support being disabled
2022-05-09 07:52:35 +09:00
Robert Schulze
61cbcbf073
Enable clang-tidy readability-misleading-indentation
...
Official docs:
Correct indentation helps to understand code. Mismatch of the
syntactical structure and the indentation of the code may hide serious
problems.
2022-05-08 19:12:01 +02:00
Michael Nutt
c16ce7657e
add hashid support
2022-05-08 06:42:51 +09:00
mergify[bot]
2d1057bc87
Merge branch 'master' into fix-substring-negative-offset-length
2022-05-07 10:30:39 +00:00
bharatnc
be3f497b30
add h3Line func
2022-05-06 09:17:07 -07:00
Anton Popov
515f68eead
Merge remote-tracking branch 'upstream/master' into dynamic-columns-14
2022-05-06 16:10:51 +00:00
Anton Popov
566c08086a
support Object type inside other types
2022-05-06 14:44:00 +00:00
Anton Popov
0caf91602f
Merge pull request #36812 from CurtizJ/hash-array-of-tuples
...
Allow to execute hash functions with arguments of type `Array(Tuple(..))`
2022-05-06 14:15:38 +02:00
mergify[bot]
eba26ec956
Merge branch 'master' into fix-fire-hop-window
2022-05-05 13:11:34 +00:00
bharatnc
01ea1beee5
Merge remote-tracking branch 'upstream/master' into ncb/h3-unidirectionaledges-funcs
2022-05-04 15:55:56 -07:00
Yakov Olkhovskiy
9c1a06703a
Merge pull request #36564 from awakeljw/fork_chmaster2
...
Fix CAST Object to Object with Nullable subcolumns
2022-05-04 14:40:43 -04:00
Vxider
407c14251a
simplify code
2022-05-04 20:56:09 +08:00
mergify[bot]
17aecac7ff
Merge branch 'master' into new-clangtidies
2022-05-03 19:44:01 +00:00
Robert Schulze
0a4eccb73e
Activated a bunch of LLVM 12/13/14 clang-tidy warnings
...
Omitted new checks which produce too many matches or which are
controversial (e.g. readability-identifier-length).
New checks:
- misc-misleading-bidirectional + misc-misleading-identifier
Detects potential attack as described in the Trojan Source attack
- modernize-macro-to-enum
Replaces groups of adjacent macros with an unscoped anonymous enum
- modernize-shrink-to-fit
Replace copy and swap tricks on shrinkable containers with the
shrink_to_fit() method call
- modernize-use-transparent-functors
Prefer transparent functors to non-transparent ones
- modernize-use-uncaught-exceptions
This check will warn on calls to std::uncaught_exception and replace
them with calls to std::uncaught_exceptions (uncaught_exception was
deprecated with C++17)
- performance-no-int-to-ptr
Diagnoses every integer to pointer cast
- readability-duplicate-include
Looks for duplicate includes and removes them
- readability-redundant-preprocessor
Finds potentially redundant preprocessor directives
- bugprone-lambda-function-name
Checks for attempts to get the name of a function from within a lambda
expression
- bugprone-redundant-branch-condition
Finds condition variables in nested if statements that were also
checked in the outer if statement and were not changed
- bugprone-shared-ptr-array-mismatch
Finds initializations of C++ shared pointers to non-array type that
are initialized with an array
- bugprone-stringview-nullptr
Checks for various ways that the const CharT* constructor of
std::basic_string_view can be passed a null argument and replaces them
with the default constructor in most cases
- bugprone-suspicious-memory-comparison
Finds potentially incorrect calls to memcmp() based on properties of
the arguments
2022-05-03 09:22:11 +02:00
bharatnc
e56f7a1451
fix style check
2022-05-02 22:20:27 -07:00
bharatnc
a0da885c3c
add h3GetUnidirectionalEdgeBoundary func
2022-05-02 21:38:54 -07:00
Dmitry Novik
9be17ef50c
Merge pull request #35111 from azat/optimize_aggregation_in_order-prefix
...
Implement partial GROUP BY key for optimize_aggregation_in_order
2022-05-02 17:49:48 +02:00
Vladimir C
7293a69e5e
Merge pull request #36656 from amosbird/timefunctionunderflow
...
Saturate date/datetime to zero (part 2)
2022-05-02 17:10:48 +02:00
bharatnc
745a44a7b0
add h3GetUnidirectionalEdgesFromHexagon func
2022-05-01 22:25:58 -07:00
bharatnc
30d14c1217
add h3GetIndexesFromUnidirectionalEdge func
2022-05-01 21:26:44 -07:00
awakeljw
0a32fe4da3
Fix CAST Object to Object with Nullable subcolumns
2022-05-02 11:31:13 +08:00
bharatnc
77b5f6fee0
add h3GetDestinationIndexFromUnidirectionalEdge func
2022-05-01 14:06:45 -07:00
bharatnc
7e871adf91
add h3GetOriginIndexFromUnidirectionalEdge func
2022-05-01 13:47:43 -07:00
bharatnc
0e4a833717
add h3UnidirectionalEdgeIsValid func
2022-05-01 13:21:18 -07:00
bharatnc
6ce66e6d13
add func h3GetUnidirectionalEdge
2022-05-01 11:12:05 -07:00
Mikhail Artemenko
41f657d8ed
Merge branch 'master' into MeiliSearch
2022-05-01 10:01:56 +03:00
Alexey Milovidov
1ddb04b992
Merge pull request #36715 from amosbird/refactorbase
...
Reorganize source files so that base won't depend on Common
2022-04-30 09:40:58 +03:00
Anton Popov
9878cae3e8
allow to execute hash function with arguments of type Array(Tuple(..))
2022-04-29 18:50:42 +00:00
Azat Khuzhin
767acd53fb
Add ability to pass range of rows to Aggregator
...
v2: fix compiled aggregate functions (seek result to row_start)
v3: fix compiled aggregate functions (seek args to row_start)
v4: change signatures for JIT
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-04-29 06:57:55 +03:00
Amos Bird
4a5e4274f0
base should not depend on Common
2022-04-29 10:26:35 +08:00
Amos Bird
e81929a8b5
Saturate date/datetime to zero (part 2)
...
For partial hours/minutes timezones.
2022-04-29 10:24:18 +08:00
Meena Renganathan
bdaf5391cf
Merge branch 'master' of https://github.com/DevTeamBK/ClickHouse into FIPS_compliance
2022-04-28 06:15:46 -07:00
Nikita Mikhaylov
7d95051d32
Fixed integer overflow in toStartOfInterval ( #36546 )
2022-04-26 11:44:57 +02:00
Meena Renganathan
ab329721d7
Merge branch 'master' of https://github.com/DevTeamBK/ClickHouse into FIPS_compliance
2022-04-25 06:21:44 -07:00
Memo
856412ea6e
fix wrong alias
2022-04-22 11:27:24 +08:00
Memo
25f4d76da3
change name
2022-04-22 11:24:44 +08:00
Memo
956d525840
fix conflict
2022-04-22 11:22:50 +08:00
Memo
32721b001f
add alias
2022-04-22 11:18:07 +08:00
Memo
39aadf0975
replaced toStartOfFiveMinute to toStartOfFiveMinutes
2022-04-22 10:49:59 +08:00
olevino999
6594ae8e44
Merge branch 'master' of github.com:ClickHouse/ClickHouse into wyhash
2022-04-21 19:36:25 +03:00
BoloniniD
a353210e94
Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3
2022-04-21 18:44:42 +03:00
Maksim Kita
57444fc7d3
Merge pull request #36444 from rschu1ze/clang-tidy-fixes
...
Clang tidy fixes
2022-04-21 16:11:27 +02:00
olevino999
465191b562
wyhash
2022-04-21 02:31:31 +03:00
olevino999
64989afa52
wyhash
2022-04-21 02:26:37 +03:00
Yakov Olkhovskiy
95fc6243b1
Merge pull request #36386 from Joeywzr/hex_support_uint128
...
hex support Int128/Int256/UInt128/UInt256
2022-04-20 11:11:51 -04:00
Robert Schulze
b24ca8de52
Fix various clang-tidy warnings
...
When I tried to add cool new clang-tidy 14 warnings, I noticed that the
current clang-tidy settings already produce a ton of warnings. This
commit addresses many of these. Almost all of them were non-critical,
i.e. C vs. C++ style casts.
2022-04-20 10:29:05 +02:00
qieqieplus
2865c8141d
Merge branch 'master' into array-distance-functions
2022-04-19 14:46:39 +08:00
qieqieplus
c4b5c45740
refactor & add tests
2022-04-19 14:39:40 +08:00
Memo
8d4e433c7d
add int8 int16 int32 int64 and tests
2022-04-19 14:38:16 +08:00
Robert Schulze
118e94523c
Activate clang-tidy warning "readability-container-contains"
...
This check suggests replacing <Container>.count() by
<Container>.contains() which is more speaking and in case of
multimaps/multisets also faster.
2022-04-18 23:53:11 +02:00
Memo
335be4c807
hex support Int128/Int256/UInt128/UInt256
2022-04-18 20:13:43 +08:00
Alexey Milovidov
f6ab2bd523
Merge pull request #36312 from ClickHouse/remove-arcadia
...
Remove remaining parts of Arcadia
2022-04-18 07:02:54 +03:00
Alexey Milovidov
294efeccfe
Fix clang-tidy-14 (part 1)
2022-04-16 04:54:04 +02:00
Alexey Milovidov
cbeeb7ec4f
Remove Arcadia
2022-04-16 00:20:47 +02:00
Mikhail Artemenko
2fd86cc564
Merge branch 'master' into MeiliSearch
2022-04-13 12:05:46 +03:00
BoloniniD
30712ead45
Merge branch 'master' into BLAKE3
2022-04-13 00:45:44 +03:00
bharatnc
e5494de63c
h3Res0Indexes - remove unused array
2022-04-11 22:18:55 -07:00
Anton Popov
471e945efe
Merge pull request #35934 from ClickHouse/make_date
...
Implementation of makeDateTime() and makeDateTime64() #30895
2022-04-11 16:38:23 +02:00
Alexander Tokmakov
6a46da93ae
Merge branch 'master' into mvcc_prototype
2022-04-07 23:22:19 +02:00
Kruglov Pavel
73adbb4c15
Merge pull request #35986 from amosbird/better-scalar1
...
Fix performance regression of scalar query
2022-04-07 14:07:59 +02:00
Alexander Tokmakov
8290ffa88d
Merge branch 'master' into mvcc_prototype
2022-04-07 13:50:42 +02:00
Alexander Gololobov
42d4a84a6f
More tests for corner cases
2022-04-07 12:34:26 +02:00
Alexander Gololobov
81d150ed43
Implementation of makeDateTime() and makeDateTime64()
2022-04-07 00:30:18 +02:00
Meena Renganathan
645e156af6
Updated the boringssl-cmake to match the latest broingssl module update
2022-04-06 14:52:33 -07:00
Mikhail Artemenko
151eeb1a27
Merge branch 'master' into MeiliSearch
2022-04-06 17:07:55 +03:00
Amos Bird
df06f9f974
Fix performance regression of scalar query
2022-04-06 17:50:22 +08:00
Vladimir C
2ebae2d722
Merge pull request #35682 from CurtizJ/dynamic-columns-6
2022-04-06 11:48:07 +02:00
Alexander Tokmakov
1fe50ad201
Merge branch 'master' into mvcc_prototype
2022-04-05 14:38:02 +02:00
Maksim Kita
b160ffd726
Merge pull request #35723 from ClickHouse/array-has-all-sse-avx2-optimizations
...
Merging #27653
2022-04-05 11:09:14 +02:00
Alexander Gololobov
f0de8eb625
Extracted argument handling into a separate class to reuse it for makeDateTime() and makeDateTime64()
2022-04-04 19:57:04 +02:00
Alexander Tokmakov
a2167f12b8
Merge branch 'master' into mvcc_prototype
2022-04-04 14:24:23 +02:00
Maksim Kita
47528de78b
Fix build
2022-04-04 14:07:05 +02:00
Maksim Kita
af405d3ba6
Fixed style check
2022-04-04 13:34:27 +02:00
Nikolai Kochetov
19819c72f8
Merge pull request #35290 from bigo-sg/function_enumerate_streams
...
Add function getTypeSerializationStreams
2022-04-04 12:09:53 +02:00
Alexey Milovidov
d9e5ca2119
Merge pull request #34394 from holadepo/last_day
...
Add toLastDayOfMonth function
2022-04-04 07:02:08 +03:00
Alexander Tokmakov
5a50ad9de3
Merge branch 'master' into mvcc_prototype
2022-03-31 11:35:04 +02:00
taiyang-li
a5765dccb1
Merge branch 'master' into function_enumerate_streams
2022-03-31 12:21:00 +08:00
Kruglov Pavel
4ec3c35e14
Merge pull request #35755 from Avogar/fix-custom-to-string
...
Fix bug in conversion from custom types to string
2022-03-31 00:06:48 +02:00
Maksim Kita
e43fdcd7eb
Function hasAll added dynamic dispatch for SSE4.2, AVX2
2022-03-30 18:41:34 +02:00
Maksim Kita
8d0a9689e4
Update gatherutils CMakeLists to use X86_INTRINSICS_FLAGS from cpu_features
2022-03-30 18:40:18 +02:00
Maksim Kita
91eec8962f
Rename test
2022-03-30 18:39:28 +02:00
avogar
af4bfec051
Fix bug in conversion from custom types to string
2022-03-30 11:19:03 +00:00
Vladimir C
31c367d3cd
Merge pull request #35651 from amosbird/columntransformerrename
2022-03-30 12:37:30 +02:00
Antonio Andelic
d85ed8f2a9
Merge pull request #35655 from ClickHouse/exception-compile-time-message-check
...
Use compile-time check for `Exception` messages
2022-03-30 08:11:32 +02:00
taiyang-li
47f3e9330e
merge master and fix conflict
2022-03-30 11:06:51 +08:00
Anton Popov
a842a81aba
Merge pull request #35690 from CurtizJ/flatten-tuple
...
Add function `flattenTuple`
2022-03-30 00:24:36 +02:00
Maksim Kita
2742b88e6c
Merge pull request #27653 from ContentSquare/hasAllAny_SIMD
...
Implement HasAll specialization for SSE and AVX2
2022-03-29 16:35:59 +02:00
Alexander Tokmakov
287d858fda
Merge branch 'master' into mvcc_prototype
2022-03-29 16:24:12 +02:00
Antonio Andelic
9990abb76a
Use compile-time check for Exception messages, fix wrong messages
2022-03-29 13:16:11 +00:00
Anton Popov
9610139477
Merge pull request #35629 from CurtizJ/dynamic-columns-5
...
Support schema inference for type `Object` in format `JSONEachRow`
2022-03-29 14:17:09 +02:00
Alexander Gololobov
bf376ee2f5
Merge pull request #35628 from ClickHouse/make_date
...
Implementation of makeDate and makeDate32
2022-03-29 13:35:26 +02:00
BoloniniD
2d2420c8a9
Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3
2022-03-29 11:00:50 +03:00
taiyang-li
db436ad621
Merge branch 'master' into function_enumerate_streams
2022-03-29 11:35:21 +08:00
Alexander Gololobov
b49993f993
Fixes according to the code review
2022-03-28 22:47:39 +02:00
Anton Popov
24c0cf86d4
add function 'flattenTuple'
2022-03-28 19:32:12 +00:00
Anton Popov
6cbdc6af00
remove obsolete parameter
2022-03-28 18:44:53 +00:00
Alexander Tokmakov
208b242188
Merge branch 'master' into mvcc_prototype
2022-03-28 19:58:06 +02:00
Alexander Gololobov
93021e387e
Implementation of makeDate and makeDate32
2022-03-28 18:57:24 +02:00
Amos Bird
6003a49a87
Fix style
2022-03-28 17:48:47 +08:00
Amos Bird
58a78fba12
formatString bug fix and refactoring
2022-03-28 15:47:48 +08:00
Anton Popov
67195bfdd5
support schema inference for type Object in format JSONEachRow
2022-03-25 21:51:53 +00:00
taiyang-li
7889059f7d
fix building
2022-03-25 22:39:57 +08:00
taiyang-li
4788006030
Merge branch 'master' into function_enumerate_streams
2022-03-25 22:31:10 +08:00
Antonio Andelic
e76074ef7f
Merge branch 'master' into fix-casewithexpression-type-deduction
2022-03-25 11:12:38 +00:00
taiyang-li
dd0873189d
rename all files
2022-03-25 14:54:01 +08:00
taiyang-li
c9acc55008
rename function name
2022-03-25 14:51:59 +08:00
Antonio Andelic
fbba450cff
Take ELSE branch into account for result type deduction
2022-03-24 11:23:18 +00:00
Alexey Milovidov
31eeeeb428
Add compatibility alias
2022-03-24 02:21:57 +01:00
Alexey Milovidov
d54138425f
Rename yandexConsistentHash to kostikConsistentHash
2022-03-24 02:18:25 +01:00
Maksim Kita
4b88c6f934
Merge pull request #35534 from kitaisreal/set-in-ipv4-ipv6-address-cast-fix
...
Fix cast into IPv4, IPv6 address in IN section
2022-03-24 01:26:25 +01:00
Maksim Kita
31b3d2e840
Fixed tests
2022-03-23 19:59:26 +01:00
Yakov Olkhovskiy
1631656803
Merge pull request #34353 from zvonand/issue_33147
...
Extended usage of Milliseconds, Microseconds, Nanoseconds
2022-03-23 13:33:07 -04:00
Maksim Kita
ff2d5dae83
Fix cast into IPv4, IPv6 address in IN section
2022-03-23 15:22:08 +01:00
Alexander Tokmakov
bcec53aadc
Merge branch 'master' into mvcc_prototype
2022-03-23 11:28:43 +01:00
alesapin
0ab9a9c0f6
Merge pull request #33664 from ClickHouse/release-steps
...
Refactor releasing process
2022-03-22 14:43:18 +01:00
Maksim Kita
0576c1b0f3
Merge pull request #35500 from kitaisreal/throw-if-constant-argument-crash-fix
...
Fix crash for function throwIf with constant arguments
2022-03-22 13:44:37 +01:00
Maksim Kita
22112feef3
Fix crash for function throwIf with constant arguments
2022-03-22 12:30:25 +01:00
qieqieplus
91bc253f86
impl distance functions for array
2022-03-22 18:19:12 +08:00
alesapin
bad78f0daa
Don't unwind inlines if we unable to do it
2022-03-22 11:11:36 +01:00
Alexander Tokmakov
3c762f566d
Merge branch 'master' into mvcc_prototype
2022-03-21 20:16:29 +01:00
avogar
0f69baa231
Fix bug in function if that led to logical error
2022-03-21 14:27:25 +00:00
mergify[bot]
e11ef05c2b
Merge branch 'master' into issue_33147
2022-03-21 13:40:17 +00:00
Maksim Kita
695b1300f9
Merge pull request #35383 from rschu1ze/enable-if-to-concepts-pt2
...
Replace more uses of std::enable_if for SFINAE by concepts
2022-03-21 10:47:28 +01:00
taiyang-li
b52a066903
fix style
2022-03-21 14:19:54 +08:00
taiyang-li
8e856a00fd
enable column as argument
2022-03-21 12:49:05 +08:00
Alexander Tokmakov
9e05b12d2c
Merge branch 'master' into mvcc_prototype
2022-03-20 22:42:26 +01:00
Maksim Kita
ab2496ca4e
Fix style check
2022-03-18 21:39:30 +01:00
Maksim Kita
b7b69156e3
Added functions arrayFirstOrNull, arrayLastOrNull
2022-03-18 19:52:02 +01:00
Maksim Kita
2e22164cd7
Merge pull request #35360 from ClickHouse/merging-min-sample-size
...
Merging #34354
2022-03-18 02:28:39 +03:00
BoloniniD
0f8bfbb25b
Add Rust aarch64 toolchain to Docker container
2022-03-18 00:34:44 +03:00
Robert Schulze
df73c75456
Replace more uses of std::enable_if for SFINAE by concepts
...
- enable_if is usually regarded as fragile and unreadable
- C++20 concepts are much easier to read and produce more expressive error messages
- this is follow-up to PR #35347 but this time most of the remaining and
more complex usages of enable_if in the codebase were replaced.
2022-03-17 20:44:55 +01:00
Maksim Kita
8f01a6bbde
Function proportionsZTest fix style check
2022-03-17 18:17:30 +00:00
Maksim Kita
7efb9d38e1
Function proporationsZTest formatting fix
2022-03-17 15:32:15 +00:00
Maksim Kita
cca121f0da
Fixed minSampleSize functions
2022-03-17 15:30:59 +00:00
Alexander Tokmakov
d04dc03fa4
Merge branch 'master' into mvcc_prototype
2022-03-17 15:24:32 +01:00
Maksim Kita
3f45755822
Merge pull request #34354 from achimbab/minSampleSize
...
Implement functions for minimum-sample-size-calculators
2022-03-17 12:47:53 +01:00
Maksim Kita
1bf3ff67b2
Function h3GetRes0Indexes crash fix
2022-03-17 11:45:25 +00:00
Maksim Kita
9e88f3b4b9
Merge pull request #34568 from bharatnc/ncb/h3-misc-funcs-3
...
add remaining h3 miscellaneous functions
2022-03-17 11:55:58 +01:00
alesapin
457fa0d1ba
Merge pull request #23932 from CurtizJ/dynamic-columns
...
Support of dynamic subcolumns (JSON data type)
2022-03-17 10:45:46 +01:00
Maksim Kita
4d8c2b2009
Merge pull request #35347 from rschu1ze/enable-if-to-concepts
...
Replace a few uses of enable_if for SFINAE by concepts
2022-03-17 10:34:08 +01:00
taiyang-li
d9391f2f7b
fix conflict
2022-03-17 17:31:37 +08:00
Maksim Kita
f837f609f3
Merge pull request #35240 from kitaisreal/cast-to-ip-address-refactoring
...
Standardize behaviour of CAST into IPv4, IPv6, toIPv4, toIPv6 functions
2022-03-17 10:26:32 +01:00
taiyang-li
c04ba090bf
add missing sourcefile and fix code style
2022-03-17 15:35:35 +08:00
taiyang-li
0867a0ce17
fix code style
2022-03-17 10:59:13 +08:00
Alexander Tokmakov
4b3e13a4fe
Merge branch 'master' into mvcc_prototype
2022-03-16 21:06:19 +01:00
Maksim Kita
346c6b9d79
Fixed tests
2022-03-16 19:59:31 +00:00
Robert Schulze
b56c28d841
Replace a few uses of enable_if for SFINAE by concepts
...
- enable_if is usually regarded as fragile and unreadable
- C++20 concepts are much easier to read and produce more expressive
error messages
2022-03-16 19:51:38 +01:00
Maksim Kita
9ba53ae037
Merge pull request #34888 from kitaisreal/performance-tests-fix
...
Performance tests fix
2022-03-16 17:19:16 +01:00
Anton Popov
0ba78c3c3a
Merge remote-tracking branch 'upstream/master' into HEAD
2022-03-16 15:28:09 +00:00
Nikita Mikhaylov
96c6325fc3
Merging #33398 (proportionsZTest) ( #35157 )
2022-03-16 13:17:07 +01:00
Maksim Kita
8bdb906acb
Fixed tests
2022-03-15 15:43:39 +00:00
Maksim Kita
08bb39d869
Fixed performance tests
2022-03-15 15:43:39 +00:00
Maksim Kita
fa4508bcb9
Fixed tests
2022-03-15 15:35:25 +00:00
taiyang-li
93550d547e
add doc and tests
2022-03-15 18:25:36 +08:00
taiyang-li
c08e3c0dd2
return const for function getMacro if not distributed query
2022-03-15 17:06:16 +08:00
Alexander Tokmakov
9702b5177d
Merge branch 'master' into mvcc_prototype
2022-03-14 21:45:38 +01:00
Maksim Kita
538f8cbaad
Fix clang-tidy warnings in Disks, Formats, Functions folders
2022-03-14 18:17:35 +00:00
Anton Popov
36ec379aeb
Merge remote-tracking branch 'upstream/master' into HEAD
2022-03-14 16:28:35 +00:00
Maksim Kita
36dc7f03a4
Fixed tests
2022-03-14 09:14:41 +00:00
BoloniniD
253afd032f
Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3
2022-03-13 21:18:46 +03:00
Alexey Milovidov
978877a9c0
Merge pull request #35212 from rschu1ze/cpp14-trait-aliases
...
Use C++14 aliases for some type traits
2022-03-12 22:20:14 +03:00
Alexey Milovidov
3385275003
Merge pull request #35226 from ClickHouse/timezone-in-config
...
Change timezone example in server config
2022-03-12 21:58:29 +03:00
Maksim Kita
3a2b3ce503
Standardize behaviour of CAST into IPv4, IPv6, toIPv4, toIPv6 functions
2022-03-12 17:12:05 +00:00
Alexey Milovidov
df906dfbd4
Change comments
2022-03-11 23:46:02 +01:00
Alexey Milovidov
e4e058d667
Update ReplaceRegexpImpl.h
2022-03-12 01:35:37 +03:00
Robert Schulze
85ce4a9bea
Use C++14 aliases for some type traits
2022-03-11 15:54:29 +01:00
vdimir
c66fb7cf6e
Attempt to fix replaceRegexpAll
2022-03-10 19:57:13 +00:00
alexey-milovidov
008760b436
Update toLastDayOfMonth.cpp
2022-03-10 22:30:46 +03:00
Alexander Tokmakov
061fa6a6f2
Merge branch 'master' into mvcc_prototype
2022-03-10 13:13:04 +01:00
Amos Bird
a19224bc9b
Fix partition pruner: non-monotonic function IN
2022-03-09 15:48:42 +08:00
Alexander Tokmakov
8acfb8d27f
Merge branch 'master' into mvcc_prototype
2022-03-07 17:40:15 +01:00
Anton Popov
0bc57da238
Merge remote-tracking branch 'upstream/master' into HEAD
2022-03-07 14:46:08 +00:00
Vladimir C
79b21c80b1
Merge pull request #33698 from hexiaoting/dev-map-funciton
2022-03-04 11:51:17 +01:00
vdimir
e9dee63fe2
style fix
2022-03-04 10:49:43 +00:00
Maksim Kita
6722227407
Merge pull request #35027 from kitaisreal/functions-hierarchical-dictionaries-const-arguments-fix
...
Dictionary hierarchy functions implicit key cast and support for constant arguments
2022-03-04 10:45:37 +01:00
Anton Popov
df3b07fe7c
Merge remote-tracking branch 'upstream/master' into HEAD
2022-03-03 22:25:28 +00:00
Anton Popov
7d01516202
Merge pull request #34795 from snar/array-compact-higher-order
...
make arrayCompact behave as other higher-order functions
2022-03-03 21:25:43 +03:00
vdimir
2aa6685baf
Add cases to 02169_map_functions, update error messages in FunctionArrayMapped
2022-03-03 18:04:17 +00:00
Maksim Kita
18fabccff2
Functions dictGetHierarchy, dictIsIn, dictGetChildren, dictGetDescendants support implicit key cast and constant arguments
2022-03-03 16:13:05 +00:00
hexiaoting
95530d0d70
fix style error
2022-03-03 13:22:48 +00:00
vdimir
f7f002139a
Upd FunctionArrayMapped
2022-03-03 13:22:48 +00:00
vdimir
939a15d29a
Upd FunctionArrayMapped for Map
2022-03-03 13:22:48 +00:00
vdimir
82a76d47ff
Use FunctionArrayMapped for Map
2022-03-03 13:22:47 +00:00
hexiaoting
aeec4a62e7
fix bug
2022-03-03 13:22:47 +00:00
hexiaoting
71aa411746
Fix bug
2022-03-03 13:22:46 +00:00
hexiaoting
a435c3a1e8
Fix mapFilter bug
2022-03-03 13:22:46 +00:00
hexiaoting
582e6fa1c5
Fix build error
2022-03-03 13:22:46 +00:00
hexiaoting
36939f1d5c
Update src/Functions/FunctionMapMapped.h
...
Co-authored-by: Vladimir C <vdimir@yandex-team.ru>
2022-03-03 13:22:45 +00:00
hexiaoting
ed39edda67
Update src/Functions/mapFilter.cpp
...
Co-authored-by: Vladimir C <vdimir@yandex-team.ru>
2022-03-03 13:22:45 +00:00
hexiaoting
e953e482ec
Implement more functions for Map data type
2022-03-03 13:22:44 +00:00
Maksim Kita
b1a956c5f1
clang-tidy check performance-move-const-arg fix
2022-03-02 18:15:27 +00:00
Maksim Kita
1f5837359e
clang-tidy check performance-noexcept-move-constructor fix
2022-03-02 18:15:27 +00:00
BoloniniD
8474babe88
Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3
2022-03-02 18:27:53 +03:00
HaiBo Li
2ea18b3085
Fix the bug that the toDatetime function overflows ( #32898 )
...
* Fixed overflow bug of the function toDatetime/toDate/toDate32/parseDateTimeBestEffort
2022-03-02 10:06:38 +03:00
Anton Popov
c1fdcf7a64
Merge remote-tracking branch 'upstream/master' into HEAD
2022-03-01 20:21:39 +03:00
Anton Popov
2758db5341
add more comments
2022-03-01 19:32:55 +03:00
mergify[bot]
b4574a777f
Merge branch 'master' into mvcc_prototype
2022-02-28 11:24:39 +00:00