ExportXMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Won't Do
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • QE 2026-09-28
    • None
    • None
    • None
    • None
    • None
    • None
    • None

       

      template <typename T>
      concept QuerySettingsOnResolveHook =
          requires(OperationContext* opCtx, const QuerySettings& querySettings) {
              { T::run(opCtx, querySettings) } -> std::same_as<void>;
          };
      
      struct QuerySettingsRejectionHook {
          static void run(OperationContext* opCtx, const QuerySettings& querySettings) {
              // Do stuff.
          }
      };
      
      struct QuerySettingsMaxTimeMSHook {
          static void run(OperationContext* opCtx, const QuerySettings& querySettings) {
              // Do stuff.
          }
      };
      
      struct BackfillRepresentativeQueriesHook {
          static void run(OperationContext* opCtx, const QuerySettings& querySettings) {
              // Do stuff.
          }
      };
      
      template <QuerySettingsOnResolveHook... Rules>
      struct CombineHooks {
          static void run(OperationContext* opCtx, const QuerySettings& querySettings) {
              (Rules::run(opCtx, querySettings), ...);
          }
      };
      
      using QuerySettingsPostResolutionHook =
          CombineHooks<BackfillRepresentativeQueriesHook, QuerySettingsRejectionHook, QuerySettingsMaxTimeMSHook>;
      
      QuerySettingsPostResolutionHook::run(opCtx, querySettings);
      

       

            Assignee:
            Vadim Piven
            Reporter:
            Vadim Piven
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: