Commit Graph

133 Commits

Author SHA1 Message Date
Nikolai Kochetov
dbaa6ffc62 Rename ContextConstPtr to ContextPtr. 2021-06-01 15:20:52 +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
d923d9e6ef Function move file 2021-05-17 10:30:42 +03:00
Maksim Kita
947f28d430 IFunction refactoring 2021-05-15 20:33:15 +03:00
Maksim Kita
3d005537cf Function dictGetOrNull handle empty rows execute 2021-05-10 11:08:26 +03:00
Ivan
495c6e03aa
Replace all Context references with std::weak_ptr (#22297)
* Replace all Context references with std::weak_ptr

* Fix shared context captured by value

* Fix build

* Fix Context with named sessions

* Fix copy context

* Fix gcc build

* Merge with master and fix build

* Fix gcc-9 build
2021-04-11 02:33:54 +03:00
Maksim Kita
caff65f1c2 Functions ExternalDictionaries standardize exception throw 2021-04-07 20:52:12 +03:00
Maksim Kita
3b799c5d7d
Merge pull request #22413 from kitaisreal/added-function-dict-get-or-null
Added function dictGetOrNull
2021-04-02 11:39:01 +03:00
Maksim Kita
2c522cf8bb
Update FunctionsExternalDictionaries.h 2021-04-01 15:06:08 +03:00
Maksim Kita
f4ab8b84b6 Added comment 2021-03-31 22:56:30 +03:00
Maksim Kita
f2e6a0a97d Added function dictGetOrNull 2021-03-31 17:46:13 +03:00
Maksim Kita
2cac8d13cc Updated tests and documentation 2021-03-26 18:42:32 +03:00
Maksim Kita
720e2e0501 Updated dictGetDescendants, dictGetChildren implementation 2021-03-26 18:42:32 +03:00
Maksim Kita
566541528d Update function naming 2021-03-26 18:42:32 +03:00
Maksim Kita
bbd180caf3 Added functions dictGetChildren, dictGetDescendants 2021-03-26 18:42:32 +03:00
Maksim Kita
9f2f0d1095 Refactored hierarchy dictionaries interface 2021-03-26 18:42:32 +03:00
Maksim Kita
849a980644 Updated ExternalDictionariesLoader interface with context parameter 2021-03-20 18:02:09 +03:00
Maksim Kita
32831e37ba Added table function dictionary 2021-03-19 15:47:27 +03:00
Maksim Kita
a65bfaeab3 Fixed tests 2021-03-18 17:03:22 +03:00
Maksim Kita
0f95bcac0b DDL dictionary use current database name 2021-03-18 14:30:12 +03:00
Maksim Kita
854bfaf366 RangeHashed dictionary support has function 2021-03-13 14:57:56 +03:00
Maksim Kita
45879472d3 DirectDictionary updated 2021-03-09 23:49:34 +03:00
Maksim Kita
43ba554191
Merge pull request #20595 from kitaisreal/cache-dictionaries-lru-cache
Cache dictionaries lru cache
2021-03-09 19:14:30 +03:00
Maksim Kita
492c3d0899
Merge pull request #21321 from kitaisreal/dictionary-source-executable-pool
Added ExecutablePool dictionary source
2021-03-08 01:36:33 +03:00
Maksim Kita
10c5518988 Fix tests 2021-03-06 14:38:27 +03:00
Maksim Kita
92b79420a4 Fixed ubsan test 2021-03-06 14:36:37 +03:00
Maksim Kita
e64b18fbac Added dictGet with multiple requested attributes 2021-03-06 14:36:37 +03:00
Maksim Kita
a22ec65e8a Fixed minor issues 2021-03-06 14:36:37 +03:00
Maksim Kita
dc0bb7485d Updated CacheDictionary 2021-03-06 14:36:37 +03:00
Maksim Kita
d3615aca67 Added tests 2021-03-05 13:17:46 +03:00
Maksim Kita
1eb1f3028c FunctionsExternalDictionaries safe case to ColumnTuple 2021-03-04 16:55:05 +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
Maksim Kita
f621871465 Fixed race in tests 2021-01-28 19:17:46 +03:00
Maksim Kita
ff371ccdb6 Fixed data race in function DictGetNoType 2021-01-27 23:22:05 +03:00
Maksim Kita
c4ffa2160f Updated interfaces. Added documentation. 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
3d0778cba4 FunctionsExternalDictionaries refactored 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
791c7204d7 Fix style issues 2021-01-27 16:25:27 +03:00
Maksim Kita
d61e8c083b Updated RangeHashedDictionary to new interface 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
Nikolai Kochetov
729272391f
Merge branch 'master' into ip-dict-no-trie 2020-11-25 23:07:19 +03:00
vdimir
a277a5bb16
Rename TrieDictionary -> IPAddressDictionary 2020-11-21 21:38:10 +03:00
Ivan Lezhankin
f897f7c93f Refactor IFunction to execute with const arguments 2020-11-17 16:24:45 +03:00
Nikita Mikhaylov
cb4945d8b0
Merge pull request #16205 from azat/do-not-cache-dictGet
Do not cache dictionary for dictGet*/dictHas*
2020-10-23 15:47:11 +03:00
Azat Khuzhin
3559e3355c Do not cache dictionary for dictGet*/dictHas*
There are places where ExpressionActionsPtr is cached
(StorageDistributed caching it for sharding_key_expr and
optimize_skip_unused_shards), and if the dictionary will be cached
within "query" then cached ExpressionActionsPtr will always have first
version of the query and the dictionary will not be updated after
reload.

For example this will fix dictGet in sharding_key (and similar places,
i.e. when the function context is stored permanently)

Fixes: 01527_dist_sharding_key_dictGet_reload
2020-10-21 00:22:40 +03:00
Nikolai Kochetov
295e612343 Fix build and tests. 2020-10-20 16:11:57 +03:00
Nikolai Kochetov
bc58637ec2 Fixing build. 2020-10-19 21:37:44 +03:00
Nikolai Kochetov
50dcba6df4 Part 5. 2020-10-18 17:49:19 +03:00
Nikolai Kochetov
959424f28a Rename block to columns. 2020-10-14 17:04:50 +03:00
Nikolai Kochetov
966b1d6cf5 Rename Block to ColumnsWithTypeAndName. 2020-10-14 16:09:11 +03:00
Nikolai Kochetov
d28325a353 Replace getByPosition to [] 2020-10-10 21:24:57 +03:00
Nikolai Kochetov
a7fb2e38a5 Use ColumnWithTypeAndName as function argument instead of Block. 2020-10-09 10:41:28 +03:00
alexey-milovidov
9c9ef0db9b
Merge branch 'master' into database_atomic_improvements 2020-07-31 14:56:49 +03:00
Anton Popov
6d58279535 Merge remote-tracking branch 'upstream/master' into HEAD 2020-07-29 02:15:30 +03:00
Alexander Tokmakov
237accd154 Merge branch 'master' into database_atomic_improvements 2020-07-23 06:33:20 +03:00
Nikolai Kochetov
e4689ce302 Make IFunction::executeImpl const. 2020-07-21 16:58:07 +03:00
Alexander Tokmakov
a612080df1 Merge branch 'master' into database_atomic_improvements 2020-07-17 00:43:59 +03:00
Alexander Tokmakov
f6949b2f47 use dictionary ids 2020-07-15 22:25:31 +03:00
Alexander Kuzmenkov
3e6b9f297f Some provisions for Android build 2020-07-15 14:16:00 +03:00
Alexander Tokmakov
eea0cdcf25 add uuid to generated config 2020-07-14 23:32:13 +03:00
Azat Khuzhin
6a04de61b6 Allow isInjective() with empty block (is function injective with any arguments)
Since most of the time function will ignore it anyway, and creating
arguments just for checking is function injective or not is overkill
2020-07-08 00:28:49 +03:00
Andrey Chulkov
ba241a08b8 Remove grid polygon dict and rename the others 2020-05-25 18:57:03 +03:00
Nikita Vasilev
207de9ca9c fixed direct tests 2020-05-25 00:21:08 +03:00
Nikita Vasilev
c70401b1e4 fix other os 2020-05-24 11:56:34 +03:00
Nikita Vasilev
d4cc01446c Merge remote-tracking branch 'upstream/master' into nikvas0/ssd_dict 2020-05-23 13:06:47 +03:00
Andrey Chulkov
33b724befc fix compilation error 2020-05-18 03:02:32 +03:00
Andrey Chulkov
b64c9a09a5 Merge branch 'master' of github.com:ClickHouse/ClickHouse into polygon-dict-grids 2020-05-18 02:36:26 +03:00
alexey-milovidov
6d34f24605
Merge branch 'master' into complex_key_direct 2020-05-17 11:55:01 +03:00
Vitaly Baranov
201c88f64f Get dictionary and check access rights only once per each call of any function reading external dictionaries. 2020-05-15 03:14:14 +03:00
Nikita Vasilev
99b0abcb92 fix 2020-05-10 10:00:57 +03:00
Артем Стрельцов
de8bf3f78c Draft of ComplexKeyDirectDictionary layout 2020-05-10 02:53:01 +03:00
Артем Стрельцов
97496048d6 created direct dictionary (has bugs, doesn't work properly) 2020-05-02 02:35:54 +03:00
Nikita Vasilev
fac0439efb complex_key 2020-04-30 23:50:31 +03:00
Nikita Vasilev
464c90a486 Merge remote-tracking branch 'upstream/master' into nikvas0/ssd_dict 2020-04-22 10:27:20 +03:00
alexey-milovidov
b5f8efefa2
Merge pull request #10342 from azat/optimizeGroupBy-isInjective
[RFC] Use isInjective() over manual list of such functions for GROUP BY optimization
2020-04-18 14:28:59 +03:00
Azat Khuzhin
f29e5c60a5 Add const qualifier for IFunction::isInjective() 2020-04-18 01:50:15 +03:00
Ivan Lezhankin
e230632645 Changes required for auto-sync with Arcadia 2020-04-16 15:31:57 +03:00
Vitaly Baranov
c2f5e3c4ad Improve declaration of access rights: single place in code instead of three. 2020-04-07 23:20:38 +03:00
Ivan Lezhankin
06446b4f08 dbms/ → src/ 2020-04-03 18:14:31 +03:00