INNER CODE UNIT · C++
expr_parse_status
epsilla-cloud/vectordb · engine/db/db_server.cpp:354
Status expr_parse_status = vectordb::query::expr::Expr::ParseNodeFromStr(filter, expr_nodes, table->field_name_field_type_map_);
if (!expr_parse_status.ok()) {
return expr_parse_status;
}
return table->Delete(pkList, filter, expr_nodes);
}
vectordb::query::expr::NodeType getAggregationNodeType(std::string &str, std::string& agg_nut_expr) {
std::string temp_str = str;
std::transform(temp_str.begin(), temp_str.end(), temp_str.begin(), [](unsigned char c) {
return std::toupper(c);
});
if (temp_str.substr(0, 4) == "SUM(" && temp_str[temp_str.size() - 1] == ')') {
agg_nut_expr = str.substr(4, str.size() - 5);
return vectordb::query::expr::NodeType::SumAggregation;
} else if (temp_str.substr(0, 4) == "MAX(" && temp_str[temp_str.size() - 1] == ')') {
agg_nut_expr = str.substr(4, str.size() - 5);