INNER CODE UNIT · C++

data_type

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

      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");
    size_t agg_size = agg_config.GetSize();
    if (agg_size == 0) {
      return Status(DB_UNEXPECTED_ERROR, "Aggregation is not specified.");
    }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…