mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-21 15:12:02 +00:00
dbms: Fixed a bug. [#METR-10615]
This commit is contained in:
parent
eba3126077
commit
852d35615c
@ -60,7 +60,16 @@ public:
|
|||||||
DB::ErrorCodes::UNKNOWN_IDENTIFIER);
|
DB::ErrorCodes::UNKNOWN_IDENTIFIER);
|
||||||
|
|
||||||
}
|
}
|
||||||
select_expression_list.swap(result);
|
|
||||||
|
for (auto & child : children)
|
||||||
|
{
|
||||||
|
if (child == select_expression_list)
|
||||||
|
{
|
||||||
|
child = result;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
select_expression_list = result;
|
||||||
}
|
}
|
||||||
|
|
||||||
ASTPtr clone() const
|
ASTPtr clone() const
|
||||||
|
@ -104,13 +104,13 @@ InterpreterSelectQuery::InterpreterSelectQuery(ASTPtr query_ptr_, const Context
|
|||||||
context(context_), settings(context.getSettings()), to_stage(to_stage_), subquery_depth(subquery_depth_),
|
context(context_), settings(context.getSettings()), to_stage(to_stage_), subquery_depth(subquery_depth_),
|
||||||
log(&Logger::get("InterpreterSelectQuery"))
|
log(&Logger::get("InterpreterSelectQuery"))
|
||||||
{
|
{
|
||||||
init(input_);
|
|
||||||
|
|
||||||
/** Оставляем в запросе в секции SELECT только нужные столбцы.
|
/** Оставляем в запросе в секции SELECT только нужные столбцы.
|
||||||
* Но если используется DISTINCT, то все столбцы считаются нужными, так как иначе DISTINCT работал бы по-другому.
|
* Но если используется DISTINCT, то все столбцы считаются нужными, так как иначе DISTINCT работал бы по-другому.
|
||||||
*/
|
*/
|
||||||
if (!query.distinct)
|
if (!query.distinct)
|
||||||
query.rewriteSelectExpressionList(required_column_names_);
|
query.rewriteSelectExpressionList(required_column_names_);
|
||||||
|
|
||||||
|
init(input_);
|
||||||
}
|
}
|
||||||
|
|
||||||
InterpreterSelectQuery::InterpreterSelectQuery(ASTPtr query_ptr_, const Context & context_, const Names & required_column_names_,
|
InterpreterSelectQuery::InterpreterSelectQuery(ASTPtr query_ptr_, const Context & context_, const Names & required_column_names_,
|
||||||
@ -119,13 +119,13 @@ InterpreterSelectQuery::InterpreterSelectQuery(ASTPtr query_ptr_, const Context
|
|||||||
context(context_), settings(context.getSettings()), to_stage(to_stage_), subquery_depth(subquery_depth_),
|
context(context_), settings(context.getSettings()), to_stage(to_stage_), subquery_depth(subquery_depth_),
|
||||||
log(&Logger::get("InterpreterSelectQuery"))
|
log(&Logger::get("InterpreterSelectQuery"))
|
||||||
{
|
{
|
||||||
init(input_, table_column_names);
|
|
||||||
|
|
||||||
/** Оставляем в запросе в секции SELECT только нужные столбцы.
|
/** Оставляем в запросе в секции SELECT только нужные столбцы.
|
||||||
* Но если используется DISTINCT, то все столбцы считаются нужными, так как иначе DISTINCT работал бы по-другому.
|
* Но если используется DISTINCT, то все столбцы считаются нужными, так как иначе DISTINCT работал бы по-другому.
|
||||||
*/
|
*/
|
||||||
if (!query.distinct)
|
if (!query.distinct)
|
||||||
query.rewriteSelectExpressionList(required_column_names_);
|
query.rewriteSelectExpressionList(required_column_names_);
|
||||||
|
|
||||||
|
init(input_, table_column_names);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InterpreterSelectQuery::getDatabaseAndTableNames(String & database_name, String & table_name)
|
void InterpreterSelectQuery::getDatabaseAndTableNames(String & database_name, String & table_name)
|
||||||
|
@ -1 +1 @@
|
|||||||
SELECT count() FROM (SELECT sum(1), sum(2))
|
SELECT count() FROM (SELECT sum(materialize(1)), sum(materialize(2)))
|
||||||
|
Loading…
Reference in New Issue
Block a user