Skip to content

Commit a6dacde

Browse files
committed
refactor: 优化生成别名的函数,改进字符串拼接逻辑
1 parent 80d0f82 commit a6dacde

1 file changed

Lines changed: 3 additions & 7 deletions

File tree

src/parser/ast.h

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,21 +75,17 @@ inline std::string SvAggregateType2Str(SvAggregateType agg_type) {
7575
return agg_type_str[static_cast<int>(agg_type)];
7676
}
7777

78-
inline std::string generate_alias(std::string tab_name, std::string col_name, SvAggregateType agg_type) {
78+
inline std::string generate_alias(const std::string &tab_name, const std::string &col_name, SvAggregateType agg_type) {
7979
if (agg_type == SvAggregateType::NONE) {
8080
if (!tab_name.empty()) {
81-
tab_name += ".";
82-
tab_name += col_name;
83-
return tab_name;
81+
return util::format("{}.{}", tab_name, col_name);
8482
} else {
8583
return col_name;
8684
}
8785
}
8886
if (!tab_name.empty()) {
89-
tab_name += ".";
90-
tab_name += col_name;
9187
// 防止列名与聚合类型冲突
92-
return util::format("{}_{}", SvAggregateType2Str(agg_type), tab_name);
88+
return util::format("{}_{}.{}", SvAggregateType2Str(agg_type), tab_name, col_name);
9389
} else {
9490
return util::format("{}_{}", SvAggregateType2Str(agg_type), col_name);
9591
}

0 commit comments

Comments
 (0)