@@ -472,9 +472,7 @@ private void resolveIndices(
472472 .<PreAnalysisResult >andThen ((l , r ) -> {
473473 inferenceService .inferenceResolver (functionRegistry ).resolveInferenceIds (parsed , l .map (r ::withInferenceResolution ));
474474 })
475- .<PreAnalysisResult >andThen (
476- (l , r ) -> preAnalyzeSubqueryIndices (preAnalysis , preAnalysis .subqueryIndices ().iterator (), r , executionInfo , l )
477- )
475+ .<PreAnalysisResult >andThen ((l , r ) -> preAnalyzeSubqueryIndices (preAnalysis , preAnalysis .subqueryIndices ().iterator (), r , l ))
478476 .<LogicalPlan >andThen ((l , r ) -> analyzeWithRetry (parsed , executionInfo , description , requestFilter , preAnalysis , r , l ))
479477 .addListener (logicalPlanListener );
480478 }
@@ -483,19 +481,12 @@ private void preAnalyzeSubqueryIndices(
483481 PreAnalyzer .PreAnalysis preAnalysis ,
484482 Iterator <IndexPattern > subqueryIndices ,
485483 PreAnalysisResult preAnalysisResult ,
486- EsqlExecutionInfo executionInfo ,
487484 ActionListener <PreAnalysisResult > listener
488485 ) {
489486 if (subqueryIndices .hasNext ()) {
490- preAnalyzeSubqueryIndex (
491- preAnalysis ,
492- subqueryIndices .next (),
493- preAnalysisResult ,
494- executionInfo ,
495- listener .delegateFailureAndWrap ((l , r ) -> {
496- preAnalyzeSubqueryIndices (preAnalysis , subqueryIndices , r , executionInfo , l );
497- })
498- );
487+ preAnalyzeSubqueryIndex (preAnalysis , subqueryIndices .next (), preAnalysisResult , listener .delegateFailureAndWrap ((l , r ) -> {
488+ preAnalyzeSubqueryIndices (preAnalysis , subqueryIndices , r , l );
489+ }));
499490 } else {
500491 listener .onResponse (preAnalysisResult );
501492 }
@@ -505,7 +496,6 @@ private void preAnalyzeSubqueryIndex(
505496 PreAnalyzer .PreAnalysis preAnalysis ,
506497 IndexPattern subqueryIndexPattern ,
507498 PreAnalysisResult result ,
508- EsqlExecutionInfo executionInfo ,
509499 ActionListener <PreAnalysisResult > listener
510500 ) {
511501 assert ThreadPool .assertCurrentThreadPool (
@@ -523,46 +513,26 @@ private void preAnalyzeSubqueryIndex(
523513 * EsqlExecutionInfo for this subquery, and reuse the existing API to build
524514 * the subqueryIndexExpression.
525515 */
526- EsqlExecutionInfo subqueryExecutionInfo = subqueryExecutionInfo (executionInfo , subqueryIndexPattern );
527- // the following are very similar to preAnalyzeMainIndices
528- if (subqueryExecutionInfo .clusterAliases ().isEmpty ()) {
529- // return empty resolution if the expression is pure CCS and resolved no remote clusters (like no-such-cluster*:index)
530- listener .onResponse (
531- result .addSubqueryIndexResolution (
532- subqueryIndexPattern .indexPattern (),
533- IndexResolution .valid (new EsIndex (subqueryIndexPattern .indexPattern (), Map .of (), Map .of ()))
534- )
535- );
536- } else {
537- // time-series index is not supported in subqueries yet, the grammar does not allow it
538- indexResolver .resolveAsMergedMapping (
539- subqueryIndexPattern .indexPattern (),
540- result .fieldNames ,
541- null ,
542- false ,
543- false ,
544- preAnalysis .supportsDenseVector (),
545- listener .delegateFailure ((l , indexResolution ) -> {
546- l .onResponse (result .addSubqueryIndexResolution (subqueryIndexPattern .indexPattern (), indexResolution ));
547- })
548- );
549- }
516+
517+ // time-series index mode is not supported in subqueries yet, the grammar does not allow it
518+ indexResolver .resolveAsMergedMapping (
519+ subqueryIndexPattern .indexPattern (),
520+ result .fieldNames ,
521+ null ,
522+ false ,
523+ false ,
524+ preAnalysis .supportsDenseVector (),
525+ listener .delegateFailure ((l , indexResolution ) -> {
526+ l .onResponse (result .addSubqueryIndexResolution (subqueryIndexPattern .indexPattern (), indexResolution ));
527+ })
528+ );
529+
550530 } else {
551531 // occurs when dealing with local relations (row a = 1)
552532 listener .onResponse (result .addSubqueryIndexResolution ("invalid subquery" , IndexResolution .invalid ("[none specified]" )));
553533 }
554534 }
555535
556- private EsqlExecutionInfo subqueryExecutionInfo (EsqlExecutionInfo mainExecutionInfo , IndexPattern subqueryIndexPattern ) {
557- // Clone mainInfo (assuming a copy constructor or similar method exists)
558- EsqlExecutionInfo subqueryExecutionInfo = new EsqlExecutionInfo (
559- mainExecutionInfo .skipOnFailurePredicate (),
560- mainExecutionInfo .includeCCSMetadata ()
561- );
562- EsqlCCSUtils .initCrossClusterState (indicesExpressionGrouper , verifier .licenseState (), subqueryIndexPattern , subqueryExecutionInfo );
563- return subqueryExecutionInfo ;
564- }
565-
566536 private void preAnalyzeLookupIndices (
567537 Iterator <IndexPattern > lookupIndices ,
568538 PreAnalysisResult preAnalysisResult ,
0 commit comments