mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-26 17:41:59 +00:00
Backport #64544 to 24.3: Disable enable_vertical_final
This commit is contained in:
parent
85ebb246d4
commit
bda28301a7
@ -384,7 +384,7 @@ class IColumn;
|
|||||||
M(Bool, allow_experimental_analyzer, true, "Allow experimental analyzer.", 0) \
|
M(Bool, allow_experimental_analyzer, true, "Allow experimental analyzer.", 0) \
|
||||||
M(Bool, analyzer_compatibility_join_using_top_level_identifier, false, "Force to resolve identifier in JOIN USING from projection (for example, in `SELECT a + 1 AS b FROM t1 JOIN t2 USING (b)` join will be performed by `t1.a + 1 = t2.b`, rather then `t1.b = t2.b`).", 0) \
|
M(Bool, analyzer_compatibility_join_using_top_level_identifier, false, "Force to resolve identifier in JOIN USING from projection (for example, in `SELECT a + 1 AS b FROM t1 JOIN t2 USING (b)` join will be performed by `t1.a + 1 = t2.b`, rather then `t1.b = t2.b`).", 0) \
|
||||||
M(Bool, prefer_global_in_and_join, false, "If enabled, all IN/JOIN operators will be rewritten as GLOBAL IN/JOIN. It's useful when the to-be-joined tables are only available on the initiator and we need to always scatter their data on-the-fly during distributed processing with the GLOBAL keyword. It's also useful to reduce the need to access the external sources joining external tables.", 0) \
|
M(Bool, prefer_global_in_and_join, false, "If enabled, all IN/JOIN operators will be rewritten as GLOBAL IN/JOIN. It's useful when the to-be-joined tables are only available on the initiator and we need to always scatter their data on-the-fly during distributed processing with the GLOBAL keyword. It's also useful to reduce the need to access the external sources joining external tables.", 0) \
|
||||||
M(Bool, enable_vertical_final, true, "If enable, remove duplicated rows during FINAL by marking rows as deleted and filtering them later instead of merging rows", 0) \
|
M(Bool, enable_vertical_final, false, "Not recommended. If enable, remove duplicated rows during FINAL by marking rows as deleted and filtering them later instead of merging rows", 0) \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
/** Limits during query execution are part of the settings. \
|
/** Limits during query execution are part of the settings. \
|
||||||
|
@ -14,6 +14,7 @@ namespace DB
|
|||||||
namespace ErrorCodes
|
namespace ErrorCodes
|
||||||
{
|
{
|
||||||
extern const int ILLEGAL_TYPE_OF_COLUMN_FOR_FILTER;
|
extern const int ILLEGAL_TYPE_OF_COLUMN_FOR_FILTER;
|
||||||
|
extern const int LOGICAL_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void replaceFilterToConstant(Block & block, const String & filter_column_name)
|
static void replaceFilterToConstant(Block & block, const String & filter_column_name)
|
||||||
@ -81,7 +82,11 @@ static std::unique_ptr<IFilterDescription> combineFilterAndIndices(
|
|||||||
auto mutable_holder = ColumnUInt8::create(num_rows, 0);
|
auto mutable_holder = ColumnUInt8::create(num_rows, 0);
|
||||||
auto & data = mutable_holder->getData();
|
auto & data = mutable_holder->getData();
|
||||||
for (auto idx : selected_by_indices)
|
for (auto idx : selected_by_indices)
|
||||||
|
{
|
||||||
|
if (idx >= num_rows)
|
||||||
|
throw Exception(ErrorCodes::LOGICAL_ERROR, "Index {} out of range {}", idx, num_rows);
|
||||||
data[idx] = 1;
|
data[idx] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
/// AND two filters
|
/// AND two filters
|
||||||
auto * begin = data.data();
|
auto * begin = data.data();
|
||||||
|
Loading…
Reference in New Issue
Block a user