[MDEV-20175] Move Type_handler_row from Type_collection_std to Type_collection_row Created: 2019-07-25 Updated: 2019-07-25 Resolved: 2019-07-25 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Data types |
| Fix Version/s: | 10.5.0 |
| Type: | Task | Priority: | Major |
| Reporter: | Alexander Barkov | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
This is a cleanup task to simplify future development of SQL function and operator overloading. The only user visible side affect will be the change in error reporting in some cases, e.g.:
To implement easier overloading for SQL operators and functions for user defined data type arguments, we should:
As a first step, let's cleanup Item_num_op and Item_func_min_max. Namely, let's do the following:
Arguments for these classes are checked during aggregate_for_num_op() and aggregate_for_min_max(), which after change #1, will return an error for a combination of ROW and scalar arguments, e.g.:
and for two ROW arguments:
so the second test for ROW type arguments in check_arguments() won't be needed. As an additional benefit:
|