Commit Graph

21914 Commits

Author SHA1 Message Date
alexey-milovidov
9c1c596146
Merge pull request #7252 from ClickHouse/fix-bad-code-in-transform-query-for-external-database
Fix bad code in transforming query for external database.
2019-10-10 21:10:36 +03:00
Alexander Kazakov
03c7b7ff8d
Prevent from using non-deterministic functions in mutations of replicated tables (#7247)
* Added isDeterministic() to IFunctionBuilder i-face
* A test for non-deterministic mutations
* In MutationsInterpreter::validate() ensure deterministic functions
* Adjusted nondeterministic mutation tests
* Moved around some code in MutationsInterpreter::validate()
* Dropped unnecessary check in findFirstNonDeterministicFuncName()
* Corrections to IFunction{Base,Builder} interface
2019-10-10 17:38:08 +03:00
alesapin
51c8188903
Merge pull request #7253 from ClickHouse/dictionaries_ddl_parser
Refactor parser create query
2019-10-10 11:34:21 +03:00
alesapin
777ba2e47e Remove some code 2019-10-10 00:31:29 +03:00
Alexey Milovidov
3fbac60328 Added a test 2019-10-09 23:16:17 +03:00
Alexey Milovidov
e65b57369e transformQueryForExternalDatabase: fixed constant folding for Date and DateTime 2019-10-09 23:13:34 +03:00
alesapin
fae3f85a0f Refactor parser create query 2019-10-09 23:09:10 +03:00
Alexey Milovidov
b302fec362 Fixed bad code in transformQueryForExternalDatabase 2019-10-09 22:58:50 +03:00
alexey-milovidov
689411abe0
Merge pull request #7222 from azat/uniqCombined64
[RFC] Introduce uniqCombined64() to get sane results for cardinality > UINT_MAX
2019-10-09 20:29:56 +03:00
alexey-milovidov
6cd3e9a458
Update AggregateFunctionUniqCombined.h 2019-10-09 20:26:01 +03:00
alexey-milovidov
81a9c81ba7
Merge pull request #7236 from azat/uniqCombined-memory-usage
Do not use more then 98K of memory for uniqCombined*
2019-10-09 20:19:30 +03:00
alexey-milovidov
e3861e0e88
Merge pull request #7242 from azat/sparse_hashed-name
Return SparseHashed name (system.dictionaries:type) for the sparse_hashed layout
2019-10-09 20:12:24 +03:00
alexey-milovidov
01e08a23c2
Merge pull request #7240 from ClickHouse/function-get-macro
Added function `getMacro`
2019-10-09 15:28:54 +03:00
Alexander Kuzmenkov
1965c612ab Fix sorting in clickhouse-test. 2019-10-09 14:56:51 +03:00
Alexander Kuzmenkov
89ebd4885f Fix test filtering in clickhouse-test. 2019-10-09 13:51:59 +03:00
alesapin
ef0b2f5936
Merge pull request #7209 from ClickHouse/dictionaries_ddl_parser
Dictionaries ddl parser
2019-10-09 12:51:08 +03:00
Azat Khuzhin
0ff823b574 Return SparseHashed name (system.dictionaries:type) for the sparse_hashed layout
Due to tons of rebasing this bit had been forgotten.

Refs: 420089c301 ("Add new dictionary layout (sparse_hashed) that is more memory efficient")
2019-10-09 11:11:41 +03:00
alexey-milovidov
9b2e025918
Merge pull request #7234 from ClickHouse/aku/null-field-serialization
Serialize Null Fields correctly in DataTypeNullable.
2019-10-09 04:30:37 +03:00
Alexey Milovidov
6d2a79e832 Added a test 2019-10-09 04:18:12 +03:00
Alexey Milovidov
552e4b4be2 Added example config with macros for tests 2019-10-09 04:16:34 +03:00
Alexey Milovidov
a19f6513ce Added example config with macros 2019-10-09 04:15:23 +03:00
Alexey Milovidov
9f8d562543 Add function "getMacro" #7239 2019-10-09 04:14:57 +03:00
Azat Khuzhin
e373862c83 Do not use more then 98K of memory for uniqCombined*
uniqCombined() uses hashtable for medium cardinality, and since
HashTable resize by the power of 2 (well actually HashTableGrower grows
double by the power of 2, hence HashTableGrower::increaseSize() should
be overwritten to change this), with 1<<13 (default for uniqCombined)
and UInt64 HashValueType, the HashTable will takes:

  getBufferSizeInBytes() == 131072

While it should be not greater then sizeof(HLL) ~= 98K, so reduce the
maximum cardinality for hashtable to 1<<12 with UInt64 HashValueType and
to 1<13 with UInt32, overwrite HashTableGrower::increaseSize() and cover
this using max_memory_usage.

Refs: https://github.com/ClickHouse/ClickHouse/pull/7221#issuecomment-539672742

v2: cover uniqCombined() with non-default K
2019-10-09 02:39:23 +03:00
alexey-milovidov
4c1f0177b6
Merge pull request #7109 from infinivision/aggBitmapAnd
added groupBitmapAnd, groupBitmapOr, groupBitmapXor
2019-10-08 22:51:46 +03:00
alexey-milovidov
5c2d478543
Merge pull request #7212 from ClickHouse/aku/field-includes
Include Field.h and FieldVisitor.h into fewer files.
2019-10-08 22:40:30 +03:00
alesapin
5296be18f3 Fix desc table query 2019-10-08 22:39:20 +03:00
alexey-milovidov
b9aa5d812d
Merge pull request #7171 from nikvas0/nikvas0/lazy_db
Lazy Database
2019-10-08 22:15:55 +03:00
Azat Khuzhin
f46c5a47c0 Introduce uniqCombined64() to get sane results for cardinality > UINT_MAX
By default uniqCombined() uses 32-bit hash for all types except String,
so this means that you cannot use uniqCombined() with i.e UInt64 and
cardinality > UINT_MAX, although you can use uniqCombined(toString())
and this will lead to 64-bit hash, but will not have good performance.

So uniqCombined64() had been introduced to fix this.

Requires: #7213
2019-10-08 21:59:35 +03:00
alexey-milovidov
ddc2299901
Update 01016_null_part_minmax.sql 2019-10-08 21:52:48 +03:00
alexey-milovidov
d8b3db65f7
Merge pull request #7213 from azat/fix-uniqCombined-approximation
Fix uniqCombined() result for >UINT_MAX values (return UInt64 to avoid overflow)
2019-10-08 21:45:23 +03:00
alexey-milovidov
e619304b2c
Merge pull request #7216 from ClickHouse/nicelulu-issue-6615
Merging "Optimize empty IN subquery and empty INNER/RIGHT JOIN"
2019-10-08 21:36:57 +03:00
Alexander Kuzmenkov
a5b1496fe9 Serialize Null Fields correctly in DataTypeNullable. 2019-10-08 21:21:24 +03:00
alesapin
5ea1a12c05 Refactoring and comments 2019-10-08 16:26:15 +03:00
Alexander Kuzmenkov
2b30f2696c Include Field.h in less files. 2019-10-08 16:23:24 +03:00
alesapin
7b545f9b18 Fix style 2019-10-08 15:35:17 +03:00
alesapin
cd05564b17 Add show create dictionary 2019-10-08 15:34:04 +03:00
Alexander Kuzmenkov
46f5115601 Accept many test name regexes in clickhouse-test.
Sometimes it is more convenient to supply space-separated test names
without having to concatenate them into one regex with pipes.
2019-10-08 14:32:03 +03:00
alesapin
0883b3f8a9 Parser for drop dictionary query 2019-10-08 14:10:29 +03:00
alesapin
db20681207 Better declaration and lifetime parser 2019-10-08 13:50:57 +03:00
alesapin
5f81f47637 Add recursive parsing of pairs 2019-10-08 12:47:17 +03:00
Vasilyev Nikita
21b2b20729 Merge branch 'nikvas0/lazy_db' of https://github.com/nikvas0/ClickHouse into nikvas0/lazy_db 2019-10-08 11:15:12 +03:00
Vasilyev Nikita
030aa1cf10 fix 2019-10-08 11:10:55 +03:00
alexey-milovidov
3bd59edc3c
Update StorageSystemTables.cpp 2019-10-08 03:31:50 +03:00
alexey-milovidov
c92fc70f66
Update StorageSystemTables.cpp 2019-10-08 03:29:41 +03:00
alexey-milovidov
704529801e
Update StorageSystemColumns.cpp 2019-10-08 03:27:57 +03:00
alexey-milovidov
20f5b27b8b
Update DatabaseOnDisk.h 2019-10-08 03:24:26 +03:00
Alexey Milovidov
15bba8b498 Updated test 2019-10-07 22:16:45 +03:00
alexey-milovidov
bcc4e3f0ba
Merge branch 'master' into issue-6615 2019-10-07 22:12:25 +03:00
Azat Khuzhin
92c88248a1 Fix uniqCombined() result for >UINT_MAX values (return UInt64 to avoid overflow)
uniqCombined() return type is UInt64, but uniqCombined() uses
CombinedCardinalityEstimator, and CombinedCardinalityEstimator::size()
return type is UInt32, while the underlying HyperLogLog::size() is
UInt64.

So after this patch uniqCombined() can be used for >UINT_MAX values, the
outcome is not ideal (#2073) but at least sane.
2019-10-07 21:38:58 +03:00
Alexander Kuzmenkov
56b065881a Include FieldVisitors.h in less files. 2019-10-07 20:23:05 +03:00