Make CanonicalQuery immutable in order to avoid re-parsing for WriteConflictExceptions

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Performance, Querying
    • None
    • Query Optimization
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Currently, the ParsedUpdate and ParsedDelete classes hand ownership of their canonical query to the PlanExecutor. The PlanExecutor then is allowed to mutate the CanonicalQuery during the course of planning and query execution.

      Making the CanonicalQuery immutable would allow the same CQ to be used by multiple PlanExecutors. This means that we would not need do the work of parsing again when we retry due to a write conflict.

            Assignee:
            [DO NOT USE] Backlog - Query Optimization
            Reporter:
            David Storch
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated: