74
74
import org .elasticsearch .xpack .esql .plan .logical .Filter ;
75
75
import org .elasticsearch .xpack .esql .plan .logical .Fork ;
76
76
import org .elasticsearch .xpack .esql .plan .logical .Insist ;
77
- import org .elasticsearch .xpack .esql .plan .logical .Keep ;
78
77
import org .elasticsearch .xpack .esql .plan .logical .Limit ;
79
78
import org .elasticsearch .xpack .esql .plan .logical .LogicalPlan ;
80
79
import org .elasticsearch .xpack .esql .plan .logical .Lookup ;
@@ -3090,27 +3089,27 @@ public void testBasicFork() {
3090
3089
// fork branch 1
3091
3090
limit = as (subPlans .get (0 ), Limit .class );
3092
3091
assertThat (as (limit .limit (), Literal .class ).value (), equalTo (DEFAULT_LIMIT ));
3093
- Keep keep = as (limit .child (), Keep .class );
3094
- List <String > keptColumns = keep .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3095
- assertThat (keptColumns , equalTo (expectedOutput ));
3096
- Eval eval = as (keep .child (), Eval .class );
3092
+ EsqlProject project = as (limit .child (), EsqlProject .class );
3093
+ List <String > projectColumns = project .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3094
+ assertThat (projectColumns , equalTo (expectedOutput ));
3095
+ Eval eval = as (project .child (), Eval .class );
3097
3096
assertThat (as (eval .fields ().get (0 ), Alias .class ), equalTo (alias ("_fork" , string ("fork1" ))));
3098
3097
Filter filter = as (eval .child (), Filter .class );
3099
3098
assertThat (as (filter .condition (), GreaterThan .class ).right (), equalTo (literal (1 )));
3100
3099
3101
3100
filter = as (filter .child (), Filter .class );
3102
3101
assertThat (as (filter .condition (), Equals .class ).right (), equalTo (string ("Chris" )));
3103
- EsqlProject project = as (filter .child (), EsqlProject .class );
3102
+ project = as (filter .child (), EsqlProject .class );
3104
3103
var esRelation = as (project .child (), EsRelation .class );
3105
3104
assertThat (esRelation .indexPattern (), equalTo ("test" ));
3106
3105
3107
3106
// fork branch 2
3108
3107
limit = as (subPlans .get (1 ), Limit .class );
3109
3108
assertThat (as (limit .limit (), Literal .class ).value (), equalTo (DEFAULT_LIMIT ));
3110
- keep = as (limit .child (), Keep .class );
3111
- keptColumns = keep .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3112
- assertThat (keptColumns , equalTo (expectedOutput ));
3113
- eval = as (keep .child (), Eval .class );
3109
+ project = as (limit .child (), EsqlProject .class );
3110
+ projectColumns = project .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3111
+ assertThat (projectColumns , equalTo (expectedOutput ));
3112
+ eval = as (project .child (), Eval .class );
3114
3113
assertThat (as (eval .fields ().get (0 ), Alias .class ), equalTo (alias ("_fork" , string ("fork2" ))));
3115
3114
filter = as (eval .child (), Filter .class );
3116
3115
assertThat (as (filter .condition (), GreaterThan .class ).right (), equalTo (literal (2 )));
@@ -3124,10 +3123,10 @@ public void testBasicFork() {
3124
3123
// fork branch 3
3125
3124
limit = as (subPlans .get (2 ), Limit .class );
3126
3125
assertThat (as (limit .limit (), Literal .class ).value (), equalTo (MAX_LIMIT ));
3127
- keep = as (limit .child (), Keep .class );
3128
- keptColumns = keep .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3129
- assertThat (keptColumns , equalTo (expectedOutput ));
3130
- eval = as (keep .child (), Eval .class );
3126
+ project = as (limit .child (), EsqlProject .class );
3127
+ projectColumns = project .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3128
+ assertThat (projectColumns , equalTo (expectedOutput ));
3129
+ eval = as (project .child (), Eval .class );
3131
3130
assertThat (as (eval .fields ().get (0 ), Alias .class ), equalTo (alias ("_fork" , string ("fork3" ))));
3132
3131
limit = as (eval .child (), Limit .class );
3133
3132
assertThat (as (limit .limit (), Literal .class ).value (), equalTo (7 ));
@@ -3143,10 +3142,10 @@ public void testBasicFork() {
3143
3142
// fork branch 4
3144
3143
limit = as (subPlans .get (3 ), Limit .class );
3145
3144
assertThat (as (limit .limit (), Literal .class ).value (), equalTo (DEFAULT_LIMIT ));
3146
- keep = as (limit .child (), Keep .class );
3147
- keptColumns = keep .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3148
- assertThat (keptColumns , equalTo (expectedOutput ));
3149
- eval = as (keep .child (), Eval .class );
3145
+ project = as (limit .child (), EsqlProject .class );
3146
+ projectColumns = project .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3147
+ assertThat (projectColumns , equalTo (expectedOutput ));
3148
+ eval = as (project .child (), Eval .class );
3150
3149
assertThat (as (eval .fields ().get (0 ), Alias .class ), equalTo (alias ("_fork" , string ("fork4" ))));
3151
3150
orderBy = as (eval .child (), OrderBy .class );
3152
3151
filter = as (orderBy .child (), Filter .class );
@@ -3158,10 +3157,10 @@ public void testBasicFork() {
3158
3157
// fork branch 5
3159
3158
limit = as (subPlans .get (4 ), Limit .class );
3160
3159
assertThat (as (limit .limit (), Literal .class ).value (), equalTo (MAX_LIMIT ));
3161
- keep = as (limit .child (), Keep .class );
3162
- keptColumns = keep .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3163
- assertThat (keptColumns , equalTo (expectedOutput ));
3164
- eval = as (keep .child (), Eval .class );
3160
+ project = as (limit .child (), EsqlProject .class );
3161
+ projectColumns = project .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3162
+ assertThat (projectColumns , equalTo (expectedOutput ));
3163
+ eval = as (project .child (), Eval .class );
3165
3164
assertThat (as (eval .fields ().get (0 ), Alias .class ), equalTo (alias ("_fork" , string ("fork5" ))));
3166
3165
limit = as (eval .child (), Limit .class );
3167
3166
assertThat (as (limit .limit (), Literal .class ).value (), equalTo (9 ));
@@ -3193,11 +3192,11 @@ public void testForkBranchesWithDifferentSchemas() {
3193
3192
// fork branch 1
3194
3193
limit = as (subPlans .get (0 ), Limit .class );
3195
3194
assertThat (as (limit .limit (), Literal .class ).value (), equalTo (MAX_LIMIT ));
3196
- Keep keep = as (limit .child (), Keep .class );
3197
- List <String > keptColumns = keep .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3198
- assertThat (keptColumns , equalTo (expectedOutput ));
3195
+ EsqlProject project = as (limit .child (), EsqlProject .class );
3196
+ List <String > projectColumns = project .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3197
+ assertThat (projectColumns , equalTo (expectedOutput ));
3199
3198
3200
- Eval eval = as (keep .child (), Eval .class );
3199
+ Eval eval = as (project .child (), Eval .class );
3201
3200
assertEquals (eval .fields ().size (), 3 );
3202
3201
3203
3202
Set <String > evalFieldNames = eval .fields ().stream ().map (a -> a .name ()).collect (Collectors .toSet ());
@@ -3215,7 +3214,7 @@ public void testForkBranchesWithDifferentSchemas() {
3215
3214
Filter filter = as (orderBy .child (), Filter .class );
3216
3215
assertThat (as (filter .condition (), GreaterThan .class ).right (), equalTo (literal (3 )));
3217
3216
3218
- EsqlProject project = as (filter .child (), EsqlProject .class );
3217
+ project = as (filter .child (), EsqlProject .class );
3219
3218
filter = as (project .child (), Filter .class );
3220
3219
assertThat (as (filter .condition (), Equals .class ).right (), equalTo (string ("Chris" )));
3221
3220
var esRelation = as (filter .child (), EsRelation .class );
@@ -3224,10 +3223,10 @@ public void testForkBranchesWithDifferentSchemas() {
3224
3223
// fork branch 2
3225
3224
limit = as (subPlans .get (1 ), Limit .class );
3226
3225
assertThat (as (limit .limit (), Literal .class ).value (), equalTo (DEFAULT_LIMIT ));
3227
- keep = as (limit .child (), Keep .class );
3228
- keptColumns = keep .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3229
- assertThat (keptColumns , equalTo (expectedOutput ));
3230
- eval = as (keep .child (), Eval .class );
3226
+ project = as (limit .child (), EsqlProject .class );
3227
+ projectColumns = project .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3228
+ assertThat (projectColumns , equalTo (expectedOutput ));
3229
+ eval = as (project .child (), Eval .class );
3231
3230
assertEquals (eval .fields ().size (), 2 );
3232
3231
evalFieldNames = eval .fields ().stream ().map (a -> a .name ()).collect (Collectors .toSet ());
3233
3232
assertThat (evalFieldNames , equalTo (Set .of ("x" , "y" )));
@@ -3254,10 +3253,10 @@ public void testForkBranchesWithDifferentSchemas() {
3254
3253
// fork branch 3
3255
3254
limit = as (subPlans .get (2 ), Limit .class );
3256
3255
assertThat (as (limit .limit (), Literal .class ).value (), equalTo (DEFAULT_LIMIT ));
3257
- keep = as (limit .child (), Keep .class );
3258
- keptColumns = keep .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3259
- assertThat (keptColumns , equalTo (expectedOutput ));
3260
- eval = as (keep .child (), Eval .class );
3256
+ project = as (limit .child (), EsqlProject .class );
3257
+ projectColumns = project .expressions ().stream ().map (exp -> as (exp , Attribute .class ).name ()).toList ();
3258
+ assertThat (projectColumns , equalTo (expectedOutput ));
3259
+ eval = as (project .child (), Eval .class );
3261
3260
assertEquals (eval .fields ().size (), 2 );
3262
3261
evalFieldNames = eval .fields ().stream ().map (a -> a .name ()).collect (Collectors .toSet ());
3263
3262
assertThat (evalFieldNames , equalTo (Set .of ("emp_no" , "first_name" )));
0 commit comments