| 417 | } |
| 418 | |
| 419 | static void HandleCollations(ClientContext &context, ScalarFunction &bound_function, |
| 420 | vector<unique_ptr<Expression>> &children) { |
| 421 | switch (bound_function.GetCollationHandling()) { |
| 422 | case FunctionCollationHandling::IGNORE_COLLATIONS: |
| 423 | // explicitly ignoring collation handling |
| 424 | break; |
| 425 | case FunctionCollationHandling::PROPAGATE_COLLATIONS: |
| 426 | PropagateCollations(context, bound_function, children); |
| 427 | break; |
| 428 | case FunctionCollationHandling::PUSH_COMBINABLE_COLLATIONS: |
| 429 | // first propagate, then push collations to the children |
| 430 | PushCollations(context, bound_function, children, CollationType::COMBINABLE_COLLATIONS); |
| 431 | break; |
| 432 | default: |
| 433 | throw InternalException("Unrecognized collation handling"); |
| 434 | } |
| 435 | } |
| 436 | |
| 437 | static void InferTemplateType(ClientContext &context, const LogicalType &source, const LogicalType &target, |
| 438 | case_insensitive_map_t<vector<LogicalType>> &bindings, const Expression ¤t_expr, |
no test coverage detected