• unknown's avatar
    WL#3337 (Event scheduler new architecture) · da4734c3
    unknown authored
    This is a post-review patch.
    
    Fixes the typelib implementation, available only in 5.1.11.
    
    --event-scheduler cmdline : DISABLED | ON | OFF | 0 | 1
    DISABLED - makes the scheduler unavailable during the server run
    (ON|1)-  When the server is started the scheduler will be started. It can
             be stopped and restarted by setting appropriate values to
             GLOBAL event_scheduler
    (OFF|0)- When the server is started, the scheduler won't be started. It
             can be started and again stopped by setting appropriate values to
             GLOBAL event_scheduler. _DEFAULT_ value
    
    The GLOBAL variable event_scheduler can have the following values:
    OFF | ON | 0 | 1
    DISABLED is not possible and every attempt will end with an error that
    it's not a valid value for the variable.
    OFF | 0 - This is the pre-5.1.11 behavior - The scheduler stops, if not
              already stopped, and can be started again  by setting
              the value of the variable to ON|1.
    ON | 1  - This is the pre-5.1.11 behavior - The scheduler starts, if not
              already started, and can be stopped again by setting the value
              of the variable to OFF|0.
    
    
    mysql-test/r/events.result:
      update result
    mysql-test/r/events_bugs.result:
      update result
    mysql-test/r/events_logs_tests.result:
      update result
    mysql-test/r/events_restart_phase1.result:
      update result
    mysql-test/r/events_restart_phase3.result:
      update result
    mysql-test/r/events_scheduling.result:
      update result
    mysql-test/r/events_stress.result:
      update result
    mysql-test/t/events.test:
      update test:
      2 -> off
      1 -> on
    mysql-test/t/events_bugs.test:
      update test:
      2 -> off
      1 -> on
    mysql-test/t/events_logs_tests.test:
      update test:
      2 -> off
      1 -> on
    mysql-test/t/events_restart_phase1.test:
      update test:
      2 -> off
      1 -> on
    mysql-test/t/events_restart_phase2-master.opt:
      update master file : 1 => on
    mysql-test/t/events_scheduling.test:
      update test:
      2 -> off
      1 -> on
      
      add tests for event_scheduler global variable representation from
      SHOW VARIABLES.
    mysql-test/t/events_stress.test:
      update test:
      2 -> off
      1 -> on
    sql/events.cc:
      Implement two different TYPELIBs for --event-scheduler cmd line
      option and for GLOBAL variable event_scheduler
      
      --event-scheduler cmdline : DISABLED | ON | OFF | 0 | 1
      DISABLED - makes the scheduler unavailable during the server run
      (ON|1)-  When the server is started the scheduler will be started. It can
               be stopped and restarted by setting appropriate values to
               GLOBAL event_scheduler
      (OFF|0)- When the server is started, the scheduler won't be started. It
               can be started and again stopped by setting appropriate values to
               GLOBAL event_scheduler. _DEFAULT_ value
      
      The GLOBAL variable event_scheduler can have the following values:
      OFF | ON | 0 | 1
      DISABLED is not possible and every attempt will end with an error that
      it's not a valid value for the variable.
      OFF | 0 - This is the pre-5.1.11 behavior - The scheduler stops, if not
                already stopped, and can be started again  by setting
                the value of the variable to ON|1.
      ON | 1  - This is the pre-5.1.11 behavior - The scheduler starts, if not
                already started, and can be stopped again by setting the value
                of the variable to OFF|0.
    sql/events.h:
      additional TYPELIB for GLOBAL event_scheduler
    sql/mysqld.cc:
      --event-scheduler should be checked against a TYPELIB and
      therefore should be GET_STR, as well as we make the parameter optional.
      When not provided OFF|0 is used.
    sql/set_var.cc:
      Implement typelib for event_scheduler variable.
      If allows both INT_RESULT -> 0 | 1 
      and STRING_RESULT -> OFF | ON
      The variable is shown as DISABLED | ON | OFF
    sql/set_var.h:
      Implement typelib, which expects both STRING and INT,
      for event_scheduler.
    da4734c3
set_var.h 33.3 KB