Commit Graph

893 Commits

Author SHA1 Message Date
Robert Schulze
2b2b058693
Fix build
Fallout of #41186
2022-09-23 13:26:15 +00:00
Guo Wangyang
8de524cb73
ColumnVector: optimize UInt8 index with AVX512VBMI (#41247)
* ColumnVector: optimize UInt8 index with AVX512VBMI

* ColumnVector: coding style fix

* ColumnVector: add index test

* ColumnVector: refactory to use default impl for index

* ColumnVector: add more comments

* ColumnVector: more precise and simple type declaration

* Fix style check failure

Co-authored-by: Nikita Taranov <nikita.taranov@clickhouse.com>
2022-09-23 01:59:49 +02:00
Alexey Milovidov
45bd3cfc30 Merge branch 'master' into fix-three-fourth-of-trash 2022-09-20 21:27:41 +02:00
Alexey Milovidov
6a473d8998 Merge 2022-09-19 08:53:20 +02:00
Alexey Milovidov
91baedf03a Fix 6/7 of trash 2022-09-19 08:53:20 +02:00
Alexey Milovidov
3c0961c48b
Merge branch 'master' into fix-map-combinator 2022-09-19 09:32:16 +03:00
Alexey Milovidov
7f68f2c7df Remove trash from LowCardinality 2022-09-18 04:13:21 +02:00
Alexey Milovidov
f4a48cd4d6 Remove cruft 2022-09-17 22:16:31 +02:00
Anton Popov
07cfb0cba4
Merge branch 'master' into dynamic-columns-21 2022-09-17 19:02:58 +02:00
Alexey Milovidov
ada7a44ae4 Remove -WithTerminatingZero methods 2022-09-17 05:34:18 +02:00
Alexey Milovidov
0c3835240b Fix error with multidimensional arrays 2022-09-17 04:16:24 +02:00
Alexey Milovidov
701fdd77b4 Fix wrong implementation of getDataAt for multidimensional arrays 2022-09-16 08:12:28 +02:00
Anton Popov
66667737f0 fix writing of empty columns of type Object 2022-09-15 03:38:22 +00:00
avogar
f1a0501eb2 Fix memory leaks and segfaults in combinators 2022-09-14 18:01:49 +00:00
Alexey Milovidov
2aedd41023
Remove strange code (#40195)
* Remove strange code

* Even more code removal

* Fix style

* Remove even more code

* Simplify code by making it slower

* Attempt to do something

* Attempt to do something

* Well do something with this horrible trash

* Add a test
2022-09-12 16:29:23 +02:00
Alexey Milovidov
9a0892c40c
Merge pull request #41171 from ClickHouse/fix-half-of-trash
Fix half of trash
2022-09-11 21:40:22 +03:00
Alexey Milovidov
0896e6b9b6
Merge pull request #41183 from ClickHouse/fix-parallel-hash-join-for-floats
Better parallel hash JOIN for floats
2022-09-11 09:13:57 +03:00
Alexey Milovidov
7f1e7b5967 Merge branch 'master' into fix-half-of-trash 2022-09-11 06:20:47 +02:00
Alexey Milovidov
cc38ac3764 Better parallel hash JOIN for floats 2022-09-11 03:04:44 +02:00
Alexey Milovidov
b75d56ad9b Merge branch 'master' into remove-some-methods 2022-09-11 01:55:02 +02:00
Alexey Milovidov
fd235919aa Remove some methods 2022-09-10 05:04:40 +02:00
Alexey Milovidov
fa62c7e982 Fix half of trash 2022-09-10 04:08:16 +02:00
Alexey Milovidov
daff201566 Fix something terribly wrong in LowCardinality 2022-09-10 03:28:37 +02:00
Anton Popov
d1fa2148de
Merge branch 'master' into dynamic-columns-14 2022-09-09 19:32:07 +02:00
Anton Popov
f0a404e2c8 Merge remote-tracking branch 'upstream/master' into HEAD 2022-09-06 15:51:16 +00:00
Anton Popov
9dda9658a8 Merge remote-tracking branch 'upstream/master' into HEAD 2022-09-02 12:48:27 +00:00
Anton Popov
cc49198204
Merge pull request #40754 from CurtizJ/fix-fuzzer-with-object
Avoid logical errors in some common operations with `ColumnObject`
2022-09-01 12:57:32 +02:00
Anton Popov
506bee1e2f avoid logical errors at some common operation with ColumnObject 2022-08-29 14:31:09 +00:00
Duc Canh Le
e42e78436e
Merge branch 'master' into ch_canh_fix_json 2022-08-23 21:53:12 +08:00
Duc Canh Le
e0541f3f86 fix columnObject crash with array of variadic dimension elems 2022-08-22 18:34:53 +08:00
Robert Schulze
756b704f81
build: fix build 2022-08-22 08:55:53 +00:00
Robert Schulze
4caf2c4c33
Reduce some usage of StringRef
See #39535 and #39300
2022-08-21 18:10:32 +00:00
Igor Nikonov
7a9bdbe81a Merge remote-tracking branch 'origin/master' into skipping_sorting_step 2022-08-15 20:59:37 +00:00
Robert Schulze
70f63d2aae
Merge pull request #40033 from ClickHouse/reenable-avx512-vbmi-columnvector-filter
Revert the revert of "ColumnVector: optimize filter with AVX512 VBMI2 compress store"
2022-08-15 18:39:57 +02:00
Robert Schulze
4ee1a645d5
style: rename helper method reserve() to resize() 2022-08-15 12:03:21 +00:00
Igor Nikonov
75f6fcfa70 Merge remote-tracking branch 'origin/master' into skipping_sorting_step 2022-08-11 12:35:55 +00:00
Anton Popov
c7615e9bde fix style check 2022-08-10 12:28:28 +00:00
Anton Popov
7c364d4124 fix parsing of tuples in case of errors 2022-08-09 17:39:36 +00:00
Robert Schulze
8a7df6f175
Fix issue #39895 2022-08-09 17:24:38 +00:00
Robert Schulze
05ea33c897
Revert "Revert "ColumnVector: optimize filter with AVX512VBMI2 compress store""
This reverts commit 5524706b78.
2022-08-09 17:00:13 +00:00
Igor Nikonov
86c5280db3 Merge remote-tracking branch 'origin/master' into skipping_sorting_step 2022-08-08 12:43:06 +00:00
Alexey Milovidov
5524706b78
Revert "ColumnVector: optimize filter with AVX512VBMI2 compress store" 2022-08-08 05:03:15 +03:00
Anton Popov
0492ef63a4
Merge pull request #39464 from CurtizJ/fix-custom-serializations
Fix columns of type `Object` with sparse serialization
2022-08-05 00:55:41 +02:00
Igor Nikonov
246f7b71b6
Merge branch 'master' into skipping_sorting_step 2022-08-05 00:03:54 +02:00
Igor Nikonov
0a659f5ab8 Analyze ActionsDAG in ExpressionStep
+ check if sorting order can be kept from prevous step
+ EXPLAIN PLAN header=1 contains Sort Mode and Sort Description for each step
+ some tests
+ fix some review comments
2022-08-04 19:30:25 +00:00
Alexey Milovidov
fe95703a49
Merge pull request #39586 from guowangy/bytes-to-bits-mask
Improve bytes to bits mask transform for SSE/AVX/AVX512
2022-08-04 02:33:58 +03:00
Anton Popov
a333cc4146 Merge remote-tracking branch 'upstream/master' into HEAD 2022-08-02 12:57:43 +00:00
Wangyang Guo
6a7213291b Merge master and resolve conflict 2022-08-02 10:40:40 +08:00
Wangyang Guo
ce3411b0ff Merge master and solve conflict 2022-08-02 10:27:01 +08:00
Wangyang Guo
6a67147584 ColumnVector: refactory to use TargetSpecific::Default::doFilterAligned 2022-08-01 13:41:02 +08:00
Wangyang Guo
b05be56eef ColumnVector: naming style fix 2022-08-01 10:16:15 +08: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
Wangyang Guo
b77214792e ColumnVector: avoid calling resize too frequently 2022-07-27 13:30:44 +08:00
Wangyang Guo
6d7bfc3b2a ColumnVector: add unit test for filter 2022-07-27 13:30:44 +08:00
Wangyang Guo
d781ed5779 ColumnVector: bug fix for unit test failure 2022-07-27 13:30:44 +08:00
Wangyang Guo
7820e8278d ColumnVector: optimize filter with AVX512VBMI2 compress store 2022-07-27 13:30:43 +08:00
Wangyang Guo
be54d0b954 Columns: use AVX512BW vptestnmb to get mask 2022-07-26 10:27:14 +08:00
Wangyang Guo
d6fb682f71 Columns: remove static declaration to zero registers
Static declaration will enforce an extra mem load. But zeroing register
does not need it (like: vpxor zmm, zmm, zmm).
2022-07-26 10:27:01 +08:00
Anton Popov
49627aa554 Merge remote-tracking branch 'upstream/master' into HEAD 2022-07-22 17:16:06 +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
Anton Popov
e0d2c8fb37 fix json type with sparse columns 2022-07-21 14:47:19 +00:00
Alexander Tokmakov
a8da5d96fc remove some dead and commented code 2022-07-21 15:05:48 +02:00
Dmitry Novik
50989bdb68
Merge branch 'master' into group-by-use-nulls 2022-07-19 14:58:01 +02:00
Robert Schulze
deda29b46b
Pass const StringRef by value, not by reference
See #39224
2022-07-15 11:34:56 +00:00
Dmitry Novik
5f65b45269
Merge branch 'master' into group-by-use-nulls 2022-07-12 22:36:04 +02:00
Nikolay Degterinsky
5cd06ac488
Merge pull request #38947 from soyayaos/master
Rename NUMBER_OF_DIMENSIONS_MISMATHED const to NUMBER_OF_DIMENSIONS_MISMATCHED
2022-07-07 22:25:42 +02:00
Dmitry Novik
d1df66687b
Merge branch 'master' into group-by-use-nulls 2022-07-07 20:54:38 +02:00
Dmitry Novik
1587385f7a Cleanup code 2022-07-07 18:53:20 +00:00
Robert Schulze
f15d9ca59c
Merge pull request #38774 from zvonand/zvonand-nnd
Reintroduce nonNegativeDerivative()
2022-07-07 20:39:13 +02:00
Vladimir Galunshchikov
cacc833da6 Rename NUMBER_OF_DIMENSIONS_MISMATHED const to NUMBER_OF_DIMENSIONS_MISMATCHED 2022-07-07 11:15:59 +03:00
Andrey Zvonov
7de39d9b15 Merge branch 'master' of github.com:ClickHouse/ClickHouse into zvonand-nnd 2022-07-06 10:59:35 +03:00
vdimir
65ac97ce89
direct join: handle nullable, add tests 2022-07-04 17:28:14 +00:00
zvonand
eac84351f6 fix behavior 2022-07-04 01:26:07 +03:00
Alexey Milovidov
7adc87a37d
Merge pull request #38413 from nickitat/cache_values_inside_hash_table_grower
Precalculate values inside `HashTableGrower`
2022-07-02 23:30:24 +03:00
Maksim Kita
3a1d8f4518
Merge pull request #38565 from ClickHouse/merging-column-vector-replicate-optimize
Merging #37235
2022-06-30 18:29:51 +02:00
Maksim Kita
d31ca4c4b6 Fixed tests 2022-06-30 14:49:11 +02:00
Anton Popov
7c721578c7
Merge pull request #38320 from CurtizJ/dynamic-columns-16
Improve performace of insertion to columns of type JSON
2022-06-30 14:18:20 +02:00
Maksim Kita
65110fdffc ColumnVector refactor replicate SSE42 optimization 2022-06-29 17:50:25 +02:00
Maksim Kita
ea0996674f
Merge pull request #37235 from zzachimed/column_replicate_optimize_v2
Improve performance for column replicate for uint32 type. In our benc…
2022-06-29 13:45:22 +02:00
Nikita Taranov
986ead7358 use old HashTableGrower with *WithStackMemory data structures 2022-06-27 20:34:18 +02:00
Anton Popov
0b2ec42906 fix build 2022-06-23 11:26:06 +00:00
Anton Popov
52db1b35a1 improve performace of insertion to columns of type JSON 2022-06-22 17:45:51 +00:00
avogar
23f48a9fb9 Fix bug with nested short-circuit functions 2022-06-17 11:44:49 +00:00
Anton Popov
1523c9c9e5 fix filling of empty Nested + small refactoring 2022-06-17 01:10:52 +00:00
Danila Kutenin
607dd8d6ca Restart the pipeline, I guess 2022-06-15 18:16:56 +00:00
Daniel Kutenin
a769dea8ef
Merge branch 'ClickHouse:master' into master 2022-06-15 19:12:10 +01: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
Maksim Kita
864fd627e1
Merge pull request #35762 from kitaisreal/merge-tree-multiple-order-by-columns-improve-insert-performance
MergeTree multiple ORDER BY columns improve insert performance
2022-06-15 11:01:36 +02:00
Alexey Milovidov
ab9fc572d5
Merge pull request #37667 from ClickHouse/group-by-enum-fix
Support types with non-standard defaults in ROLLUP, CUBE, GROUPING SETS
2022-06-15 05:14:33 +03:00
mergify[bot]
3f97745612
Merge branch 'master' into merge-tree-multiple-order-by-columns-improve-insert-performance 2022-06-14 10:49:48 +00:00
Anton Popov
bcd60b8293 fix build 2022-06-06 18:14:59 +00:00
Anton Popov
db6bc122ff Merge remote-tracking branch 'upstream/master' into HEAD 2022-06-06 18:13:16 +00:00
Anton Popov
d6bf9f8c6b fix insertRangeFrom for ColumnObject 2022-06-02 22:56:41 +00:00
zhao zhou
bef9971890 change comment 2022-05-31 21:13:02 +08:00
Dmitry Novik
0e63583b8f Support types with non-standard defaults in ROLLUP, CUBE, GROUPING SETS 2022-05-31 00:11:10 +00:00
Alexey Milovidov
9e3242f186
Merge pull request #37617 from CurtizJ/aggregation-sparse-columns
Better performance with sparse columns in aggregate functions
2022-05-29 09:36:07 +03:00
Anton Popov
b2cff26ecf better performace with sparse columns in aggregate functions 2022-05-28 02:22:20 +00:00
zhao zhou
781701b223 change comment 2022-05-26 22:23:22 +08:00
zhao zhou
2ff2c55479 change some comment 2022-05-26 21:11:56 +08:00
Maksim Kita
96833b8696 ColumnImpl compareImpl added assert for compare result 2022-05-24 20:41:48 +02:00
Maksim Kita
bdc537ead3 Column compareImpl devirtualize compare call 2022-05-24 14:28:33 +02:00
zhao zhou
5162e87dd2 remove parentheses 2022-05-24 10:22:29 +08:00
zhao zhou
a3d6cb2e58 fix style issue 2022-05-23 01:36:59 +08:00
zhao zhou
a6347dcea6 fix deference null optional value issue. Dereference NUll optioanl value in debug mode will trigger about signal. 2022-05-23 01:11:01 +08:00
zhao zhou
eff6adbaa4 fix offset type issue 2022-05-22 15:50:47 +08:00
zhao zhou
a1a0d5b075 fix compile error 2022-05-22 14:22:54 +08:00
Alexey Milovidov
d36ec5e34d
There are so many disgusting names. 2022-05-21 23:39:34 +03:00
Alexey Milovidov
fa032a76b6
Make variable names less disgusting. 2022-05-21 23:38:51 +03:00
Alexey Milovidov
50c02af959
Make the code slightly more humane. 2022-05-21 23:35:04 +03:00
zhao zhou
ae739ca9ba change comment 2022-05-21 20:12:43 +08:00
zhao zhou
a876435f47 change comment 2022-05-21 13:51:34 +08:00
zhao zhou
dc58f82788 change comment 2022-05-21 03:19:02 +08:00
zhao zhou
b5ddbf10d8 change comment 2022-05-20 22:41:47 +08:00
zhao zhou
59ecd3fa82 change comment 2022-05-20 18:20:36 +08:00
zhao zhou
114125dde2 change comment 2022-05-20 07:32:26 +08:00
zhao zhou
ce9305939b change comment 2022-05-20 06:42:22 +08:00
zhao zhou
69d50bf232 change some comment 2022-05-20 06:33:47 +08:00
zhao zhou
ad1f0c025e change some comment 2022-05-20 05:52:21 +08:00
zhao zhou
58518047fe iterator not always pointer type. so use the auto* substitue auto that clang tidy suggest is not alwyas ok. 2022-05-19 19:13:12 +08:00
zhao zhou
44f2e3a06d change comment 2022-05-19 02:49:26 +08:00
Anton Popov
03c51118d5 better implementation of ColumnObject 2022-05-18 14:15:55 +00:00
zhao zhou
c1bcf932ec Merge branch 'column_replicate_optimize_v2' of https://github.com/zzachimed/ClickHouse into column_replicate_optimize_v2 2022-05-18 21:12:57 +08:00
zhao zhou
dbea0c122e change macro from sse4.2 to sse2 2022-05-18 21:10:01 +08:00
Anton Popov
7477cf28a9 fix some cases of insertion nested arrays to columns of type Object 2022-05-17 22:59:16 +00:00
zhao zhou
4b2a24b5ec change comment format 2022-05-16 23:31:54 +08:00
zhao zhou
fa2afb292c Improve performance for column replicate for uint32 type. In our benchmark unit test there has about 2x performance boost
Co-authored-by: vesslanjin <jun.i.jin@intel.com>
2022-05-16 22:48:37 +08:00
mergify[bot]
e7cfc6fd49
Merge branch 'master' into column_replicate_optimize_v2 2022-05-16 08:09:48 +00:00
Maksim Kita
437d70d4da Fixed tests 2022-05-11 21:59:51 +02:00
Maksim Kita
c17a8b1a23 Fixed tests 2022-05-11 21:59:51 +02:00
Maksim Kita
8721e434e6 Fixed tests 2022-05-11 21:59:51 +02:00
Maksim Kita
8ceb63ee6c Added JIT compilation of SortDescription 2022-05-11 21:59:51 +02:00
Anton Popov
509e30698c fix checks 2022-05-11 13:37:02 +00:00
Anton Popov
1f91655cf9 support Object inside Map 2022-05-10 15:52:29 +00:00
Anton Popov
9d2a4d970d better text serialization of type Object 2022-05-09 18:05:55 +00:00
Anton Popov
e1911a29b8 better text serialization of type Object 2022-05-09 16:12:04 +00:00
Anton Popov
b3e262f605 better cloneResized in ColumnObject 2022-05-06 18:53:24 +00:00
Anton Popov
90c60741a1 more safe operations with ColumnObject 2022-05-06 17:15:05 +00: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
13e8db6299
Merge pull request #36762 from CurtizJ/dynamic-columns-12
Fix insertion to columns of type `Object` from multiple files
2022-05-06 14:14:32 +02: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
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
Alexey Milovidov
b79c6cef84
Merge pull request #36756 from CurtizJ/type-json-bool
Deduce `UInt8` type for bools from json instead of `UInt64`
2022-05-01 13:51:28 +03:00
Anton Popov
243315b826 fix insert to Object columns 2022-04-29 17:26:05 +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
Anton Popov
1fc51e09ff fix insertion to column of type Object from multiple files via table function 2022-04-28 18:51:13 +00:00
mergify[bot]
20e2fa9b3f
Merge branch 'master' into dynamic-columns-9 2022-04-28 17:53:03 +00:00
Anton Popov
54f074e104 deduce UInt8 type for bools from json instead of UInt64 2022-04-28 15:30:43 +00:00
Anton Popov
a87f19b493 fix more cases with nested arrays 2022-04-21 14:57:12 +00:00