1 | #include "duckdb/parser/expression/collate_expression.hpp" |
---|---|
2 | #include "duckdb/planner/expression_binder.hpp" |
3 | |
4 | using namespace duckdb; |
5 | using namespace std; |
6 | |
7 | BindResult ExpressionBinder::BindExpression(CollateExpression &expr, idx_t depth) { |
8 | // first try to bind the child of the cast expression |
9 | string error = Bind(&expr.child, depth); |
10 | if (!error.empty()) { |
11 | return BindResult(error); |
12 | } |
13 | auto &child = (BoundExpression &)*expr.child; |
14 | if (child.sql_type.id != SQLTypeId::VARCHAR) { |
15 | throw BinderException("collations are only supported for type varchar"); |
16 | } |
17 | child.sql_type.collation = expr.collation; |
18 | return BindResult(move(child.expr), child.sql_type); |
19 | } |
20 |