INNER CODE UNIT · C++

status

epsilla-cloud/vectordb · engine/db/db_server.cpp:406

      Status status = vectordb::query::expr::Expr::ParseNodeFromStr(expr, nodes, table->field_name_field_type_map_, false);
      if (!status.ok()) {
        return status;
      }
      auto data_type = nodes[nodes.size() - 1]->value_type;
      if (data_type == vectordb::query::expr::ValueType::INT ||
          data_type == vectordb::query::expr::ValueType::DOUBLE ||
          data_type == vectordb::query::expr::ValueType::STRING ||
          data_type == vectordb::query::expr::ValueType::BOOL) {
        groupby_expr_nodes.emplace_back(nodes);
      } else {
        return Status(DB_UNEXPECTED_ERROR, "Group by expression must be int, double, bool, or string.");
      }
    }
    std::vector<std::string> agg_exprs;
    std::vector<vectordb::query::expr::NodeType> agg_types;
    std::vector<std::vector<query::expr::ExprNodePtr>> agg_expr_nodes;
    auto agg_config = facet_config.GetArray("aggregate");

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…