Commit Graph

13659 Commits

Author SHA1 Message Date
alexey-milovidov
418a86f338
Merge pull request #5355 from yandex/checksum-mismatch-more-verbose-error-message
Better error message on checksum mismatch #5347
2019-05-21 01:46:52 +03:00
Danila Kutenin
cf014b704a Check for number of arguments 2019-05-21 00:12:25 +03:00
Danila Kutenin
daaebf5ab0 optimized concat function with format, make format a bit more generic 2019-05-21 00:06:43 +03:00
Alexey Milovidov
4b604e4656 Better error message on checksum mismatch #5347 2019-05-20 23:46:52 +03:00
Alexey Milovidov
da142a5d5d Better error message on checksum mismatch #5347 2019-05-20 23:35:43 +03:00
chertus
187311add0 add decimal to decimal convertion in IN 2019-05-20 18:51:54 +03:00
Guillaume Tassery
77b7158cd8 Progress rename for total_rows and write_[rows|bytes] 2019-05-20 18:37:41 +07:00
sundy-li
66c60c2985 better tests 2019-05-20 12:31:52 +08:00
sundy-li
6843254ce4 Make sequenceMatch support other unsigned integer types 2019-05-20 12:02:54 +08:00
alexey-milovidov
02937294ce
Merge pull request #5311 from azat-archive/SimpleAggregateFunction-Arena-fix
Fix SimpleAggregateFunction for String longer MAX_SMALL_STRING_SIZE
2019-05-19 13:12:38 +03:00
Danila Kutenin
295a4a8684
Merge pull request #5330 from yandex/format_function
Format function added
2019-05-19 12:07:57 +03:00
Danila Kutenin
ed588bf727 style 2019-05-19 03:39:44 +03:00
Azat Khuzhin
db274bf516
Allocates arena for SimpleAggregateFunction only if IAggregateFunction requires 2019-05-19 03:33:04 +03:00
Azat Khuzhin
2f471d6ea3
Set allocatesMemoryInArena for SingleValueDataString to true
This includes next aggregate functions for String() type:
- *min*
- *max*
- *any*
2019-05-19 03:33:04 +03:00
Azat Khuzhin
4e8370b0b0
Fix SimpleAggregateFunction for String longer MAX_SMALL_STRING_SIZE
SimpleAggregateFunction do not pass arena to the
add_function -> getAddressOfAddFunction(), hence next crash happens:
  (gdb) bt
  #0  DB::Arena::alloc (size=64, this=0x0) at ../dbms/src/Common/Arena.h:124
  #1  DB::SingleValueDataString::changeImpl (this=0x7f97424a27d8, value=..., arena=0x0) at ../dbms/src/AggregateFunctions/AggregateFunctionMinMaxAny.h:274
  #2  0x0000000005ea5319 in DB::AggregateFunctionNullUnary<true>::add (arena=<optimized out>, row_num=<optimized out>, columns=<optimized out>, place=<optimized out>, this=<optimized out>) at ../dbms/src/AggregateFunctions/AggregateFunctionNull.h:43
  #3  DB::IAggregateFunctionHelper<DB::AggregateFunctionNullUnary<true> >::addFree (that=<optimized out>, place=<optimized out>, columns=<optimized out>, row_num=<optimized out>, arena=<optimized out>) at ../dbms/src/AggregateFunctions/IAggregateFunction.h:131
  #4  0x000000000679772f in DB::AggregatingSortedBlockInputStream::addRow (this=this@entry=0x7f982de19c00, cursor=...) at ../dbms/src/Common/AlignedBuffer.h:31
  #5  0x0000000006797faa in DB::AggregatingSortedBlockInputStream::merge (this=this@entry=0x7f982de19c00, merged_columns=..., queue=...) at ../dbms/src/DataStreams/AggregatingSortedBlockInputStream.cpp:140
  #6  0x0000000006798979 in DB::AggregatingSortedBlockInputStream::readImpl (this=0x7f982de19c00) at ../dbms/src/DataStreams/AggregatingSortedBlockInputStream.cpp:78
  #7  0x000000000622db55 in DB::IBlockInputStream::read (this=0x7f982de19c00) at ../dbms/src/DataStreams/IBlockInputStream.cpp:56
  #8  0x0000000006613bee in DB::MergeTreeDataMergerMutator::mergePartsToTemporaryPart (this=this@entry=0x7f97ec65e1a0, future_part=..., merge_entry=..., time_of_merge=<optimized out>, disk_reservation=<optimized out>, deduplicate=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1018
  #9  0x000000000658f7a4 in DB::StorageReplicatedMergeTree::tryExecuteMerge (this=0x7f97ec65b810, entry=...) at /usr/include/c++/8/bits/unique_ptr.h:342
  #10 0x00000000065940ab in DB::StorageReplicatedMergeTree::executeLogEntry (this=0x7f97ec65b810, entry=...) at ../dbms/src/Storages/StorageReplicatedMergeTree.cpp:910
  <snip>

  (gdb) f 1
  (gdb) p MAX_SMALL_STRING_SIZE
  $1 = 48
  (gdb) p capacity
  $2 = 64
  (gdb) p value
  $3 = {data = 0x7f97242fcbd0 "HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH", size = 61}

v2: avoid leaking of allocated by Arena memory on the intermediate step

Fixes: 8f8d2c048e ("Merge pull request #4629 from bgranvea/simple_aggregate_function")
2019-05-19 03:32:55 +03:00
alexey-milovidov
2254b171a7
Merge pull request #5313 from yandex/fix-external-query-in-with-single-element
Fix external queries with IN operator.
2019-05-19 03:12:57 +03:00
Danila Kutenin
876b5c3bbb style 2019-05-19 02:21:29 +03:00
Alexey Milovidov
648d2bdb25 Fixed test 2019-05-19 01:19:24 +03:00
alexey-milovidov
e73fc1bd0f
Merge pull request #5320 from sundy-li/feature/funnel64
Make windowFunnel support other Unsigned Integer Types
2019-05-18 23:47:12 +03:00
Danila Kutenin
fca6e4fd38 constant string handling 2019-05-18 18:09:52 +03:00
Danila Kutenin
95cd3e5bb8 style 2019-05-18 16:38:03 +03:00
Danila Kutenin
1c6707526a style 2019-05-18 16:21:48 +03:00
Danila Kutenin
59f26b7569 some optimizations 2019-05-18 15:56:26 +03:00
Danila Kutenin
a49ee5efd6 some optimizations 2019-05-18 15:52:33 +03:00
Danila Kutenin
84b04dc8ea format function added 2019-05-18 15:29:10 +03:00
Danila Kutenin
4e3a607267 format function added 2019-05-18 14:30:36 +03:00
alexey-milovidov
24b16da9fd
Merge pull request #5235 from vitlibar/improve-new-json-functions
Improve new json functions
2019-05-18 12:51:41 +03:00
alexey-milovidov
c2132880f6
Update WriteBufferFromVector.h 2019-05-18 12:43:43 +03:00
alexey-milovidov
7985ad10ef
Update IStorage.h 2019-05-18 12:31:51 +03:00
sundy-li
dcfdc09003 fix style 2019-05-18 09:34:55 +08:00
alexey-milovidov
fa4a7eb3d1
Merge branch 'master' into merge-itable-istorage 2019-05-18 00:37:12 +03:00
alexey-milovidov
8bf48de9c9
Merge pull request #5308 from abyss7/issue-5100
Add setting to regulate Kafka committing policy
2019-05-18 00:27:19 +03:00
alexey-milovidov
8b9b305a5f
Merge pull request #5325 from abyss7/issue-5286
Allow to shadow virtual column '_table' in Merge engine
2019-05-18 00:17:34 +03:00
alexey-milovidov
34f36e2891
Merge pull request #5304 from 4ertus2/funcs
Support quantile(s) and median for Decimal
2019-05-17 23:03:27 +03:00
Danila Kutenin
e0b90de474
Merge pull request #5322 from yandex/to_valid_utf8
toValidUTF8 function added
2019-05-17 22:48:32 +03:00
Ivan Lezhankin
dcff73c8d4 Fix build 2019-05-17 21:45:42 +03:00
Ivan Lezhankin
7b6c78402d Allow to shadow virtual column '_table' in Merge engine 2019-05-17 20:40:51 +03:00
Ivan Lezhankin
7f762aee88 Move some code from header to source file. 2019-05-17 17:48:03 +03:00
Ivan Lezhankin
0821d62516 Merge ITableDeclaration into IStorage.
Also a couple of massive include-refactorings with better forwarding
2019-05-17 17:34:25 +03:00
Vitaly Baranov
095fc7b454 Optimization by using implementation-specific JSONParser::sizeOfArray(), JSONParser::sizeOfObject(). 2019-05-17 17:24:13 +03:00
Danila Kutenin
64913c4778 better names 2019-05-17 16:00:29 +03:00
Yuriy
4a14eac00b fixed memory leak and changed logging levels 2019-05-17 16:00:09 +03:00
Danila Kutenin
0d3422fa8a toValidUTF8 function added 2019-05-17 15:55:21 +03:00
sundy-li
cbaca96926 remove spaces 2019-05-17 19:41:18 +08:00
sundy-li
4c95b9d007 modify createAggregateFunctionWindowFunnel 2019-05-17 19:31:29 +08:00
sundy-li
d3c4c1c255 modify createAggregateFunctionWindowFunnel 2019-05-17 19:30:09 +08:00
sundy-li
760bc5708d support unsigned integer type in windowFunnel Aggregate function 2019-05-17 19:17:52 +08:00
Artem Zuikov
4eee10d788
Merge pull request #5271 from 4ertus2/some
Cache ExpressionBlockInputStream header
2019-05-17 13:14:22 +03:00
alexey-milovidov
1707cd79c8
Merge pull request #5297 from github1youlc/xid_equal_to_close_xid_deadlock_fix
fix deadlock when xid equal to close_xid
2019-05-17 11:45:35 +03:00
Alexey Milovidov
09073e1229 More tests 2019-05-17 01:55:29 +03:00
Alexey Milovidov
b075de45d6 Fixed test 2019-05-17 01:51:26 +03:00
Alexey Milovidov
dd9e993a87 Fixed issue #3540 (in progress) 2019-05-17 00:09:06 +03:00
Alexey Milovidov
5352b53671 Added missing file 2019-05-16 22:57:20 +03:00
Alexey Milovidov
efd882aa29 Better logic 2019-05-16 22:55:18 +03:00
Vitaly Baranov
823d862ceb Add a setting to disable simdjson. 2019-05-16 22:39:49 +03:00
Alexey Milovidov
c9343c81b3 Miscellaneous 2019-05-16 22:19:30 +03:00
Alexey Milovidov
1ae7a8d313 Force formatting of IN with single element in parentheses 2019-05-16 22:12:58 +03:00
Alexey Milovidov
d2bb2a9892 Added failing test 2019-05-16 22:00:46 +03:00
Vitaly Baranov
b90a3a4222 Add UInt64 support to JSON functions. 2019-05-16 21:22:59 +03:00
Vitaly Baranov
8ab4e4dcfe Use rapidjson when AVX2 instructions are not available. 2019-05-16 20:40:24 +03:00
chertus
927557b0f8 move caching to ctor 2019-05-16 20:16:25 +03:00
Yuriy
0cd3094240 fixed stack buffer overflow 2019-05-16 20:15:43 +03:00
chertus
21cf553f16 extract readDecimalText.h from readFloatText.h 2019-05-16 19:41:10 +03:00
Artem Zuikov
c3588fd5da
Merge pull request #5291 from 4ertus2/nulls
Add toDecimalOrZero and toDecimalOrNull fuctions
2019-05-16 18:53:17 +03:00
Ivan Lezhankin
a14013dff7 Add setting to regulate Kafka committing policy. 2019-05-16 18:20:30 +03:00
chertus
fdcbf509bb support quantile(s)ExactWeighted for Decimal 2019-05-16 17:33:13 +03:00
chertus
50c35a70db support quanitle, quantiles, median for Decimal 2019-05-16 15:53:33 +03:00
Vitaly Baranov
263fc16bd5 Fix handling wrong JSONs. 2019-05-16 15:16:21 +03:00
chertus
ab517cdf4d Merge branch 'master' into decimal 2019-05-16 14:22:52 +03:00
Yuriy
a51c293ec6 merged 'origin/master' into mysql 2019-05-16 14:19:05 +03:00
Vitaly Baranov
f4942007e1 Add function JSONExtractKeysAndValues(). 2019-05-16 14:09:22 +03:00
Vitaly Baranov
99ab74acc6 Use CpuFlagsCache instead of __builtin_cpu_supports. 2019-05-16 14:09:22 +03:00
Vitaly Baranov
edf1c42c7b Add comments to the class template FunctionJSON. 2019-05-16 14:09:22 +03:00
Vitaly Baranov
c93bd31695 Simplify template implementation. 2019-05-16 14:09:22 +03:00
Vitaly Baranov
76bda0342b Move ExtraArg to the end of arguments of JSONExtract(). 2019-05-16 14:09:22 +03:00
Vitaly Baranov
d003682626 Implement function JSONExtractRaw(). 2019-05-16 14:09:22 +03:00
Vitaly Baranov
900f5cac81 Return Enum8 instead of string from JSONType(). 2019-05-16 14:09:22 +03:00
Vitaly Baranov
8be2e728c0 Use capital letters in the names of json functions: jsonHas => JSONHas 2019-05-16 14:09:22 +03:00
Vitaly Baranov
0d26ac8583 Reimplement indices in objects in more straightforward way 2019-05-16 14:09:22 +03:00
chertus
2739a3f6d0 Merge branch 'master' into nulls 2019-05-16 14:02:12 +03:00
linceyou
c6108eec73 fix possible deadlock 2019-05-16 14:42:56 +08:00
Yuriy
4ee84810b0 including information about query execution in response 2019-05-16 08:36:08 +03:00
Yuriy
459ec05828 fixed style 2019-05-16 06:45:17 +03:00
Yuriy
ff4937859e added MySQL wire protocol presentational format 2019-05-16 06:34:04 +03:00
alexey-milovidov
dcc88f3a0c
Merge pull request #5284 from 4ertus2/bugs
fix decimal quoted csv input
2019-05-16 00:07:23 +03:00
alexey-milovidov
2affb3ca82
Update DataTypesDecimal.h 2019-05-16 00:01:14 +03:00
alexey-milovidov
8e2bdde93b
Update StorageKafka.cpp 2019-05-15 23:57:24 +03:00
chertus
5f19c0981d add toDecimalOrZero and toDecimalOrNull fuctions 2019-05-15 21:50:35 +03:00
proller
51ca4cbaa4
Build fixes (#5278) 2019-05-15 20:19:39 +03:00
proller
0dd29e7c5b clang-format of AggregateFunctions/AggregateFunctionTSGroupSum.* 2019-05-15 19:27:44 +03:00
Yangkuan Liu
0760a3436f add AggregateFunction TSgroup{Rate}Sum (#4542) 2019-05-15 19:16:25 +03:00
Ivan
1ea9e3019d
Freeze the Kafka buffer after first empty response (#5283)
* Check inside inferior streams for cancellation while reading.
* Stop reading from Kafka buffer after first empty read.
2019-05-15 19:11:50 +03:00
Ivan Lezhankin
337ddf5047 Catch cppkafka exceptions about consumer creation failures 2019-05-15 17:23:52 +03:00
chertus
720f8667e4 fix decimal quoted csv input 2019-05-15 16:51:17 +03:00
chertus
02f01a5104 throw Decimal overflow for Inf and NaN 2019-05-15 15:28:44 +03:00
Artem Zuikov
98359a6a09
Merge pull request #5267 from 4ertus2/row_ref_list
RowRefList improvements
2019-05-15 13:38:48 +03:00
proller
0da7463a6b
CLICKHOUSE-4519 Support dictionaries in clickhouse-copier (#5270) 2019-05-15 12:16:09 +03:00
proller
7cb8d46338
Fix build (move code from AggregateFunctionMLMethod.h) (#5266) 2019-05-14 22:52:29 +03:00
alexey-milovidov
2cbbbba7c8
Merge pull request #5269 from vitlibar/fix-postfix-increment-in-settings
Fix postfix increment operator in Settings::iterator
2019-05-14 22:24:03 +03:00
alexey-milovidov
88b34999fe
Merge pull request #5247 from zhang2014/fix/rename_data_race
fix data race in rename query
2019-05-14 22:07:52 +03:00
chertus
4a5e2dfd3c cache ExpressionBlockInputStream header 2019-05-14 21:26:19 +03:00
Vitaly Baranov
9620e2e223
Merge pull request #5003 from Enmk/geohash_support
Implementation of geohashEncode and geohashDecode functions;
2019-05-14 20:01:22 +03:00
Ivan
4a5832b18a
Check the time limit every (flush_interval / poll_timeout) number of rows from Kafka (#5249) 2019-05-14 18:52:03 +03:00
Vitaly Baranov
4674ac2091 Fix postfix increment operator of Settings::iterator 2019-05-14 18:46:01 +03:00
chertus
b166791176 batched version of RowRefList 2019-05-14 17:40:43 +03:00
chertus
6200d20dc2 RowRefList refactoring 2019-05-14 17:39:03 +03:00
Artem Zuikov
aba710a70e
Merge pull request #5260 from 4ertus2/joins
Fix perf regression: do not add right join key to result if possible
2019-05-14 15:33:54 +03:00
proller
cc3de4115f
Build fixes (#5261) 2019-05-14 12:58:33 +03:00
chertus
20e7de7cce fix perf regression: do not add right join key to result if possible 2019-05-13 21:58:15 +03:00
Alexander Kozhikhov
332a8a97ab style 2019-05-13 20:08:58 +03:00
Alexander Kozhikhov
003a0fbadf conflict fix 2019-05-13 17:43:47 +03:00
Alexander Kozhikhov
9b4f322fd8 Merge branch 'master' of https://github.com/yandex/ClickHouse 2019-05-13 16:50:56 +03:00
Alexander Kozhikhov
79010b7c3c some review fixes 2019-05-13 16:49:53 +03:00
zhang2014
2206ba464f fix data race in rename query 2019-05-13 15:54:38 +08:00
Guillaume Tassery
9c295fa524 Don't ask client to send write info byte if the version cannot handle it 2019-05-13 14:18:02 +07:00
Guillaume Tassery
1ae8948177 Merge branch 'master' of https://github.com/yandex/ClickHouse into send_header 2019-05-13 13:35:12 +07:00
Guillaume Tassery
a1ed3f8f6b Add checks for header progress 2019-05-13 12:55:53 +07:00
Guillaume Tassery
2bd3895e40 Rename HTTP header on total_rows to rows_in_set 2019-05-13 11:56:08 +07:00
Guillaume Tassery
1b30f91c42 Return to old implementation of read and write values for progress 2019-05-13 11:48:09 +07:00
Nikita Vasilev
ee3c50e1a0 mayBeTrueOnGranule 2019-05-12 20:08:28 +03:00
Nikita Vasilev
3e02eaf28d fix null minmax 2019-05-12 20:01:36 +03:00
svladykin
22389d4eca Support for bitmapHasAny and bitmapHasAll functions. 2019-05-12 17:47:31 +03:00
alexey-milovidov
9ce2dd8803
Merge pull request #5238 from janplus/if-nullable-bug
Fix if, multiIf's nullable bug.
2019-05-12 11:47:37 +03:00
alexey-milovidov
f7343ecb6f
Merge pull request #4639 from IvanKush/feat/parallel-alter-modify
feat alter:  parallelize processing of parts in alter modify
2019-05-12 00:39:46 +03:00
hcz
cf95327cba Remove unused variables and add comment 2019-05-11 02:06:58 +08:00
ivan-kush
ab6558b8b4 add spaces amp 2019-05-10 17:34:02 +03:00
Vasily Nemkov
e4988110ec Implementation of geohashEncode and geohashDecode functions;
Function signatures:
 * geohashEncode(float lon, float lat, int precision) => string

 * geohashDecode(string encoded) => (float llon, float lat)

With test cases and documentation;
2019-05-10 14:59:24 +03:00
吴健
bd43e8bada Fix if, multiIf's nullable bug. 2019-05-10 18:42:44 +08:00
Guillaume Tassery
a4c891e529 Typo for progress and summary header 2019-05-10 13:50:48 +07:00
alexey-milovidov
8ef7f3589a
Merge pull request #4936 from TCeason/feature/support_settings_for_async
Suport settings for async distributed inserts (#4852)
2019-05-09 23:59:29 +03:00
alexey-milovidov
001e4bfe76
Merge pull request #5209 from PerformanceVision/rename_mv
Support rename operation for MaterializeView storage
2019-05-09 23:10:41 +03:00
alexey-milovidov
9f5e1a5b80
Merge pull request #5228 from andyyzh/fix_bitmap_issue_5220
Fix bitmap functions crash the server bug segfault
2019-05-09 23:06:57 +03:00
alexey-milovidov
a1cb9a2d67
Merge pull request #5152 from janplus/bug-null-in
Fix null problem in FunctionIn
2019-05-09 19:22:41 +03:00
alexey-milovidov
8f8d2c048e
Merge pull request #4629 from bgranvea/simple_aggregate_function
SimpleAggregateFunction data type
2019-05-09 18:45:59 +03:00
Danila Kutenin
8be1bc009a move CpuId to Common 2019-05-09 13:33:56 +03:00
Andy Yang
4b66622601 Fix bitmap functions crash the server bug segfault 2019-05-09 17:24:36 +08:00
alexey-milovidov
4853b06f95
Merge pull request #5223 from proller/fix26
Build fixes
2019-05-09 11:38:20 +03:00
Guillaume Tassery
c8bf190f84 add unsafe function member for (add|remove)dependency for calling manually the context locking 2019-05-09 13:12:02 +07:00
Artem Zuikov
7234de83d6
Merge pull request #5217 from 4ertus2/joins
Join.h refactoring: remove useless specialisations
2019-05-08 20:29:44 +03:00
proller
deddb40bf2 fix 2019-05-08 17:25:17 +03:00
Vitaly Baranov
7ace113ac0 Use custom cmake file for simdjson and fix build 2019-05-08 16:20:25 +03:00
Vitaly Baranov
14d58737dd Fix error: use of old-style cast 2019-05-08 16:20:25 +03:00
hcz
682ce99133 Return strings in jsonType 2019-05-08 16:20:25 +03:00
hcz
706f335042 Format code and update tests 2019-05-08 16:20:25 +03:00
hcz
8cae381428 Performance improvement 2019-05-08 16:20:25 +03:00
hcz
b721ae11f5 Fix const column detection 2019-05-08 16:20:25 +03:00
hcz
e1a236f55c Update API 2019-05-08 16:20:25 +03:00
hcz
789b484108 Fix cmakelists 2019-05-08 16:20:25 +03:00
hcz
560246c0c3 Add Simdjson API 2019-05-08 16:20:25 +03:00
proller
10c349e398 Fix macos build 2019-05-08 15:26:35 +03:00
chertus
4969ad2f98 correct comment & some renames 2019-05-08 13:53:45 +03:00
proller
b9385f9620 Disable test in macos 2019-05-08 13:24:50 +03:00
Ivan Kush
2a356791ab Merge branch 'master' into feat/parallel-alter-modify 2019-05-07 23:53:14 +03:00
ivan-kush
5bde1c69ab last try? 2019-05-07 23:41:15 +03:00
chertus
74feef7e53 Join.h refactoring: remove unneeded specialisations 2019-05-07 21:21:44 +03:00
Guillaume Tassery
4cfb2859aa set generateInnerTableName function as inline 2019-05-07 14:38:10 +07:00
Guillaume Tassery
55dc86ef74 Support rename operation for MaterializeView storage 2019-05-07 13:54:55 +07:00
吴健
c687a85304 Merge branch 'bug-null-in' of github.com:janplus/ClickHouse into bug-null-in 2019-05-07 13:59:46 +08:00
吴健
84ee8cec93 Add function ignoreExceptNull to meet nullable functionIn's requirement for optimization of analyse. 2019-05-07 13:20:23 +08:00
Guillaume Tassery
3f8121d34f format code style 2019-05-06 17:23:06 +07:00
Guillaume Tassery
6dcaadc620 Merge remote-tracking branch 'upstream/master' into send_header 2019-05-06 17:18:41 +07:00
Guillaume Tassery
7d578edc85 Check null values for when we send summary header 2019-05-06 16:09:45 +07:00
Danila Kutenin
c280907f09 Zero initialization instead of memset 2019-05-06 11:34:28 +03:00
Guillaume Tassery
55842dce10 code style 2019-05-06 13:57:48 +07:00
Guillaume Tassery
e0bd16c1f4 Backward compatibility for write progress with old version of server and client 2019-05-06 13:14:37 +07:00
hcz
4f3e164c73 Fix and add tests 2019-05-06 12:08:54 +08:00
hcz
d86d60297a Add skewness and kurtosis functions 2019-05-06 11:49:14 +08:00
Danila Kutenin
2abf420fac
Merge pull request #5198 from yandex/ngram_vector_vector_distance
Ngram vector_vector distance added
2019-05-06 02:49:59 +03:00
Danila Kutenin
512c7fa3a4 Comments 2019-05-06 00:40:37 +03:00
Danila Kutenin
8b235f7a4a Comments 2019-05-06 00:37:58 +03:00
Danila Kutenin
6a6b30a56f Less code with unique ptrs and some docs added 2019-05-06 00:35:08 +03:00
Danila Kutenin
f613c06c47 ngram vector_vector distance added 2019-05-05 23:48:46 +03:00
alexey-milovidov
8664032c8d
Merge pull request #5192 from zhang2014/fix/require_joined_columns
try fix push require columns with join
2019-05-05 18:48:26 +03:00
Danila Kutenin
ced9805cc1 Remove condition of prefixes first 2019-05-05 15:26:20 +03:00
zhang2014
359e4c33bd try fix push require columns with join 2019-05-05 19:12:07 +08:00
Danila Kutenin
e531348e12 Better condition 2019-05-05 12:34:43 +03:00
Danila Kutenin
451407a829 Fix word extraction if prefix candidate is small 2019-05-05 12:32:26 +03:00
alexey-milovidov
784befd0f1
Merge pull request #5189 from yandex/rwlock-fix-race-condition
Fixed race condition with recursive usage of RWLock
2019-05-05 10:52:15 +03:00
Danila Kutenin
ca4f098362 fix hyperscan to treat regular expressions as utf-8 expressions 2019-05-05 09:51:59 +03:00
Alexey Milovidov
50a9d733b4 Attempt to fix race condition in recursive RWLock 2019-05-05 05:01:23 +03:00
Alexey Milovidov
c462b0fabb Miscellaneous 2019-05-05 02:12:55 +03:00
Alexey Milovidov
aca0195468 Miscellaneous 2019-05-04 19:17:11 +03:00
Alexey Milovidov
b2443f6aa6 Removed huge chunk of bad code 2019-05-04 06:45:58 +03:00
Alexey Milovidov
24dc2c858a Removed huge chunk of bad code 2019-05-03 21:07:59 +03:00
Alexey Milovidov
ad355897f7 Removed huge chunk of bad code 2019-05-03 05:09:41 +03:00
Alexey Milovidov
a6ca9f266f Removed huge chunk of bad code 2019-05-03 05:00:57 +03:00
Alexey Milovidov
41a32d8693 Removed bad code 2019-05-03 03:27:11 +03:00
Alexey Milovidov
0a8e888671 Fixed bad code 2019-05-03 03:26:46 +03:00
Alexey Milovidov
9537ff0594 Miscellaneous 2019-05-03 01:51:39 +03:00
alexey-milovidov
0dd0611873
Merge pull request #5173 from yandex/rename-method
Rename method for consistency
2019-05-03 00:58:51 +03:00
ivan-kush
abfb681a04 hz 2019-05-03 00:43:24 +03:00
ivan-kush
9ce742e040 Merge remote-tracking branch 'upstream/master' into feat/parallel-alter-modify 2019-05-03 00:25:56 +03:00
ivan-kush
d555a165a4 debug stress address 2019-05-02 21:48:38 +03:00
alexey-milovidov
9e3c80d2ed
Merge pull request #5170 from yandex/cidr-to-range-better-code
Cidr to range better code
2019-05-02 19:29:36 +03:00
Alexey Milovidov
270a31abb5 Rename method for consistency 2019-05-02 19:07:23 +03:00
ivan-kush
ea82760463 add reset 2019-05-02 18:12:57 +03:00
Alexey Milovidov
6a271adad3 Added max_parts_in_total threshold to MergeTree tables 2019-05-02 17:48:54 +03:00
ivan-kush
3ecb66d965 debug stress address 2019-05-02 16:42:09 +03:00
Alexey Milovidov
4dc0170d2c CIDR functions: better code #5095 2019-05-02 16:04:24 +03:00
ivan-kush
591325468b make_unique 2019-05-02 14:54:34 +03:00
alexey-milovidov
478b721b36
Merge pull request #5167 from yandex/remove-useless-code-in-columns-description
Removed bad and useless code in ColumnsDescription
2019-05-02 02:16:36 +03:00
Alexey Milovidov
0381a6a1ec Better code for CIDR to range functions #5095 2019-05-02 01:09:24 +03:00
Alexey Milovidov
3fa2784e7c Removed unneeded file #5095 2019-05-02 01:00:56 +03:00
alexey-milovidov
2dccdb18eb
Merge pull request #5095 from PerformanceVision/CIDR_MASK
Functions for calculate lower and high range of an IP address using a CIDR mask
2019-05-02 01:00:29 +03:00
Alexey Milovidov
1be21e3cb6 Removed bad and useless code in ColumnsDescription 2019-05-02 00:43:05 +03:00
alexey-milovidov
d4b4a9425b
Merge pull request #5154 from yandex/fix-low-cardinality-keys-in-set-index
LowCardinality keys in set index
2019-05-01 20:19:04 +03:00
ivan-kush
6ac5aa5e49 restart performance 2019-05-01 18:46:17 +03:00
ivan-kush
4a3a1fc6d9 return transactions cleaning 2019-05-01 15:43:43 +03:00
Ivan Kushnarenko
e38f6e08d8 debug tsan refactor trash 2019-05-01 13:26:49 +03:00
proller
83a35d7644 Update contributors 2019-04-30 22:46:07 +03:00
Vitaly Baranov
2dfe73eefc
Merge pull request #5156 from vitlibar/settings-constraints-remove-thread-local
Get rid of thread_local in SettingsConstraints.cpp
2019-04-30 20:40:52 +03:00
alexey-milovidov
35471f4234
Update in.cpp 2019-04-30 20:26:56 +03:00
Nikolai Kochetov
be91f09417 Merge branch 'master' into fix-low-cardinality-keys-in-set-index 2019-04-30 20:26:18 +03:00
Danila Kutenin
7a2e40da28 pragma once in header file 2019-04-30 19:48:33 +03:00
Danila Kutenin
3f1523a80a
Merge pull request #5070 from danlark1/master
Upgrade our LZ4 decompression with the new reference implementation optimizations
2019-04-30 19:29:24 +03:00
alexey-milovidov
e7ec3b9eb8
Merge pull request #5136 from PerformanceVision/basename
Add a basename function
2019-04-30 19:15:35 +03:00
alexey-milovidov
b88c981902
Update basename.cpp 2019-04-30 19:15:08 +03:00
alexey-milovidov
39b696f9df
Update basename.cpp 2019-04-30 19:14:53 +03:00
Ivan
dede124449
Fixes after premature merge of #5139 (#5143)
* Implement move-constructor via move-assignment operator.
* Reimplement copy-ctor via copy-assignment operator too.
2019-04-30 19:05:39 +03:00
Nikolai Kochetov
6a3966cd08
Update PreparedSets.h 2019-04-30 17:46:17 +03:00
Vitaly Baranov
19259ab5e3 Get rid of thread_local in SettingsConstraints.cpp 2019-04-30 17:09:10 +03:00
Nikolai Kochetov
6b2656b02c Remove LowCardinality from types in PreparedSetKey. #5031 2019-04-30 13:34:12 +03:00
Guillaume Tassery
ee742f38d9 Formatting 2019-04-30 13:53:09 +07:00
Guillaume Tassery
9a5a0b2776 Formatting 2019-04-30 13:50:38 +07:00
吴健
acbeedad38 Fix null problem in FunctionIn 2019-04-30 11:50:30 +08:00
Danila Kutenin
0d3ff520c6 Typos 2019-04-30 00:44:17 +03:00
Danila Kutenin
8089759205 Remove bad headers 2019-04-30 00:43:05 +03:00
alexey-milovidov
109726d533
Update basename.cpp 2019-04-30 00:40:54 +03:00
Danila Kutenin
d38f4cd3a7 Almost empty 2019-04-30 00:36:53 +03:00
alexey-milovidov
0a34e05130
Merge pull request #5138 from CurtizJ/limit-by-offset
Added support of LIMIT n, m BY clause.
2019-04-30 00:17:29 +03:00
Ivan
6291c4098f
Revert "Merge pull request #5139 from abyss7/fix-self-move" (#5150)
This reverts commit bd1f8fe97a, reversing
changes made to 5d1091bfee.
2019-04-29 23:33:26 +03:00
Danila Kutenin
436029bf64 No AVX but remain wildcopy 32 2019-04-29 22:30:14 +03:00
alexey-milovidov
bd1f8fe97a
Merge pull request #5139 from abyss7/fix-self-move
Remove move-assignment to prevent possible self-move
2019-04-29 17:08:23 +03:00
Ivan Lezhankin
9a1aee4c2e Remove move-assignment to prevent possible self-move 2019-04-29 16:47:28 +03:00
CurtizJ
7766f5c0c3 added offset for limit by 2019-04-29 16:12:39 +03:00
Vitaly Baranov
5d1091bfee
Merge pull request #5130 from vitlibar/settings-refactoring
Templatize settings.
2019-04-29 15:53:21 +03:00
Guillaume Tassery
95141804fb Add a basename function 2019-04-29 16:40:44 +07:00
tai
b394a79af3 try fix batch async insert settings for Distributed 2019-04-29 17:02:23 +08:00
tai
0d39968233 Suport settings for async(#4852)
There is no hash operation on Settings. Because it is less valuable for hash operations.

And I dont know how to write a testcase.
2019-04-29 17:02:23 +08:00
Yuriy
d21cf9d85f ssl support 2019-04-29 09:05:30 +03:00
alexey-milovidov
1d69a73424
Merge pull request #5119 from nicelulu/update_24
modification retention function
2019-04-29 04:51:18 +03:00
alexey-milovidov
0a88bcbb48
Merge pull request #5129 from kvinty/msd-radix-sort
[WIP] Add MSD radix sort
2019-04-29 04:50:27 +03:00
alexey-milovidov
8d2941fa60
Update RadixSort.h 2019-04-29 04:50:18 +03:00
Vitaly Baranov
28d9a80072 Rename macro APPLY_FOR_SETTINGS => LIST_OF_SETTINGS. 2019-04-29 03:22:59 +03:00
Vitaly Baranov
5beaf33a9f Get rid of code duplication, use templates. 2019-04-29 03:22:59 +03:00
Ivan Kushnarenko
bdbe97276c remove groups 2019-04-27 23:15:10 +03:00
Ivan
9edbbc637a
Fix segmentation fault on iterator double-free inside RWLock (#5127)
* Store the key instead of iterator, which may get invalidated by erasure from another instance.
* Add test
2019-04-27 22:12:35 +03:00
Evgenii Pravda
91ccf2ab20 Fixes 2019-04-27 20:52:43 +03:00
ivan-kush
26b3910b7d tsan debug 2019-04-27 20:01:30 +03:00
ivan-kush
40be74ac65 refactor 2019-04-27 18:27:57 +03:00
Ivan Kushnarenko
cb51558bdf check build clang7 splitted 2019-04-27 11:24:50 +03:00
Vitaly Baranov
1b8c01e940 Transform comments for MergeTreeSettings into descriptions. 2019-04-27 01:09:16 +03:00
Vitaly Baranov
738a49f534 Use iterators instead of macros APPLY_FOR_SETTINGS and others. 2019-04-27 01:09:16 +03:00
Vitaly Baranov
7801671225 Use shared_ptr to avoid copying SettingsConstraints 2019-04-27 01:09:16 +03:00
Vitaly Baranov
7e3c8d6022 Implement new constraints: "min" and "readonly". 2019-04-27 01:09:16 +03:00
Evgenii Pravda
568ef78803 Add MSD radix sort 2019-04-27 01:07:32 +03:00
Vitaly Baranov
77e7838c30 Implemented iterators in the SettingsCollection template class 2019-04-26 19:11:05 +03:00
Vitaly Baranov
d43e7a8960 Implement max constraints for number settings. 2019-04-26 19:11:05 +03:00
Vitaly Baranov
8277e9d8f1 Refactoring of Settings based on new template class SettingsCollection.
Add new class SettingsConstraints.
2019-04-26 19:11:05 +03:00
Vitaly Baranov
b24c69743e Use the same parameters in all APPLY_FOR_SETTINGS macros. 2019-04-26 19:11:05 +03:00
821008736@qq.com
02e9cc8f2d fix retention function 2019-04-26 17:36:35 +08:00
Guillaume Tassery
f21004ed7e IPv4CIDRtoIPv4Range and IPv6CIDRtoIPv6Range return now an IP 2019-04-26 13:30:07 +07:00
Guillaume Tassery
7c4541b127
Merge branch 'master' into top_level_domain 2019-04-26 12:30:23 +07:00
Guillaume Tassery
40db4551f2 Add USE_GPERF on configuration file 2019-04-26 12:01:02 +07:00
Guillaume Tassery
7b1be6efc4 Clode cleaning and add test for X-ClickHouse-Summary header 2019-04-26 10:46:52 +07:00
Guillaume Tassery
3707f26edf Write number of rows written in a summary instead of progress header 2019-04-26 10:38:39 +07:00
Danila Kutenin
f86cf7bd11 Correct cpu dispatch, nounroll for clang 2019-04-26 00:53:22 +03:00
ivan-kush
ba61e16093 style 2019-04-26 00:37:57 +03:00
ivan-kush
86af5fc0c2 Merge remote-tracking branch 'upstream/master' into feat/parallel-alter-modify 2019-04-25 22:48:44 +03:00
ivan-kush
af02fe4a96 Merge remote-tracking branch 'origin/feat/parallel-alter-modify' into feat/parallel-alter-modify 2019-04-25 22:33:09 +03:00
ivan-kush
33201fa9a8 rev 2019-04-25 21:57:43 +03:00
Danila Kutenin
3501f633e4 Cosmetics 2019-04-25 21:35:58 +03:00
Danila Kutenin
5c68881b72 Really faster LZ4 now, cpu dispatch in ClickHouse 2019-04-25 21:34:32 +03:00
Danila Kutenin
71d87a49b2 Merge branch 'master' of https://github.com/yandex/ClickHouse 2019-04-25 19:19:01 +03:00
Guillaume Tassery
ced71ac9fd Send how many rows and bytes were written during the query 2019-04-25 18:25:49 +07:00
Alexey Milovidov
661c840fbe Code cleanups after #4439 2019-04-25 04:16:26 +03:00
alexey-milovidov
445f51c01e
Merge pull request #4439 from kvinty/kvinty-radix-sort
Use radixSort in ORDER BY + add performance test
2019-04-25 02:45:38 +03:00
proller
c6d0e095e0
Prepare cmake for new contrib/poco (#5062) 2019-04-25 00:33:04 +03:00
alexey-milovidov
1de889c201
Merge pull request #5081 from Akazz/master
Support for header specified order of columns in TSVWithNames/CSVWithNames formats
2019-04-24 18:59:09 +03:00
alexey-milovidov
d2a4aa964d
Merge pull request #5026 from PerformanceVision/uniq_array
Add an optional max_size parameter to groupUniqArray
2019-04-24 14:34:39 +03:00
Guillaume Tassery
2640a0716c Add some pragma for ignoring some compilation flags for file generated by gperf 2019-04-24 17:09:46 +07:00
proller
ba4687e110
Cmake: dont use LINK_MODE (but use BUILD_SHARED_LIBS) (#5091) 2019-04-24 12:06:28 +03:00
Guillaume Tassery
68b0144178 Remove unused header and some typo in comment for IPv6 range function 2019-04-24 13:26:28 +07:00
Guillaume Tassery
efd780f20d Apply fix for IPv6 range function when we use a column with more than one element 2019-04-24 12:19:36 +07:00
Guillaume Tassery
0e67d424da Code reformating for ip range function 2019-04-24 11:18:17 +07:00
alexey-milovidov
3db650861d
Update AggregateFunctionGroupUniqArray.h 2019-04-24 01:40:16 +03:00
Yuriy
a4bf3621e3 merged with master 2019-04-23 21:58:29 +03:00
Alexey Milovidov
b52f1257a9 Removed useless include 2019-04-23 19:48:46 +03:00
Guillaume Tassery
56393de68e Handle UB case for CIDR IP range function and add documentation 2019-04-23 19:28:25 +07:00
Guillaume Tassery
8dee4fe5d1 Add function for get an ipv4 range using an ipv4 and a cidr mask 2019-04-23 14:02:23 +07:00
alexey-milovidov
0cf40e0029
Merge pull request #5082 from yandex/pvs-studio-fixes-3
Resolved some of PVS-Studio warnings
2019-04-22 22:06:07 +03:00
Alexander Kazakov
ecc6da1429 Fixed missing includes 2019-04-22 20:02:34 +03:00
Alexander Kazakov
c7a4b2ec75 Fixed style 2019-04-22 19:53:54 +03:00
alexey-milovidov
b1cf026b5b
Merge pull request #5080 from abyss7/issue-4736
Do not drop Kafka Consumer buffers after deletion of stream
2019-04-22 19:18:33 +03:00
Alexey Milovidov
58d7d1e451 Resolved some of PVS-Studio warnings 2019-04-22 19:07:09 +03:00
Danila Kutenin
6c0e7bb9ac Merge branch 'master' of https://github.com/yandex/ClickHouse 2019-04-22 18:27:09 +03:00
Alexander Kazakov
bde1845bdc Better naming 2019-04-22 17:00:51 +03:00
Alexander Kazakov
d90bab5e33 In [T|C]SVWithNames formats start using column information from header 2019-04-22 16:31:17 +03:00
Ivan Lezhankin
94bba1918f Do not drop Kafka consumer buffers after closing stream 2019-04-22 16:23:05 +03:00
Guillaume Tassery
153c9d6455 Add function for get an IP range from a CIDR 2019-04-22 18:21:59 +07:00
Yuriy
e4766a4ef9 caching_sha2_password authentication plugin 2019-04-22 13:57:50 +03:00
hcz
3bbe57adac
Rename AggregateFunctionsStatisticsSimple.cpp to AggregateFunctionStatisticsSimple.cpp 2019-04-22 17:31:01 +08:00
Danila Kutenin
cabcaf673a Comments 2019-04-21 20:41:45 +03:00
Danila Kutenin
2caf3d39ff Faster LZ4 decompression because of new release 2019-04-21 20:31:15 +03:00
Alexander Kozhikhov
6c7f2cbc37 asan 2019-04-21 19:08:55 +03:00
Alexander Kozhikhov
fd07c97097 Merge branch 'master' of https://github.com/yandex/ClickHouse 2019-04-21 18:43:29 +03:00
Alexander Kozhikhov
0bedabb5e4 review fixes 2019-04-21 17:44:39 +03:00
Alexander Kozhikhov
ef98afb6a6 review fixes 2019-04-21 17:42:37 +03:00
Alexander Kozhikhov
daf4690d37 review fixes 2019-04-21 17:32:42 +03:00
Alexander Kozhikhov
b6d2c9f4d2 some review fixes 2019-04-21 02:22:42 +03:00
alexey-milovidov
e62999d8b9
Fixed typo in comment. 2019-04-20 23:25:19 +03:00
Danila Kutenin
e914d0d67a Just update LZ4 2019-04-20 15:47:16 +03:00
Evgenii Pravda
5a773ed67c Fix nulls order 2019-04-20 02:04:17 +03:00
Evgenii Pravda
bc4eb309e2 Trying to defeat gcc 8 (2) 2019-04-20 02:04:17 +03:00
Evgenii Pravda
6157ddba0d Trying to defeat gcc 8 2019-04-20 02:04:17 +03:00
Evgenii Pravda
fecf0a3630 Some fixes 2019-04-20 02:04:17 +03:00
Evgenii Pravda
f1e842cdf6 Use radixSort when possible 2019-04-20 02:04:17 +03:00
Alexey Milovidov
ee1a843609 COWPtr: improvements (C++ Russia 2019, suggested by Alexey Malov) 2019-04-19 23:22:06 +03:00
Danila Kutenin
c7731b32f1 Try safe version 2019-04-19 15:34:56 +03:00
Guillaume Tassery
7a75003d26 Send X-ClickHouse-Progress header in the end of a query execution 2019-04-19 19:14:10 +07:00
Alexey Milovidov
b0b369b30f Fixed typo #5010 2019-04-18 22:46:59 +03:00
Alexey Milovidov
642b09c8d6 Added clarifications #5010 2019-04-18 22:45:46 +03:00
alesapin
21c1e71b0e
Merge pull request #5052 from yandex/fix_max_block_rows_with_adaptive_granularity
Use fixed_granularity as upper bound for adaptive granularity
2019-04-18 22:23:37 +03:00
alesapin
33b228c276 Fix own test 2019-04-18 19:33:28 +03:00
alesapin
214bf77b17
Merge pull request #5012 from nvartolomei/nv/lb-first-or-random
Add FIRST_OR_RANDOM Load Balancing policy
2019-04-18 18:54:04 +03:00
alesapin
1c899edc27
Update ConnectionPoolWithFailover.cpp 2019-04-18 18:53:39 +03:00
alesapin
d812ae7024 Use fixed_granularity as upper bound for adaptive granularity 2019-04-18 18:06:45 +03:00
alexey-milovidov
ab27970fd7
Merge pull request #5028 from mhsekhavat/patch-1
Fix settings.max_partitions_per_insert_block type
2019-04-18 16:39:17 +03:00
Danila Kutenin
0d70325fb8 try decompress fast 2019-04-18 16:20:47 +03:00
proller
ad42179bec Remove rvo_test 2019-04-18 15:25:30 +03:00
Danila Kutenin
2c7fed45da try decompress fast 2019-04-18 14:37:20 +03:00
Ivan
118bea2be6
Enable predicate push-down optimization by default. (#4846)
* Enable predicate push-down optimization by default.
* Forbid push-downs for some JOIN cases.
* Fix existing tests
* Forbid optimization if a select query has ARRAY JOIN on any side.
2019-04-18 13:39:25 +03:00
Guillaume Tassery
bd9a583869 Adapt coding style top level domain lookup 2019-04-18 10:51:02 +07:00
Vitaly Baranov
345ae9aaa5
Merge pull request #5037 from vitlibar/fix-ubsan-errors
Fix ubsan errors
2019-04-17 23:39:01 +03:00
proller
525726a5e2
Remove pocoext (#5036) 2019-04-17 20:36:58 +03:00
Vitaly Baranov
7ef7a2d767 Disable ubsan error "outside the range of representable values" in bitSwapLastTwo.cpp 2019-04-17 19:14:31 +03:00
Vitaly Baranov
58a9105038 Fix ubsan error "outside the range of representable values" in convertFieldToType.cpp 2019-04-17 19:10:40 +03:00
alexey-milovidov
7b201a9491
Merge pull request #4986 from 4ertus2/ast
Partially fix distributed_product_mode=local columns access
2019-04-17 17:59:01 +03:00
proller
1b020827f0 Move Poco/Ext/ThreadNumber.h to common/getThreadNumber.h (#5016) 2019-04-17 17:53:54 +03:00
Guillaume Tassery
a904a4af7a Remove useless file 2019-04-17 19:45:25 +07:00
Guillaume Tassery
65fc607c18 Modify tldlookup.gperf file for include only second level domain 2019-04-17 19:40:11 +07:00
Guillaume Tassery
1eccfacca5 Take into account when we have content after the dns on (cutTo)firstSignificantSubdomain function 2019-04-17 19:27:15 +07:00
Guillaume Tassery
b8bc308685 Merge branch 'uniq_array' of github.com:PerformanceVision/ClickHouse into uniq_array 2019-04-17 17:24:28 +07:00
Guillaume Tassery
a96e3c470e Reformate code for optional parameter for groupUniqArray 2019-04-17 17:24:02 +07:00
Mohammad Hossein Sekhavat
322079e2af
Fix settings.max_partitions_per_insert_block type
The `max_partitions_per_insert_block` field is of `size_t` type, rather than `Boolean`
2019-04-17 10:16:02 +00:00
Guillaume Tassery
340e1380f4
Merge branch 'master' into uniq_array 2019-04-17 17:06:23 +07:00
Guillaume Tassery
4cc0ee677a Use gperf perfect hash for checking with a better accurency the tld for firstSignificantSubdomain and cutToFirstSignificantSubdomain 2019-04-17 13:21:26 +07:00
Artem Zuikov
29c92372a2
Merge pull request #4993 from 4ertus2/asof
Radix sort for ASOF JOIN
2019-04-16 21:31:21 +03:00
alexey-milovidov
76b6d43a53
Merge pull request #5001 from 4ertus2/bugs
Fix select distinct with join
2019-04-16 20:08:15 +03:00
Vitaly Baranov
f0c7e56603
Merge pull request #4962 from vitlibar/resolve-dictionary-depends-on-dictionary
Resolve correctly when dictionary depends on dictionary
2019-04-16 17:37:54 +03:00