Uploaded image for project: 'C# Driver'
  1. C# Driver
  2. CSHARP-5448

Refactor AstFilterField and AstPipeline to remove reference to serializers

    • Type: Icon: New Feature New Feature
    • Resolution: Done
    • Priority: Icon: Unknown Unknown
    • 3.2.0
    • Affects Version/s: 3.1.0
    • Component/s: Linq
    • None
    • Fully Compatible
    • Dotnet Drivers
    • Not Needed

      In general the Ast level should not have any references to any serializers, because by the time we are working at the Ast level everything has already been serialized to BsonValues.

      However, AstFilterField and AstPipeline have a serializer property. We would like to remove these references to serializers in the Ast level by splitting the AstFilterField class into TranslatedFilterField + AstFilterField and moving the reference to the serializer to the new class that is not part of the Ast level. Same for splitting AstPipeline into TranslatedPipeline + AstPipeline.

      The motivation for this is to be able to write new methods in AstSimplifier that can simplify certain $expr filters to simpler filters that don't use $expr.

            Assignee:
            robert@mongodb.com Robert Stam
            Reporter:
            robert@mongodb.com Robert Stam
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: