Introduce MongoExtensionAggregationStageSyntaxNode to the extensions API

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Query Integration
    • None
    • 3
    • TBD
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      In order for Desugar stages to be able to participate in query shape generation with the pre-desugaring query shape, we need to provide a new abstraction from which to generate the shape (i.e serialize) before we explicitly desugar. 

       

      Introduce MongoExtensionAggregationStageSyntaxNode to the public API. The vtable it should support is specified in the table below. 

       

      MongoExtensionAggregationStageSyntaxNode vtable
      Function Name Return Type Parameters Description
      destroy
      •  
      •  
      Destroys object and frees related resources.
      get_type MongoExtensionAggregationStageType
      •  
      Returns the stage’s type.
      get_query_shape
      • MongoExtensionStatus*
      • MongoExtensionByteBuf** (output)
      On success: * Populates the MongoExtensionByteBuf pointer with the stage’s query shape.
      • Ownership of the buffer is transferred to the Host.|

       

      As part of this ticket, implement an SDK adapter, a Host adapter and provide unit tests.

      This ticket will not include adding parsing logic to generate the SyntaxNode - that work will be deferred to SERVER-109777 instead.

            Assignee:
            Unassigned
            Reporter:
            Santiago Roche
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: