mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 08:40:50 +00:00
try fix
This commit is contained in:
parent
1eb5713a74
commit
0096ef3524
@ -340,8 +340,9 @@ ASTs PredicateExpressionsOptimizer::getSelectQueryProjectionColumns(ASTPtr & ast
|
|||||||
std::vector<DatabaseAndTableWithAlias> tables = getDatabaseAndTables(*select_query, context.getCurrentDatabase());
|
std::vector<DatabaseAndTableWithAlias> tables = getDatabaseAndTables(*select_query, context.getCurrentDatabase());
|
||||||
|
|
||||||
/// TODO: get tables from evaluateAsterisk instead of tablesOnly() to extract asterisks in general way
|
/// TODO: get tables from evaluateAsterisk instead of tablesOnly() to extract asterisks in general way
|
||||||
|
NameSet source_columns;
|
||||||
std::vector<TableWithColumnNames> tables_with_columns = TranslateQualifiedNamesVisitor::Data::tablesOnly(tables);
|
std::vector<TableWithColumnNames> tables_with_columns = TranslateQualifiedNamesVisitor::Data::tablesOnly(tables);
|
||||||
TranslateQualifiedNamesVisitor::Data qn_visitor_data({}, tables_with_columns, false);
|
TranslateQualifiedNamesVisitor::Data qn_visitor_data(source_columns, tables_with_columns, false);
|
||||||
TranslateQualifiedNamesVisitor(qn_visitor_data).visit(ast);
|
TranslateQualifiedNamesVisitor(qn_visitor_data).visit(ast);
|
||||||
|
|
||||||
QueryAliasesVisitor::Data query_aliases_data{aliases};
|
QueryAliasesVisitor::Data query_aliases_data{aliases};
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
#include <Parsers/ASTExpressionList.h>
|
#include <Parsers/ASTExpressionList.h>
|
||||||
#include <Parsers/ASTLiteral.h>
|
#include <Parsers/ASTLiteral.h>
|
||||||
#include <Parsers/ASTFunction.h>
|
#include <Parsers/ASTFunction.h>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
|
||||||
namespace DB
|
namespace DB
|
||||||
@ -74,7 +75,7 @@ void TranslateQualifiedNamesMatcher::visit(ASTIdentifier & identifier, ASTPtr &,
|
|||||||
IdentifierSemantic::setMembership(identifier, best_table_pos + 1);
|
IdentifierSemantic::setMembership(identifier, best_table_pos + 1);
|
||||||
|
|
||||||
/// In case if column from the joined table are in source columns, change it's name to qualified.
|
/// In case if column from the joined table are in source columns, change it's name to qualified.
|
||||||
if (best_table_pos && !data.source_columns.empty() && data.source_columns.count(identifier.shortName()))
|
if (best_table_pos && data.source_columns.count(identifier.shortName()))
|
||||||
IdentifierSemantic::setNeedLongName(identifier, true);
|
IdentifierSemantic::setNeedLongName(identifier, true);
|
||||||
if (!data.tables.empty())
|
if (!data.tables.empty())
|
||||||
IdentifierSemantic::setColumnNormalName(identifier, data.tables[best_table_pos].first);
|
IdentifierSemantic::setColumnNormalName(identifier, data.tables[best_table_pos].first);
|
||||||
|
Loading…
Reference in New Issue
Block a user