theirix commented on code in PR #21074:
URL: https://github.com/apache/datafusion/pull/21074#discussion_r2971738662
##########
datafusion/sqllogictest/test_files/aggregate.slt:
##########
@@ -144,28 +144,22 @@ statement error DataFusion error: Schema error: Schema
contains duplicate unqual
SELECT approx_distinct(c9) count_c9, approx_distinct(cast(c9 as varchar))
count_c9_str FROM aggregate_test_100
# csv_query_approx_percentile_cont_with_weight
-statement error Failed to coerce arguments to satisfy a call to
'approx_percentile_cont_with_weight' function
+statement error Function 'approx_percentile_cont_with_weight' failed to match
any signature
SELECT approx_percentile_cont_with_weight(c2, 0.95) WITHIN GROUP (ORDER BY c1)
FROM aggregate_test_100
-statement error Failed to coerce arguments to satisfy a call to
'approx_percentile_cont_with_weight' function
+statement error Function 'approx_percentile_cont_with_weight' failed to match
any signature
SELECT approx_percentile_cont_with_weight(c1, 0.95) WITHIN GROUP (ORDER BY c3)
FROM aggregate_test_100
-statement error Failed to coerce arguments to satisfy a call to
'approx_percentile_cont_with_weight' function
+statement error Function 'approx_percentile_cont_with_weight' failed to match
any signature
SELECT approx_percentile_cont_with_weight(c2, c1) WITHIN GROUP (ORDER BY c3)
FROM aggregate_test_100
# csv_query_approx_percentile_cont_with_histogram_bins
statement error DataFusion error: Error during planning: Tdigest max_size
value for 'APPROX_PERCENTILE_CONT' must be UInt > 0 literal \(got data type
Int64\)\.
SELECT c1, approx_percentile_cont(0.95, -1000) WITHIN GROUP (ORDER BY c3) AS
c3_p95 FROM aggregate_test_100 GROUP BY 1 ORDER BY 1
-statement error Failed to coerce arguments to satisfy a call to
'approx_percentile_cont' function
+statement error Function 'approx_percentile_cont' failed to match any signature
SELECT approx_percentile_cont(0.95, c1) WITHIN GROUP (ORDER BY c3) FROM
aggregate_test_100
-statement error DataFusion error: Error during planning: Failed to coerce
arguments to satisfy a call to 'approx_percentile_cont' function: coercion from
Int16, Float64, Float64 to the signature OneOf(.*) failed(.|\n)*
Review Comment:
They actually pass now because the second parameter is coercible.
##########
datafusion/expr-common/src/type_coercion/aggregates.rs:
##########
@@ -22,6 +22,7 @@ use datafusion_common::{Result, internal_err, plan_err};
// TODO: remove usage of these (INTEGERS and NUMERICS) in favour of signatures
// see https://github.com/apache/datafusion/issues/18092
+#[deprecated(since = "54.0.0", note = "Use functions signatures")]
Review Comment:
Done. Deprecation is enough.
##########
datafusion/expr-common/src/signature.rs:
##########
@@ -595,6 +594,20 @@ impl Display for ArrayFunctionArgument {
}
}
+static NUMERICS: &[DataType] = &[
Review Comment:
It is used only for example - TypeSignature::get_example_types. I removed it
and cherry-picked three of them for illustrative purposes.
UPDATE: it isn't just example types. I'd suggest refactoring it as a part of
https://github.com/apache/datafusion/issues/14761
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]