Ensure Pipeline content is not modified after exec::agg::Pipeline is created

XMLWordPrintableJSON

    • Type: Sub-task
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • Fully Compatible
    • QE 2025-06-09, QE 2025-06-23, QE 2025-07-07, QE 2025-07-21, QE 2025-08-04
    • None
    • 3
    • TBD
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Currently it is still possible to modify Pipeline::_sources after exec::agg::Pipeline has been created. This can cause unexpected problems.

      The following non-const public methods modify Pipeline::_sources directly:
       - appendPipeline()

      • popFrontWithNameAndCriteria()
      • popFrontWithName()
      • pushBack()
      • popBack()
      • popFront()
      • addInitialSource()
      • addFinalSource()
      • optimizePipeline()

      Additionally, there are some ways to modify Pipeline::_sources which are harder to control:

       - friend class PipelineD
       - getSources() (non-const)

              Assignee:
              Romans Kasperovics
              Reporter:
              Romans Kasperovics
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: