Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-102094

Implement query analysis placeholder generation for $encStrEndsWith

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Query Integration
    • Fully Compatible
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The goal for this task is to modify buildEncryptPlaceholder and buildFle2EncryptPlaceholder so that it generates the correct BinData payload placeholder based on the provided encrypted text search expression.

      buildEncryptPlaceholder accepts a EncryptionPlaceholderContext enum as an argument, which we will use as a way to communicate the encrypted text operator for which we are generating the placeholder. Depending on which operator we are building the placeholder for, we will generate a slightly different FLE2TextSearchInsertSpec.

      Objectives:
       # Add new enum value EncryptionPlaceholderContext::kTextSuffixComparison.
       # Make required changes in buildEncryptPlaceholder & buildFle2EncryptPlaceholder so we can generate the correct BinData payload placeholder to replace our constant literal value.
       # This ticket should verify that we never receive an encrypted text search expression if the schema is FLE1.
       # When the enum value is EncryptionPlaceholderContext::kTextSuffixComparison, we will only populate the SuffixSpec on 
      FLE2TextSearchInsertSpec see relevant code

      Testing:
       # Query_analysis_test.cpp: Look into the existing tests here, could we add a round trip test to verify our changes to 
      buildEncryptPlaceholder?

            Assignee:
            santiago.roche@mongodb.com Santiago Roche
            Reporter:
            santiago.roche@mongodb.com Santiago Roche
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              None
              None
              None
              None