File tree Expand file tree Collapse file tree
core/src/main/java/org/opensearch/sql
expression/function/CollectionUDF Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1616import java .util .Collections ;
1717import java .util .HashMap ;
1818import java .util .List ;
19- <<<<<<< HEAD
2019import java .util .stream .Collectors ;
2120
22- =======
2321import java .util .Locale ;
2422import java .util .Map ;
2523import java .util .stream .Collectors ;
2624import java .util .stream .IntStream ;
2725import javax .annotation .Nullable ;
28- >>>>>>> 122 ae79ad (Add lambda function and array related functions (#3584 ))
2926import lombok .RequiredArgsConstructor ;
3027import org .apache .calcite .rel .RelNode ;
3128import org .apache .calcite .rel .type .RelDataType ;
@@ -395,7 +392,7 @@ public CalcitePlanContext prepareLambdaContext(
395392 candidateType .add (
396393 ((ArraySqlType ) previousArgument .get (0 ).getType ())
397394 .getComponentType ()); // The first argument should be array type
398- candidateType .addAll (previousArgument .stream ().skip (1 ).map (RexNode ::getType ).toList ());
395+ candidateType .addAll (previousArgument .stream ().skip (1 ).map (RexNode ::getType ).collect ( Collectors . toList () ));
399396 candidateType =
400397 modifyLambdaTypeByFunction (functionName , candidateType , defaultTypeForReduceAcc );
401398 List <QualifiedName > argNames = node .getFuncArgs ();
Original file line number Diff line number Diff line change @@ -113,7 +113,8 @@ public static Object internalCast(Object... args) {
113113 .map (i -> (Object ) ((Number ) i ).floatValue ())
114114 .collect (Collectors .toList ());
115115 break ;
116- case VARCHAR , CHAR :
116+ case VARCHAR :
117+ case CHAR :
117118 result = originalList .stream ().map (i -> (Object ) i .toString ()).collect (Collectors .toList ());
118119 break ;
119120 default :
Original file line number Diff line number Diff line change @@ -45,7 +45,8 @@ public static RelDataType inferReturnTypeFromLambda(
4545 List <RexNode > lambdaOperands = rexCall .getOperands ();
4646 List <RexNode > filledOperands = new ArrayList <>();
4747 for (RexNode rexNode : lambdaOperands ) {
48- if (rexNode instanceof RexLambdaRef rexLambdaRef ) {
48+ if (rexNode instanceof RexLambdaRef ) {
49+ RexLambdaRef rexLambdaRef = (RexLambdaRef ) rexNode ;
4950 if (rexLambdaRef .getType ().getSqlTypeName () == SqlTypeName .ANY ) {
5051 filledOperands .add (
5152 new RexLambdaRef (
@@ -71,7 +72,8 @@ public static RexCall reInferReturnTypeForRexCallInsideLambda(
7172 List <RexNode > filledOperands = new ArrayList <>();
7273 List <RexNode > rexCallOperands = rexCall .getOperands ();
7374 for (RexNode rexNode : rexCallOperands ) {
74- if (rexNode instanceof RexLambdaRef rexLambdaRef ) {
75+ if (rexNode instanceof RexLambdaRef ) {
76+ RexLambdaRef rexLambdaRef = (RexLambdaRef ) rexNode ;
7577 filledOperands .add (
7678 new RexLambdaRef (
7779 rexLambdaRef .getIndex (),
You can’t perform that action at this time.
0 commit comments