1313import java .util .Optional ;
1414import java .util .stream .Collectors ;
1515import lombok .experimental .UtilityClass ;
16- import org .apache .commons .lang3 .tuple .ImmutablePair ;
1716import org .apache .commons .lang3 .tuple .Pair ;
1817import org .opensearch .sql .ast .expression .AggregateFunction ;
1918import org .opensearch .sql .ast .expression .Alias ;
5857import org .opensearch .sql .ast .tree .Head ;
5958import org .opensearch .sql .ast .tree .Limit ;
6059import org .opensearch .sql .ast .tree .Parse ;
60+ import org .opensearch .sql .ast .tree .Patterns ;
6161import org .opensearch .sql .ast .tree .Project ;
6262import org .opensearch .sql .ast .tree .RareTopN ;
6363import org .opensearch .sql .ast .tree .RareTopN .CommandType ;
7171import org .opensearch .sql .ast .tree .Trendline ;
7272import org .opensearch .sql .ast .tree .UnresolvedPlan ;
7373import org .opensearch .sql .ast .tree .Values ;
74- import org .opensearch .sql .ast .tree .Window ;
7574
7675/** Class of static methods to create specific node instances. */
7776@ UtilityClass
@@ -504,7 +503,7 @@ public static Parse parse(
504503 return new Parse (parseMethod , sourceField , pattern , arguments , input );
505504 }
506505
507- public static Window window (
506+ public static Patterns patterns (
508507 UnresolvedPlan input ,
509508 PatternMethod patternMethod ,
510509 UnresolvedExpression sourceField ,
@@ -513,7 +512,7 @@ public static Window window(
513512 List <UnresolvedExpression > funArgs = new ArrayList <>();
514513 funArgs .add (sourceField );
515514 funArgs .addAll (arguments );
516- return new Window (
515+ return new Patterns (
517516 new Alias (
518517 alias ,
519518 new WindowFunction (
@@ -524,21 +523,23 @@ public static Window window(
524523 input );
525524 }
526525
527- public static FillNull fillNull (UnresolvedExpression replaceNullWithMe , Field ... fields ) {
528- return new FillNull (
529- FillNull .ContainNullableFieldFill .ofSameValue (
530- replaceNullWithMe , ImmutableList .copyOf (fields )));
526+ public static FillNull fillNull (UnresolvedPlan input , UnresolvedExpression replacement ) {
527+ return FillNull .ofSameValue (replacement , ImmutableList .of ()).attach (input );
531528 }
532529
533530 public static FillNull fillNull (
534- List <ImmutablePair <Field , UnresolvedExpression >> fieldAndReplacements ) {
535- ImmutableList .Builder <FillNull .NullableFieldFill > replacementsBuilder = ImmutableList .builder ();
536- for (ImmutablePair <Field , UnresolvedExpression > fieldAndReplacement : fieldAndReplacements ) {
531+ UnresolvedPlan input , UnresolvedExpression replacement , Field ... fields ) {
532+ return FillNull .ofSameValue (replacement , ImmutableList .copyOf (fields )).attach (input );
533+ }
534+
535+ public static FillNull fillNull (
536+ UnresolvedPlan input , List <Pair <Field , UnresolvedExpression >> fieldAndReplacements ) {
537+ ImmutableList .Builder <Pair <Field , UnresolvedExpression >> replacementsBuilder =
538+ ImmutableList .builder ();
539+ for (Pair <Field , UnresolvedExpression > fieldAndReplacement : fieldAndReplacements ) {
537540 replacementsBuilder .add (
538- new FillNull .NullableFieldFill (
539- fieldAndReplacement .getLeft (), fieldAndReplacement .getRight ()));
541+ Pair .of (fieldAndReplacement .getLeft (), fieldAndReplacement .getRight ()));
540542 }
541- return new FillNull (
542- FillNull .ContainNullableFieldFill .ofVariousValue (replacementsBuilder .build ()));
543+ return FillNull .ofVariousValue (replacementsBuilder .build ()).attach (input );
543544 }
544545}
0 commit comments