Commit Graph

41 Commits

Author SHA1 Message Date
kreuzerkrieg
9612bb0e79 More GCC warnings 2019-12-16 23:19:50 +02:00
Amos Bird
fbfbe161ec
Unify hash tables interface. 2019-11-06 00:08:04 +08:00
alesapin
10f69eef03 Add tests for non standart dictionaries and fix bugs 2019-10-21 19:05:45 +03:00
Alexander Kuzmenkov
f3bde19b74 Do not use iterators in find() and emplace() methods of hash tables.
Instead, these methods return a pointer to the required data as they are
stored inside the hash table. The caller uses overloaded functions to
get the key and "mapped" values from this pointer. Such an interface
avoids the need for constructing iterator-like wrapper objects, which is
especially important for compound hash tables such as the future
StringHashMap.
2019-09-24 17:44:35 +03:00
kreuzerkrieg
112fc71276 adding -Wshadow for GCC 2019-08-09 23:58:16 +03:00
Vitaly Baranov
6d563c51e6 Remove unnecessary try-catch in the constructors of classes derived from IExternalLoadable. 2019-07-17 11:39:36 +03:00
Alexey Milovidov
c846d0f6af Namespace comments are unneeded according to the code style.
find dbms -name '*.h' -or -name '*.cpp' | xargs grep -l -P '}\s*//+\s*namespace\s*' | xargs sed -i -r -e 's/}\s*\/\/+\s*namespace\s*.*$/}/'
2019-06-13 13:43:37 +03:00
Amos Bird
26ab5dd7a7 A Proper lookup table that uses HashTable's API
This is the first step of allowing heterogeneous cells in hash tables.

performance test results are

```

1. HashMap<UInt16, UInt8, TrivialHash, HashTableFixedGrower<16>>;
2. NewLookupMap<UInt16, UInt8>

ResolutionWidth 30000 1 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................223550276.46
ResolutionWidth 30000 2 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................248772721.24
Best: 2 - 24877272124

ResolutionWidth 100000 1 ..........................................................................................................................................................................................................................................................238498413.99
ResolutionWidth 100000 2 ..........................................................................................................................................................................................................................................................261808889.98
Best: 2 - 26180888998

ResolutionWidth 300000 1 ...................................................................................239307348.81
ResolutionWidth 300000 2 ...................................................................................257592761.30
Best: 2 - 25759276130

ResolutionWidth 1000000 1 .........................240144759.26
ResolutionWidth 1000000 2 .........................257093531.91
Best: 2 - 25709353191

ResolutionWidth 5000000 1 .....241573260.35
ResolutionWidth 5000000 2 .....259314162.79
Best: 2 - 25931416279

ResolutionDepth 30000 1 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................217108119.84
ResolutionDepth 30000 2 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................249459504.41
Best: 2 - 24945950441

ResolutionDepth 100000 1 ..........................................................................................................................................................................................................................................................229065162.17
ResolutionDepth 100000 2 ..........................................................................................................................................................................................................................................................253769105.64
Best: 2 - 25376910564

ResolutionDepth 300000 1 ...................................................................................233079225.18
ResolutionDepth 300000 2 ...................................................................................256316273.78
Best: 2 - 25631627378

ResolutionDepth 1000000 1 .........................234184633.51
ResolutionDepth 1000000 2 .........................261100491.57
Best: 2 - 26110049157

ResolutionDepth 5000000 1 .....233118795.66
ResolutionDepth 5000000 2 .....252436160.41
Best: 2 - 25243616041

```
2019-03-01 16:47:13 +08:00
Vitaly Baranov
86b204d1c7 IDictionary::getBlockInputStream() function, "max_block_size" parameter: change type UInt64 -> size_t. 2019-02-19 14:49:03 +03:00
Alexey Milovidov
58a6accee5 Updated test #4246 2019-02-10 19:55:12 +03:00
Alexey Milovidov
c7b95b5175 Miscellaneous changes for PVS-Studio 2019-01-20 02:27:52 +03:00
proller
5e89894b98 Fix style 2018-12-10 18:50:58 +03:00
proller
c9e98c8deb clang-format of dbms/src/Dictionaries/* 2018-12-10 18:25:45 +03:00
Ivan Lezhankin
6089b26ef0 Fix |RangeHashedDictionary| getter against |ColumnConst| 2018-12-04 16:15:20 +03:00
proller
dd2371e071 CLICKHOUSE-4137 DictionaryFactory, DictionarySourceFactory (#3653)
* Split ComplexKeyCacheDictionary to faster compile (part2)

* Dictionaries as lib WIP

* wip

* clean

* Fix build with old capnp

* fix

* wip

* fixes

* fix

* clean

* clean

* clean

* wip

* wip

* wip

* flat

* wip

* cache

* clean

* wip

* faster

* fix style

* fixes

* clean

* clean

* Split CacheDictionary.cpp for faster compile

* fix

* fix

* Less memory usage while compiling

* missing file

* format

* Update registerDictionaries.h

* clean
2018-11-28 14:37:12 +03:00
Alexey Milovidov
78e72a1962 Little better #3624 2018-11-20 23:09:20 +03:00
Alexey Milovidov
69e57187d2 Fixed error; removed unique_ptr #3565 2018-11-13 22:43:17 +03:00
Alexey Milovidov
4b0645cb25 Fixed error in #3565 2018-11-13 21:41:07 +03:00
chertus
f21c4c898e Decimal dictionaries support [CLICKHOUSE-4045] 2018-10-08 22:45:17 +03:00
Nikolai Kochetov
e0521b1abd Fix range boundaries for RangeHashed dictionary. 2018-09-17 21:06:01 +03:00
Nikolai Kochetov
2547fa6c88 Fix BlockInputStream for RangeHashed dictionary. 2018-09-17 18:51:10 +03:00
Alexey Milovidov
6688f01cf0 ./utils/check-style/check-style -n #3123 2018-09-14 22:11:48 +03:00
alexey-milovidov
09b1cafe76
Update RangeHashedDictionary.cpp 2018-09-14 21:44:59 +03:00
Vasily Nemkov
99560e06f8 Added support of int-based types: Int\UInt(8,16,32), Date, DateTime for range_hashed dictionary.
Fixes #2093
Added type checks for .range_min and .range_max
Allowed nullable range values in dictionary source
Added test for range_hashed dictionaries
2018-09-13 18:19:55 +03:00
Alexey Milovidov
5b257c588f Enabling -Wshadow [#CLICKHOUSE-2] 2018-08-27 20:42:13 +03:00
Alexey Milovidov
f4813a47f8 Whitespaces #2913 2018-08-24 08:20:18 +03:00
Alexey Milovidov
956128a67a Fixed style a bit [#CLICKHOUSE-2] 2018-05-07 05:01:11 +03:00
Alexey Milovidov
0bfea2f52c Miscellaneous [#CLICKHOUSe-2] 2018-01-10 03:04:08 +03:00
alexey-milovidov
7a0281dd20
Update RangeHashedDictionary.cpp 2017-12-26 20:37:21 +03:00
Nikolai Kochetov
0c082b134d fixed engine Dictionary(range_hashed) for open interval date keys [#CLICKHOUSE-3521] 2017-12-25 23:55:37 +03:00
Alexey Milovidov
431da20d99 Better [#CLICKHOUSE-2]. 2017-12-01 23:21:35 +03:00
Иванов Евгений
48636ac601 Added support UUID type for dictionaries 2017-11-15 23:31:53 +03:00
Nikolai Kochetov
7c736b12ef added raw serialization functions for IColumn; changed key serialization in ComplexKeyCacheDictionary; style fixes 2017-05-29 20:26:45 +03:00
Nikolai Kochetov
5fb5397941 added max_block_size for DictionaryBlockImputStreamBase 2017-05-26 19:08:56 +03:00
Nikolai Kochetov
1604ce138a changed key storage format for complex key dictionaries 2017-05-04 21:14:23 +03:00
Alexey Milovidov
310736cd7e Moved headers and sources to same place [#CLICKHOUSE-3]. 2017-04-01 12:22:42 +03:00
Alexey Milovidov
137ad95929 Changed tabs to spaces in code [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
alexey-milovidov
ed5b521110 Less dependencies 2 (#378)
* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].
2017-01-21 08:24:28 +04:00
Alexey Milovidov
2b4f3b5d34 Renamed method (less confusion) [#METR-2944]. 2017-01-02 23:12:12 +03:00
Alexey Milovidov
6c861fe798 Style [#METR-2807]. 2016-08-07 12:09:18 +03:00
Alexey Milovidov
3ecfca51ba Splitted dictionaries to separate translation units [#METR-21527]. 2016-06-08 00:07:44 +03:00