Commit Graph

85 Commits

Author SHA1 Message Date
Maksim Kita
b12b363158 Fixed build of hierarchical index for HashedArrayDictionary 2022-05-25 22:40:19 +02:00
Maksim Kita
585b86446e Added hierarchical_index_bytes_allocated column in system.dictionaries 2022-05-23 12:42:00 +02:00
Maksim Kita
25d6bd1f34 Dictionaries optimize hierarchical index structure 2022-05-23 12:42:00 +02:00
Maksim Kita
1142e05683 Dictionaries allow to specify bidirectional for hierarhical attribute 2022-05-23 12:42:00 +02:00
Maksim Kita
100afa8bcf Dictionary getDescendants performance improvement 2022-05-23 12:42:00 +02:00
Robert Schulze
330212e0f4
Remove inherited create() method + disallow copying
The original motivation for this commit was that shared_ptr_helper used
std::shared_ptr<>() which does two heap allocations instead of
make_shared<>() which does a single allocation. Turned out that
1. the affected code (--> Storages/) is not on a hot path (rendering the
performance argument moot ...)
2. yet copying Storage objects is potentially dangerous and was
   previously allowed.

Hence, this change

- removes shared_ptr_helper and as a result all inherited create() methods,

- instead, Storage objects are now created using make_shared<>() by the
  caller (for that to work, many constructors had to be made public), and

- all Storage classes were marked as noncopyable using boost::noncopyable.

In sum, we are (likely) not making things faster but the code becomes
cleaner and harder to misuse.
2022-05-02 08:46:52 +02:00
Maksim Kita
1d674123a9 Fix clang-tidy warnings in Databases, DataTypes, Dictionaries folders 2022-03-14 18:17:35 +00:00
Maksim Kita
b1a956c5f1 clang-tidy check performance-move-const-arg fix 2022-03-02 18:15:27 +00:00
Maksim Kita
13cbf79ecb Improve performance of insert into table functions URL, S3, File, HDFS 2022-02-10 20:06:23 +00:00
Maksim Kita
bceb2d598f Fixed style check 2022-01-22 20:34:42 +00:00
Maksim Kita
3e30641fc8 Dictionaries updated support for empty attributes 2022-01-22 20:01:45 +00:00
Maksim Kita
b130a2b1ed Fixed tests 2022-01-21 19:22:55 +00:00
Maksim Kita
2d712b1d26 FlatDictionary improve data load performance 2022-01-21 15:01:55 +00:00
Maksim Kita
fd6a728953 Dictionaries read keys array copy fix 2022-01-19 16:08:56 +00:00
Maksim Kita
30dab61f97
Merge pull request #33526 from kitaisreal/dictionary-rename-fix
Dictionary rename fix
2022-01-18 13:11:34 +01:00
Maksim Kita
dd62c3c93e DictionarySourceCoordinator update interface 2022-01-16 12:22:22 +00:00
Maksim Kita
a0ad7a1014 Update IExternalLoadable interface 2022-01-16 00:06:10 +00:00
Maksim Kita
4b4468b34a Dictionaries use single arena for multiple string attributes 2022-01-08 13:26:11 +03:00
Anton Popov
d50137013c Merge remote-tracking branch 'upstream/master' into HEAD 2021-11-01 16:55:53 +03:00
Maksim Kita
a3a780bbf5 Dictionaries read support multiple threads 2021-10-21 17:17:53 +03:00
Anton Popov
d71ffc355a Merge remote-tracking branch 'upstream/master' into HEAD 2021-10-18 15:18:22 +03:00
Nikolai Kochetov
a08c98d760 Move some files. 2021-10-16 17:03:50 +03:00
Maksim Kita
09b8d697bd Flat Hashed dictionary fix bytes_allocated for nullable attributes 2021-10-15 18:26:56 +03:00
Anton Popov
914781052e Merge remote-tracking branch 'upstream/master' into HEAD 2021-09-29 17:37:07 +03:00
Nikolai Kochetov
341553febd Fix build. 2021-09-16 20:40:42 +03:00
Nikolai Kochetov
b997214620 Rename QueryPipeline to QueryPipelineBuilder. 2021-09-14 20:48:18 +03:00
Anton Popov
8203bd1ac6 Merge remote-tracking branch 'upstream/master' into HEAD 2021-09-09 14:04:37 +03:00
Anton Popov
c3c3a06078 Merge remote-tracking branch 'upstream/master' into HEAD 2021-08-20 01:45:38 +03:00
Vitaly Baranov
3b09640d94 Use sessions more. 2021-08-19 02:22:09 +03:00
Maksim Kita
b4f41bd824 Dictionaries key types refactoring 2021-08-17 20:35:43 +03:00
Maksim Kita
51d31b9213 Dictionaries refactor 2021-08-11 15:32:01 +03:00
Nikolai Kochetov
13f95f3fdf Streams -> Processors for dicts, part 3. 2021-08-06 11:41:45 +03:00
Nikolai Kochetov
8d14f2ef8f Streams -> Processors for dicts, part 1. 2021-08-04 20:58:18 +03:00
Anton Popov
567043113c Merge remote-tracking branch 'upstream/master' into HEAD 2021-06-21 01:36:06 +03:00
Maksim Kita
43a0c730ba
Merge pull request #25203 from kitaisreal/dictionaries-attribute-support-default-nullable-type
Dictionaries attribute support default nullable type
2021-06-13 11:46:53 +03:00
Maksim Kita
2a016f52e9 Added tests 2021-06-12 13:53:03 +03:00
alexey-milovidov
05d1af153c
Merge branch 'master' into rename-const-context-ptr 2021-06-12 03:25:09 +03:00
Maksim Kita
d5dfd83983 Fixed build issues 2021-06-10 22:32:09 +03:00
Maksim Kita
45b8dc772b Dictionaries support array type 2021-06-10 22:32:09 +03:00
Nikolai Kochetov
dbaa6ffc62 Rename ContextConstPtr to ContextPtr. 2021-06-01 15:20:52 +03:00
Anton Popov
018a303387 Merge remote-tracking branch 'upstream/master' into HEAD 2021-05-31 23:08:04 +03:00
Alexander Kuzmenkov
3f57fc085b remove mutable context references from functions interface
Also remove it from some visitors.
2021-05-28 19:45:37 +03:00
Maksim Kita
b26783b308 Dictionaries update file path restrictions 2021-05-27 00:17:45 +03:00
Anton Popov
de4afb0cb9 ColumnSparse: add comments 2021-05-21 03:57:11 +03:00
Anton Popov
d8df0903b9 Merge remote-tracking branch 'upstream/master' into HEAD 2021-05-14 23:38:16 +03:00
Azat Khuzhin
a6a1bf2847 Count found keys for FlatDictionary 2021-05-08 17:09:01 +03:00
Azat Khuzhin
c80a06def3 Count found keys for HashedDictionary (plus utils changes for descendants) 2021-05-08 17:09:01 +03:00
Maksim Kita
66903e4b0c Flat, Hashed dictionary include update field bytes into bytes_allocated 2021-05-01 01:23:22 +03:00
Anton Popov
a842a599c4 ColumnSparse: fixes and better performance 2021-04-21 03:23:02 +03:00
Maksim Kita
b43a709fec Dictionaries standardize exceptions 2021-04-10 21:48:36 +03:00