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

XMLWordPrintableJSON

    • Type: Sub-task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • QE 2025-06-09, QE 2025-06-23, QE 2025-07-07
    • 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:
            2 Start watching this issue

              Created:
              Updated: