Update server param types of IDL Enum to use new IDL syntax

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Server Programmability
    • Programmability 2024-11-25
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Instead of relying on the cpp_class workaround to simulate a server parameter of type IDL enum with this syntax:

      
      planRankerMode:
      description: "Control ranking method of query plans."
      set_at: [ startup, runtime ]
      *cpp_class:*
      *name: QueryPlanRankerMode*
      *data: synchronized_value<QueryPlanRankerModeEnum>*
      default:
      expr: QueryPlanRankerModeEnum::kMultiPlanning
      redact: false
      
      

      You can now use this syntax instead (without adding a separate class and append/setFromString method definitions).

      
      planRankerMode:
      description: "Control ranking method of query plans."
      set_at: [ startup, runtime ]
      *cpp_varname: planRankerMode*
      *cpp_vartype: synchronized_value<QueryPlanRankerModeEnum>*
      
      default:
      expr: QueryPlanRankerModeEnum::kMultiPlanning
      redact: false
      
      

       
      Need to delete the now unnecessary code added for the workaround from before. This includes deleting plan_ranker_mode.cpp and replacing a line in query_knob_configuration.cpp with _planRankerMode = *planRankerMode;

              Assignee:
              Unassigned
              Reporter:
              Adithi Raghavan
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: