Commit Graph

151 Commits

Author SHA1 Message Date
Andrey Mironov
c0ba6bedcb dbms:rename ComplexKeyDictionary to ComplexKeyHashedDictionary [#METR-17328] 2015-11-13 14:21:40 +03:00
Andrey Mironov
a863b2b0a4 dbms: take ComplexKeyDictionary::keys_pool size into account when determining bytes_allocated [#METR-17328] 2015-11-13 14:08:25 +03:00
Andrey Mironov
5c641ffc78 dbms: dictGet* functions for complex_key dictionary. No dictGet*OrDefault variants yet [#METR-17328] 2015-11-13 04:44:41 +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
2642f2fec4 dbms: add parsing of complex key definitions [#METR-17328] 2015-11-12 19:29:06 +03:00
Andrey Mironov
32614f5206 dbms: dictGetOrDefault for all types, explicit StringRef(string) [#METR-18520] 2015-11-10 12:29:30 +03:00
Andrey Mironov
f8e5fed856 dbms: dictGetStringOrDefault, other functions on the way [#METR-18520] 2015-11-06 17:54:04 +03:00
Andrey Mironov
4355b32890 dbms: external dictionaries: store null_values in sample_block, use them instead of IColumn::insertDefault for MySQL and MongoDB [#METR-17854] 2015-10-13 18:38:22 +03:00
Pavel Kartavyy
c469b726c1 Merge 2015-10-13 15:38:38 +03:00
Andrey Mironov
1657e38c97 dbms: prefer static version of boost_regex, add support for loading specific ids with MongoDBDictionarySource [#METR-17854] 2015-10-13 15:17:09 +03:00
Andrey Mironov
a36436a64b Revert "dbms: temporarily disabled MongoDB dictionary source (to enable automatic builds) [#METR-17854]."
This reverts commit 7060e5a7c839040ff23aebd160e0a1d088778fa7.
2015-10-13 13:20:48 +03:00
Andrey Mironov
7c64c3dc30 Merge 2015-10-12 13:23:31 +03:00
Andrey Mironov
e28dca4d4d dbms: add MongoDBBlockInputStream commentary [#METR-17854] 2015-10-12 13:22:16 +03:00
Alexey Milovidov
bb283e6602 dbms: added support for different numeric types in function has [#METR-18382]. 2015-10-12 10:05:54 +03:00
Alexey Milovidov
62061c3969 dbms: temporarily disabled MongoDB dictionary source (to enable automatic builds) [#METR-17854]. 2015-10-11 04:08:39 +03:00
Alexey Milovidov
3733ac9ead dbms: fixed comment [#METR-17854]. 2015-10-09 23:21:20 +03:00
Andrey Mironov
8e4f30fff0 dbms: MongoDB dictionary source draft (actually it works, but there are some improvements to be made) [#METR-17854] 2015-10-09 17:51:31 +03:00
Pavel Kartavyy
2163af290a Merge 2015-10-08 16:21:23 +03:00
Alexey Milovidov
9facd5bc56 Removed link-time dependency [#METR-17973]. 2015-10-05 10:04:42 +03:00
Alexey Milovidov
fefd3791f1 Moved files [#METR-17973]. 2015-10-05 03:33:43 +03:00
Pavel Kartavyy
269b4b8155 Merge 2015-09-30 16:55:20 +03:00
Alexey Milovidov
1f6def094f dbms: fixed build [#METR-18202]. 2015-09-29 22:19:54 +03:00
Pavel Kartavyy
d1bd09246d gcc-4.9.2: compilation fix 2015-09-23 18:03:08 +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
18ed0b2829 dbms: external dictionaries: fixed errors [#METR-17508]. 2015-08-12 07:21:10 +03:00
Alexey Milovidov
dea3c8b8a4 dbms: external dictionaries: fixed bunch of errors; added optional parameter 'dont_check_update_time' for MySQL dictionary source [#METR-17508]. 2015-08-12 06:57:32 +03:00
Alexey Milovidov
f39ad593f5 dbms: added optional property 'require_nonempty' for external dictionaries [#METR-17508]. 2015-08-12 00:32:27 +03:00
Alexey Milovidov
8d8fa9d0fd dbms: more logging in MySQLDictionarySource [#METR-17508]. 2015-08-12 00:29:44 +03:00
Andrey Mironov
bb136fb496 dbms: RangeHashedDictionary: fix constructor fomartting 2015-07-17 18:56:34 +03:00
Alexey Milovidov
c0e029bb1b dbms: renamed ColumnWithNameAndType to ColumnWithTypeAndName for clarification [#METR-2944]. 2015-07-17 04:27:35 +03:00
Andrey Mironov
2af56fe772 dbms: implement dictGet* functions for RangeHashedDictionary. [#METR-17111 2015-07-14 16:06:25 +03:00
Andrey Mironov
f92714712f dbms: extract IDictionaryBase, fix devirtualization. [#METR-17111] 2015-07-13 20:11:17 +03:00
Andrey Mironov
c4440ad829 dbms: RangeHashedDictionary implementation [#METR-17111] 2015-07-13 19:18:28 +03:00
Andrey Mironov
8ea2990e7d dbms: ExternalDictionaries: remove most invididual getters 2015-07-10 17:43:49 +03:00
Andrey Mironov
4fca014e1b dbms: reload initially failed dictionaries with exponential backoff [#METR-16702] 2015-06-09 19:18:49 +03:00
Alexey Milovidov
c94bd2fc09 dbms: removed useless code [#METR-16739]. 2015-06-08 23:22:02 +03:00
Alexey Milovidov
0984363b9c dbms: removed passing DataTypeFactory everywhere [#METR-16545]. 2015-05-28 06:49:28 +03:00
Andrey Mironov
7f38ad390e dbms: allow specifying expressions for dictionary attributes [#METR-16432] 2015-05-26 18:09:53 +03:00
Andrey Mironov
afa79bfcda dbms: add parsing of expression to DictionaryStructure [#METR-16432] 2015-05-26 15:24:31 +03:00
Andrey Mironov
f465feeb28 dbms: DictionarySource::loadIds pass ids by reference to const.
Allow specifying "where" for MySQL and ClickHouse dictionary sources [#METR-16432]
2015-05-22 16:25:59 +03:00
Andrey Mironov
095fd54ae8 dbms: correctly handle injective dictGet* functions during ExpressionAnalyzer's optimizations. 2015-05-13 19:11:24 +03:00
Andrey Mironov
2c58c9ea50 dbms: add system.dictionaries.query_count field [#METR-
15569]
2015-05-08 15:31:34 +03:00
Alexey Milovidov
114b3de689 dbms: cut dependencies [#METR-2944]. 2015-04-16 09:12:35 +03:00
Andrey Mironov
8bc12dbbe4 dbms: system.dictionaries: add brief source description. [#METR-15569] 2015-03-25 13:10:35 +03:00
Andrey Mironov
6b605d10bb dbms: correct load factor for FlatDictionary (based on capacity, not size). [#METR-15569] 2015-03-25 13:10:35 +03:00
Andrey Mironov
e25783995c dbms: system.dictionaries: hit-rate, element count and load-factor. [#METR-15569] 2015-03-24 20:04:03 +03:00
Andrey Mironov
ca6f081dea dbms: system.dictionaries: provide attribute names and types[#METR-13298] 2015-03-24 20:04:03 +03:00
Andrey Mironov
f38d552844 dbms: simplify return value of IDictionary::getTypeName [#METR-13298] 2015-03-24 15:26:19 +03:00
Andrey Mironov
57e13e7d2a dbms: CacheDictionary: do not decrease bytes_allocated by 1 erroneously[#METR-13298] 2015-03-24 15:21:52 +03:00
Andrey Mironov
a892434ffa dbms: CacheDictionary: correctly decrease bytes_allocated on adding default strings. [#METR-13298] 2015-03-24 15:17:18 +03:00
Andrey Mironov
51e1ad0591 dbms: show bytes_allocated in system.dictionaries for all types of dictionaries. [#METR-13298] 2015-03-24 15:12:48 +03:00
Andrey Mironov
4b259dfc01 dbms: IDictionary::getBytesAllocated 2015-03-24 14:30:16 +03:00
Andrey Mironov
cf315e35ef dbms: support non-expiring cache lines in CacheDictionary. [#METR-13298] 2015-03-23 17:30:43 +03:00
Andrey Mironov
006360b75a dbms: dictionaries: more meaningful exception message on null_value parsing error. [#METR-13298] 2015-03-23 17:30:43 +03:00
Andrey Mironov
f321a422b7 dbms: FlatDictionary: fix off-by-one error on resize. [#METR-13298] 2015-03-23 17:30:43 +03:00
Andrey Mironov
33f41657df dbms: improve structure and speed of MySQLBlockInputStream. [#METR-13298] 2015-03-23 17:30:43 +03:00
Andrey Mironov
b81ef372d3 dbms: ColumnVector: add insert(T) function to avoid Field instantiation. [#METR-13298] 2015-03-23 17:30:43 +03:00
Andrey Mironov
17da36aba2 dbms: allow using Date and DateTime with dictionaries. [#METR-13298] 2015-03-20 18:45:36 +03:00
Andrey Mironov
ba0fcc32f9 dbms: MySQLDictionarySource: safely handle empty response. [#METR-13298] 2015-03-20 18:45:36 +03:00
Andrey Mironov
1e1a26b76f dbms: fix typo in ClickHouseDictionarySource, specify database explicitly. [#METR-13298] 2015-03-18 17:20:07 +03:00
Andrey Mironov
3b3f5b17c4 dbms: fix thread-unsafety: retain mysqlxx::Pool::Entry for the whole duration of a query. [#METR-13298] 2015-03-18 15:20:54 +03:00
Andrey Mironov
7196d9c987 dbms: fix usage of moved-from variable, drain mysqlxx query result completely. [#METR-13298] 2015-03-18 12:58:58 +03:00
Andrey Mironov
c880ae8abb dbms: CacheDictionary: store values for missing ids explicitly. Store exceptions for more user-friendly error messages [#METR-13298] 2015-03-06 19:13:59 +03:00
Andrey Mironov
a032d7affb dbms: dictionary sources: escape column and table names; adjust max connections; MySQL support for CacheDictionary [#METR-13298] 2015-03-04 12:36:36 +03:00
Andrey Mironov
f479939760 dbms: less macro code [#METR-13298] 2015-03-02 16:16:26 +03:00
Andrey Mironov
c20d5338f0 dbms: StringRef operator std::string made explicit 2015-02-27 17:28:19 +03:00
Andrey Mironov
9d7fd21463 dbms:drastically improve performance by caching current time [#METR-13298] 2015-02-27 16:12:30 +03:00
Andrey Mironov
3f34c733dd dbms: refactor FlatDictionary to use tuple and less macro-code[#METR-13298] 2015-02-27 16:12:30 +03:00
Andrey Mironov
20eb5013a4 dbms: cache dictionary revamp [#METR-13298] 2015-02-26 17:53:45 +03:00
Andrey Mironov
e175883dd3 dbms: remove redundant checks in FunctionDictIsIn. [#METR-13298] 2015-02-20 13:57:38 +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
e09225d230 Addition to prev. revision [#METR-2807]. 2015-02-11 00:14:11 +03:00
Alexey Milovidov
a9eb28c07d Using std::make_unique [#METR-2807]. 2015-02-11 00:10:58 +03:00
Andrey Mironov
984aa5c4b5 dbms: extract external dictionaries management to a separate type [#METR-13298] 2015-02-10 20:40:40 +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
176189a55e dbms: remove const on IDictionary::getSource return type, add commentaries 2015-02-10 17:50:52 +03:00
Andrey Mironov
c594ffa066 dbms: failover support for MysqlDictionarySource [#METR-13298];
return current time for tables with Update_time = null
2015-02-05 21:51:19 +03:00
Andrey Mironov
d0d7d9e4f7 dbms: return local server support to ClickhouseDictionarySource [#METR-13298] 2015-02-05 16:44:39 +03:00
Andrey Mironov
835c8a317e dbms: prohibit local clickhouse as a dictionary source [#METR-13298] 2015-02-04 19:10:27 +03:00
Andrey Mironov
0b2e0ce0c1 dbms: heal ClickhouseDictionarySource for local clickhouse [#METR-13298] 2015-02-04 19:07:19 +03:00
Andrey Mironov
7127c21a42 dbms: add forgotten return, support non-reloaded dictionaries [#METR-13298] 2015-02-04 18:18:29 +03:00
Andrey Mironov
83f17692e1 dbms: send requests to local clickhouse via network [#METR-13298] 2015-02-04 16:47:30 +03:00
Andrey Mironov
ad54825dfe dbms: uncomment clickhouse dictionary source creation [#METR-13298] 2015-02-04 16:06:56 +03:00
Andrey Mironov
6fecb60894 dbms: better decoupling [#METR-13298] 2015-02-03 20:03:35 +03:00
Andrey Mironov
345afb6059 dbms: store dictionary lifetime in dictionaries [#METR-13298] 2015-01-30 18:18:13 +03:00
Andrey Mironov
fb333b16d7 dbms: incapsulate dictionary source data and allow cloning [#METR-13298]; add cloning for dictionaries 2015-01-30 17:12:09 +03:00
Andrey Mironov
9eff84960a dbms: query table modification time in MysqlDictionarySource [#METR-13298] 2015-01-30 14:51:59 +03:00
Andrey Mironov
647cd1b0eb dbms: check dictionary source modification prior to reloading [#METR-13298]
Mysql and Clickhouse sources are not currently checked and will always say they are modified.
Reload periods are not currently checked.
2015-01-29 18:47:21 +03:00
Andrey Mironov
a66af0668e dbms: devirtualize dictionary access [#METR-13298] 2015-01-29 17:46:15 +03:00
Andrey Mironov
4bbdb2320e dbms: add HashedDictionary [#METR-13298] 2015-01-29 16:53:48 +03:00
Andrey Mironov
7addd501fe dbms: allow use of clickhouse as a dictionary source [#METR-13298] 2015-01-29 14:51:52 +03:00
Andrey Mironov
95bb52b8e5 dbms: use PODArray with FlatDictionary [#METR-13298]
remove IDictionarySource::reset
2015-01-28 19:23:52 +03:00
Andrey Mironov
e982b5c92d dbms: add all integral and floating point types to IDictionary. [#METR-13298] 2015-01-28 18:02:05 +03:00
Andrey Mironov
f4e7d2d4f5 dbms: add dictGetHierarchy and dictIsIn. [#METR-13298] 2015-01-28 16:20:20 +03:00
Andrey Mironov
6b406df4d9 dbms: implement MysqlBlockInputStream. [#METR-13298] 2015-01-27 16:00:20 +03:00
Andrey Mironov
1b4b0d5779 dbms: MysqlDictionarySource with draft MysqlBockInputStream 2015-01-26 19:53:44 +03:00
Andrey Mironov
419d517867 dbms: add abstractions for dictionary sources 2015-01-26 18:27:51 +03:00
Andrey Mironov
a8c2d66076 dbms: fix error in populating attributes. [#METR-13298] 2015-01-22 17:41:05 +03:00
Andrey Mironov
92664ed612 dbms: sparse array implementation of FlatDictionary. [#METR-13298] 2015-01-22 17:32:38 +03:00