Current section
Files
Jump to
Current section
Files
c_src/duckdb/src/planner/expression_binder/index_binder.cpp
#include "duckdb/planner/expression_binder/index_binder.hpp"
namespace duckdb {
IndexBinder::IndexBinder(Binder &binder, ClientContext &context) : ExpressionBinder(binder, context) {
}
BindResult IndexBinder::BindExpression(unique_ptr<ParsedExpression> *expr_ptr, idx_t depth, bool root_expression) {
auto &expr = **expr_ptr;
switch (expr.expression_class) {
case ExpressionClass::WINDOW:
return BindResult("window functions are not allowed in index expressions");
case ExpressionClass::SUBQUERY:
return BindResult("cannot use subquery in index expressions");
default:
return ExpressionBinder::BindExpression(expr_ptr, depth);
}
}
string IndexBinder::UnsupportedAggregateMessage() {
return "aggregate functions are not allowed in index expressions";
}
} // namespace duckdb