[feature](Nereids) support array type (#22851)

FEATURE:
1. enable array type in Nereids
2. support generice on function signature
3. support array and map type in type coercion and type check
4. add element_at and element_slice syntax in Nereids parser

REFACTOR:
1. remove AbstractDataType

BUG FIX:
1. remove FROM from nonReserved keyword list

TODO:
1. support lambda expression
2. use Nereids' way do function type coercion
3. use castIfnotSame when do implict cast on BoundFunction
4. let AnyDataType type coercion do same thing as function type coercion
5. add below array function
- array_apply
- array_concat
- array_filter
- array_sortby
- array_exists
- array_first_index
- array_last_index
- array_count
- array_shuffle shuffle
- array_pushfront
- array_pushback
- array_repeat
- array_zip
- reverse
- concat_ws
- split_by_string
- explode
- bitmap_from_array
- bitmap_to_array
- multi_search_all_positions
- multi_match_any
- tokenize
This commit is contained in:
morrySnow
2023-08-22 09:47:55 +08:00
committed by GitHub
parent 4e63aa052c
commit b670dd0db7
155 changed files with 2126 additions and 2661 deletions

View File

@ -272,9 +272,9 @@ public class ScalarType extends Type {
return TIME;
case "DECIMAL":
case "DECIMALV2":
return (ScalarType) createDecimalType();
return createDecimalType();
case "DECIMALV3":
return (ScalarType) createDecimalV3Type();
return createDecimalV3Type();
case "LARGEINT":
return LARGEINT;
default: