pub fn coerce_homogeneous_exprs(
ecx: &ExprContext<'_>,
exprs: Vec<CoercibleScalarExpr>,
force_type: Option<&SqlScalarType>,
) -> Result<Vec<HirScalarExpr>, PlanError>Expand description
Coerces a list of expressions such that all input expressions will be cast to the same type. If successful, returns a new list of expressions in the same order as the input, where each expression has the appropriate casts to make them all of a uniform type.
If force_type is Some, the expressions are forced to the specified type
via an explicit cast. Otherwise the best common type is guessed via
typeconv::guess_best_common_type and conversions are attempted via
implicit casts
Note that this is our implementation of Postgres’ type conversion for
“UNION, CASE, and Related Constructs”, though it
isn’t yet used in all of those cases.