apache / drill

Apache Drill is a distributed MPP query layer for self describing data
https://drill.apache.org/
Apache License 2.0
1.93k stars 980 forks source link

DRILL-8406: Enable implicit casting of VARCHAR and BIT args in aggregate functions #2768

Closed jnturton closed 1 year ago

jnturton commented 1 year ago

DRILL-8406: Enable implicit casting of VARCHAR and BIT args in aggregate functions

Description

Default function implementations that that throw unsupported operation exceptions in the class AggregateErrorFunctions prevent the implicit casting of VARCHAR and BIT arguments to neighbouring types. E.g.

apache drill> select sum('1');
Error: UNSUPPORTED_OPERATION ERROR: Only COUNT, MIN and MAX aggregate functions supported for VarChar type

This PR removes AggregateErrorFunctions so that implicit casting works, the example above changing as follows.

apache drill> select sum('1');
EXPR$0  1
1 row selected (2.346 seconds)

Documentation

N/A

Testing

New unit test.