[decimalv3](function) support function width_bucket (#19806)

This commit is contained in:
Gabriel
2023-05-19 20:28:59 +08:00
committed by GitHub
parent 78bcc68ab8
commit 5547bbbaef
3 changed files with 15 additions and 3 deletions

View File

@ -138,6 +138,15 @@ private:
} else if (which.is_decimal128()) {
_execute<ColumnDecimal128>(expr_column, min_value_column, max_value_column, num_buckets,
nested_column_column);
} else if (which.is_decimal32()) {
_execute<ColumnDecimal32>(expr_column, min_value_column, max_value_column, num_buckets,
nested_column_column);
} else if (which.is_decimal64()) {
_execute<ColumnDecimal64>(expr_column, min_value_column, max_value_column, num_buckets,
nested_column_column);
} else if (which.is_decimal128i()) {
_execute<ColumnDecimal128I>(expr_column, min_value_column, max_value_column,
num_buckets, nested_column_column);
} else if (which.is_date()) {
_execute<ColumnDate>(expr_column, min_value_column, max_value_column, num_buckets,
nested_column_column);

View File

@ -1646,9 +1646,9 @@ public class FunctionCallExpr extends Expr {
|| fnName.getFunction().equalsIgnoreCase("shuffle")
|| fnName.getFunction().equalsIgnoreCase("array_except")
|| fnName.getFunction().equalsIgnoreCase("array_contains")
|| fnName.getFunction().equalsIgnoreCase("array_position"))
&& ((args[ix].isDecimalV3())
|| (children.get(0).getType().isArrayType()
|| fnName.getFunction().equalsIgnoreCase("array_position")
|| fnName.getFunction().equalsIgnoreCase("width_bucket"))
&& (args[ix].isDecimalV3() || (children.get(0).getType().isArrayType()
&& (((ArrayType) children.get(0).getType()).getItemType().isDecimalV3())
&& (args[ix].isArrayType())
&& ((ArrayType) args[ix]).getItemType().isDecimalV3()))) {

View File

@ -1533,6 +1533,9 @@ visible_functions = [
[['width_bucket'], 'BIGINT', ['BIGINT','BIGINT','BIGINT','BIGINT'], ''],
[['width_bucket'], 'BIGINT', ['FLOAT','FLOAT','FLOAT','BIGINT'], ''],
[['width_bucket'], 'BIGINT', ['DOUBLE','DOUBLE','DOUBLE','BIGINT'], ''],
[['width_bucket'], 'BIGINT', ['DECIMAL32','DECIMAL32','DECIMAL32','BIGINT'], ''],
[['width_bucket'], 'BIGINT', ['DECIMAL64','DECIMAL64','DECIMAL64','BIGINT'], ''],
[['width_bucket'], 'BIGINT', ['DECIMAL128','DECIMAL128','DECIMAL128','BIGINT'], ''],
[['width_bucket'], 'BIGINT', ['DECIMALV2','DECIMALV2','DECIMALV2','BIGINT'], ''],
[['width_bucket'], 'BIGINT', ['DATE','DATE','DATE','BIGINT'], ''],
[['width_bucket'], 'BIGINT', ['DATEV2','DATEV2','DATEV2','BIGINT'], ''],