-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Execution
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Refactor QueryKnobConfiguration to replace 37 hand-written fields with a runtime-sized QueryKnobSnapshot backed by std::vector. makeFromDefaults() takes a QueryKnobRegistry reference and loops over entries calling each descriptor's readGlobal function pointer. Callers switch from named getters to cfg.get(query_knobs::foo). Derived getters with logic (isForceClassicEngineEnabled, canPushDownFullyCompatibleStages) remain hand-written and delegate to the snapshot. Fields typed size_t today are stored as int/long long in the variant; call sites cast as needed. Enum knobs stored as underlying int, cast back in the getter. Source tracking and applyPqsOverrides() deferred to later tickets.
- depends on
-
SERVER-123123 QueryKnobSnapshot
-
- Closed
-
-
SERVER-123178 QueryKnobRegistry: unified runtime registry for query knobs
-
- Closed
-
- is depended on by
-
SERVER-123182 Wire PQS knob overrides into ExpressionContext
-
- Backlog
-
- is related to
-
SERVER-118544 Op-scoped QueryKnobConfiguration: single consistent snapshot per query
-
- Open
-