Commit Graph

20 Commits

Author SHA1 Message Date
Nikolai Kochetov
61bef2adf1 added ExternalLoader [#CLICKHOUSE-3305] 2017-10-06 13:31:06 +03:00
Marek Vavruša
9520234365 Dictionaries/TrieDictionary: IP prefix dictionary
This commit implements a basic IP prefix dictionary
that allows storing IPv4/IPv6 prefixes and
matching them against a single IP address on query
time. This allows for doing IP -> ASN matching and
other similar things on query time.

The implementation is basic for start, using a
simple bitwise trie and reusing interface for
complex key dictionaries (so using tuple instead
of UInt32/FixedString(16) as the key). A faster
bitwise trie implementation (like poptrie) is
desired to improve lookup performance and
memory consumption with large prefix tables.
2017-05-15 10:51:03 +04:00
Alexey Milovidov
a0b9bf5e97 Moved code to cpp [#CLICKHOUSE-2]. 2017-04-08 04:32:05 +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
ca4438d470 Fixed style [#METR-2944]. 2016-12-18 21:34:49 +03:00
Alexey Milovidov
c062fc1ce0 dbms: cutting dependency [#METR-2944]. 2016-01-12 05:21:15 +03:00
Andrey Mironov
0fd1fc9cdc dbms: add ComplexKeyCacheDictionary, not yet complete [#METR-17328]
Requires a way of deallocating keys in memory Arena (a new type of arena, actually), MySQLDictionarySource not yet capable of requesting complex keys.
2015-11-16 20:49:39 +03:00
Andrey Mironov
c0ba6bedcb dbms:rename ComplexKeyDictionary to ComplexKeyHashedDictionary [#METR-17328] 2015-11-13 14:21:40 +03:00
Andrey Mironov
701bed3fae dbms: add ComplexKeyDictionary, no fetching of values yet [#METR-17328] 2015-11-12 19:29:07 +03:00
Andrey Mironov
aa68fd2aec dbms: add expression support for id, range_min and range_max [#METR-17888]
Fix type-checking of range_hashed dictionary with mysql as a source.
Parenthesise all expressions to avoid errors.
2015-09-08 12:38:44 +03:00
Andrey Mironov
9d406de8c9 dbms: add dictionary name to messages of most exceptions occurring during their creation [#METR-17487] 2015-08-19 16:19:37 +03:00
Alexey Milovidov
f39ad593f5 dbms: added optional property 'require_nonempty' for external dictionaries [#METR-17508]. 2015-08-12 00:32:27 +03:00
Andrey Mironov
c4440ad829 dbms: RangeHashedDictionary implementation [#METR-17111] 2015-07-13 19:18:28 +03:00
Andrey Mironov
19066a43c2 dbms: rename CacheDictionary size parameter to size_in_cells. [#METR-13298] 2015-03-18 12:57:40 +03:00
Andrey Mironov
20eb5013a4 dbms: cache dictionary revamp [#METR-13298] 2015-02-26 17:53:45 +03:00
Andrey Mironov
cf8a927150 dbms: invert the way multiple values are acquired from the dictionary [#METR-13298] 2015-02-19 18:28:24 +03:00
Alexey Milovidov
a9eb28c07d Using std::make_unique [#METR-2807]. 2015-02-11 00:10:58 +03:00
Andrey Mironov
168e1cd98d dbms: post-review corrections [#METR-13298]
add dummy CacheDictionary (could not commit without it)
2015-02-10 17:50:52 +03:00
Andrey Mironov
6fecb60894 dbms: better decoupling [#METR-13298] 2015-02-03 20:03:35 +03:00