Commit Graph

530 Commits

Author SHA1 Message Date
Maksim Kita
8ee89b59ec Fixed build 2021-03-06 14:36:37 +03:00
Maksim Kita
d04e707567 Fixed special build 2021-03-06 14:36:37 +03:00
Maksim Kita
480beeda37 Fix gcc build 2021-03-06 14:36:37 +03:00
Maksim Kita
a22ec65e8a Fixed minor issues 2021-03-06 14:36:37 +03:00
Maksim Kita
8138ced862 Fixed tests 2021-03-06 14:36:37 +03:00
Maksim Kita
2a5a9c6ca4 Fixed hierarchy tests 2021-03-06 14:36:37 +03:00
Maksim Kita
980d171207 Fixed typos 2021-03-06 14:36:37 +03:00
Maksim Kita
168741c67c SSDCacheDictionaryFileBuffer create directory for file 2021-03-06 14:36:37 +03:00
Maksim Kita
1460d57f97 Fixed segfault because of member order of destruction 2021-03-06 14:36:37 +03:00
Maksim Kita
0edb9d8e3d Added ICacheDictionaryStorage returnsFetchedColumnsInOrderOfRequestedKeys 2021-03-06 14:36:37 +03:00
Maksim Kita
c5fbe8793b Added documentation 2021-03-06 14:36:37 +03:00
Maksim Kita
dc0bb7485d Updated CacheDictionary 2021-03-06 14:36:37 +03:00
alexey-milovidov
2d8632e5a9
Update ExecutablePoolDictionarySource.cpp 2021-03-06 01:14:21 +03:00
alexey-milovidov
19e86f243e
Update src/Dictionaries/ExecutableDictionarySource.cpp
Co-authored-by: Nikita Mikhaylov <mikhaylovnikitka@gmail.com>
2021-03-06 01:06:40 +03:00
Maksim Kita
9173544003 Added documentation 2021-03-05 13:17:46 +03:00
Maksim Kita
aa0778933c Added BorrowedObjectPool 2021-03-05 13:17:46 +03:00
Maksim Kita
91e43a6b3b Updated ExecutablePoolDictionarySource 2021-03-05 13:17:46 +03:00
Maksim Kita
fd4331083a Removed debug log 2021-03-05 13:17:46 +03:00
Maksim Kita
c773afb659 Added documentation 2021-03-05 13:17:46 +03:00
Maksim Kita
6b69d859c1 Added ExecutablePool dictionary source 2021-03-05 13:17:45 +03:00
kssenii
a3c7402200 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into pg-ch-replica 2021-03-02 07:07:56 +00:00
Alexander Kazakov
63b95c7451
MySQL dictionary source: A mechanism for retrying unexpected connection loss during communication with mysql server (#21237)
* Added a new type of Exception

for better recognition of connection failures

* Added more logging for mysql communication

* Retries on connection loss during query.

Make MySQL dictionary source resilient to unexpected loss of connection
during querying MySQL. This behavior is controlled with
".fail_on_connection_loss" config parameter, which defaults to false.

* Stripped some debugging leftover garbage

* Minor followup corrections

* Corrections after PR comments

* Yet more fixes
2021-02-27 11:18:28 +03:00
kssenii
f7a191712f Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into pg-ch-replica 2021-02-19 09:49:50 +00:00
Maksim Kita
50e135db0f
Added comment 2021-02-17 19:24:04 +03:00
Maksim Kita
b2c09f002f Dictionary create source with functions crash fix 2021-02-17 15:26:00 +03:00
kssenii
5bc0010f94 Better 2021-02-12 21:14:36 +00:00
kssenii
b842ce114b Initial sync into ReplacingMergeTree table, select via nested table 2021-02-12 21:11:09 +00:00
Azat Khuzhin
2907385400 Avoid invalid dereference in RANGE_HASHED() dictionary
UBsan report the following [1], when query does not contains any columns
from the dictionary:

```sql
SELECT
    toUInt32(toUInt32(NULL, toUInt32(NULL, inf, NULL), NULL)),
    toUInt32(toUInt32(toUInt32(toUInt32(toUInt32(NULL, 1., NULL)), toUInt32(toUInt32(NULL, 0.5, NULL)), toUInt32(NULL, NULL)), toUInt32(toUInt32(NULL, 1., NULL)), toUInt32(NULL, NULL)), toUInt32(toUInt32(toUInt32(toUInt32(NULL, 1000.0001220703125, NULL)), toUInt32(toUInt32(NULL, 10.000100135803223, NULL)), toUInt32(NULL, NULL)), NULL, NULL, NULL))
FROM somedict
```

```
std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> >::back() @ 0x128c07a6 in /workspace/clickhouse
./obj-x86_64-linux-gnu/../src/Dictionaries/RangeDictionaryBlockInputStream.h:0: DB::RangeDictionaryBlockInputStream<DB::RangeHashedDictionary, unsigned short, unsigned long>::fillBlock(DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul> const&, DB::PODArray<unsigned short, 4096ul, Allocator<false, false>, 15ul, 16ul> const&, DB::PODArray<unsigned short, 4096ul, Allocator<false, false>, 15ul, 16ul> const&) const @ 0x1692335e in /workspace/clickhouse
./obj-x86_64-linux-gnu/../src/Dictionaries/RangeDictionaryBlockInputStream.h:0: DB::RangeDictionaryBlockInputStream<DB::RangeHashedDictionary, unsigned short, unsigned long>::getBlock(unsigned long, unsigned long) const @ 0x16922f96 in /workspace/clickhouse
./obj-x86_64-linux-gnu/../src/Dictionaries/DictionaryBlockInputStreamBase.cpp:23: DB::DictionaryBlockInputStreamBase::getHeader() const @ 0x166ab57c in /workspace/clickhouse
```

  [1]: https://clickhouse-test-reports.s3.yandex.net/19451/64c0bf98290362fa216c05b070aa122a12af3c25/fuzzer_ubsan/report.html#fail1
2021-02-11 21:07:37 +03:00
Alexey Milovidov
40939ff6ba Fix data race in executable dictionary 2021-02-03 20:45:50 +03:00
Vitaly Baranov
9427d5d94b
Merge pull request #19805 from vitlibar/allow-getting-return-type-of-dictget-without-loading-dictionary
Fix starting the server with tables having default expressions containing dictGet()
2021-02-02 18:19:55 +03:00
Maksim Kita
d9d206af92 Fixed typo 2021-02-01 12:35:47 +03:00
Maksim Kita
d3f299269f Fixed code review issues 2021-02-01 12:35:47 +03:00
alexey-milovidov
e5b89f24b5 Update ExecutableDictionarySource.cpp 2021-02-01 12:35:47 +03:00
alexey-milovidov
77a8ef24de Update ExecutableDictionarySource.cpp 2021-02-01 12:35:47 +03:00
alexey-milovidov
ecd6e10e22 Update ExecutableDictionarySource.cpp 2021-02-01 12:35:47 +03:00
alexey-milovidov
b83b8c56da Update ExecutableDictionarySource.cpp 2021-02-01 12:35:47 +03:00
Maksim Kita
a0755e439c Fixed typo 2021-02-01 12:35:47 +03:00
Maksim Kita
a9ecb6bf78 Fixed clang-tidy 2021-02-01 12:35:47 +03:00
Maksim Kita
d194294d0b Fixed tests 2021-02-01 12:35:47 +03:00
Maksim Kita
dafb0ef4e9 ExecutableDictionarySource added implicit_key option 2021-02-01 12:35:47 +03:00
Vitaly Baranov
95177dc0de Fix access to the key as an attribute in IPAddressDictionary. 2021-01-30 19:06:54 +03:00
Vitaly Baranov
7c8deae0e1 Fix starting the server with tables having columns' default expressions containing dictGet().
Allow getting return type of dictGet() without loading dictionary.
2021-01-30 19:06:48 +03:00
Ilya Yatsishin
a353020c54
Merge pull request #19804 from davenger/odbc_build_fix
Fix dependency on ODBC for Yandex internal build
2021-01-29 16:50:59 +03:00
Alexander Gololobov
0ee05d34fc Fix dependency on ODBC for Yandex internal build 2021-01-29 14:54:54 +03:00
Maksim Kita
f0b1bc88c7 Fixed style issues 2021-01-27 16:25:27 +03:00
Maksim Kita
67ffa4189e Fixed clang build 2021-01-27 16:25:27 +03:00
Maksim Kita
31881d24ad Fixed clang errors 2021-01-27 16:25:27 +03:00
Maksim Kita
8e8d6f36ac Fixed DictionaryDefaultValueExtractor 2021-01-27 16:25:27 +03:00
Maksim Kita
6653e356a3 Fixed build issues 2021-01-27 16:25:27 +03:00
Maksim Kita
b7a150cc63 Updated DictionaryDefaultValueExtractor interface 2021-01-27 16:25:27 +03:00
Maksim Kita
c4ffa2160f Updated interfaces. Added documentation. 2021-01-27 16:25:27 +03:00
Maksim Kita
b0d3f32a36 Added DefaultValueExtractor 2021-01-27 16:25:27 +03:00
Maksim Kita
b11905f493 Fixed tests 2021-01-27 16:25:27 +03:00
Maksim Kita
7cb7d4dbce Fixed dicitionaries todo 2021-01-27 16:25:27 +03:00
Maksim Kita
498df53ebf Fixed style issues 2021-01-27 16:25:27 +03:00
Maksim Kita
77d2e00dd8 Updated DictionaryStructure 2021-01-27 16:25:27 +03:00
Maksim Kita
42d4fc1bbd Updated FlatDictionary 2021-01-27 16:25:27 +03:00
Maksim Kita
a45459e095 Fixed tests 2021-01-27 16:25:27 +03:00
Maksim Kita
357b0b95a9 Added Nullable support for ComplexDirectDictionary 2021-01-27 16:25:27 +03:00
Maksim Kita
25d6e18ec0 Added Nullable support for ComplexKeyHashedDictionary 2021-01-27 16:25:27 +03:00
Maksim Kita
6e51b2f60a Added Nullable support for RangeHashedDictionary 2021-01-27 16:25:27 +03:00
Maksim Kita
b745c64459 Added Nullable support for DirectDictionary 2021-01-27 16:25:27 +03:00
Maksim Kita
3e2d615e62 Added Nullable support for HashedDictionary 2021-01-27 16:25:27 +03:00
Maksim Kita
7ded8be0d5 Added Nullable support for FlatDictionary 2021-01-27 16:25:27 +03:00
Maksim Kita
b01027787e Fixed tests 2021-01-27 16:25:27 +03:00
Maksim Kita
164e55972b Fix style issue 2021-01-27 16:25:27 +03:00
Maksim Kita
791c7204d7 Fix style issues 2021-01-27 16:25:27 +03:00
Maksim Kita
8fdbde8642 Updated PolygonDictionary to new interface 2021-01-27 16:25:27 +03:00
Maksim Kita
0ed64d8ab0 Simplified getColumn implementation 2021-01-27 16:25:27 +03:00
Maksim Kita
6f7ad82160 Updated IPAddressDictionary to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
07fab85cc4 Updated SSDComplexKeyCacheDictionary to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
0d2e498ed4 Updated ComplexKeyCacheDictionary to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
b4896ee82b Updated ComplexKeyDirectDictionary to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
81f4bc7b4c Updated SSDCacheDictionary to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
6017d1a034 Updated CachedDictionary to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
cd6ec3234e Updated DirectDictionary to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
cc767d4f2e Updated HashedDictionary to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
d61e8c083b Updated RangeHashedDictionary to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
d92d843e20 Fixed compile issue 2021-01-27 16:25:26 +03:00
Maksim Kita
8bd98ae432 Remove previous interface enum 2021-01-27 16:25:26 +03:00
Maksim Kita
f24a8eadb2 Updated ComplexKeyHashed dictionary to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
d16a572eee Updated IDictionaryBase interface 2021-01-27 16:25:26 +03:00
Maksim Kita
7a2f6cd5b9 Dictionaries refactoring to new interface 2021-01-27 16:25:26 +03:00
Maksim Kita
e0dc6f9417 Dictionary better error message during attribute parsing 2021-01-27 00:50:23 +03:00
Maksim Kita
16eb7b01b6
Merge pull request #19571 from kitaisreal/create-simple-dictionary-id-expression-fix
Query CREATE DICTIONARY id expression fix
2021-01-26 12:43:49 +03:00
Maksim Kita
ab7f15c77e Query CREATE DICTIONARY id expression fix 2021-01-25 15:43:35 +03:00
kssenii
daab2c91bb Better 2021-01-21 21:15:11 +00:00
kssenii
c1702f34ee Add factories info into system.query_log 2021-01-21 15:46:37 +00:00
alexey-milovidov
7de745ce77
Merge pull request #18554 from kssenii/pg2ch
Add PostgreSQL table function, dictionary source, database engine
2021-01-16 23:55:05 +03:00
Azat Khuzhin
1b901b368f Add missing type check in dictHas for COMPLEX_KEY_SSD_CACHE layout 2021-01-16 12:33:36 +03:00
Alexey Milovidov
67f207d8ca More safe connection string 2021-01-16 00:18:51 +03:00
Alexey Milovidov
ba1921f380 Minor changes 2021-01-15 22:59:49 +03:00
Alexey Milovidov
a19e7edd14 Merge branch 'master' into kssenii-pg2ch 2021-01-15 17:33:19 +03:00
kssenii
38a9cba850 Fix 2021-01-11 10:55:38 +00:00
Alexey Milovidov
6eb5a5f4d9 Remove useless code 2021-01-10 03:28:59 +03:00
kssenii
0088d66d59 Hopefully better array conversions for insert query 2021-01-09 22:42:42 +00:00
Alexey Milovidov
e7a7f557d1 Fix Arcadia 2021-01-07 18:40:54 +03:00
Alexey Milovidov
8af19c3251 Fix Arcadia 2021-01-07 15:29:02 +03:00
Alexey Milovidov
60d4db421c Fix Arcadia 2021-01-07 06:45:12 +03:00
alexey-milovidov
72b142a00a
Merge branch 'master' into pg2ch 2021-01-06 23:18:59 +03:00