• unknown's avatar
    Fix for bug #20665 All commands supported in Stored Procedures · 14b8924b
    unknown authored
    should work in Prepared Statements. Post-review changeset.
    
    Problem: There are some commands which are avaiable to be executed in SP
             but cannot be prepared. This patch fixes this and makes it possible
             prepare these statements.
    
    Changes: The commands later are made available in PS. RESET has been forbidden
             in SF/Trigger.
    
    Solution: All current server commands where checked and those missing (see later)
              we added. Tests for all of the commands with repeated executions were
              added - testing with SP, SF and PS.
    
    SHOW BINLOG EVENTS
    SHOW (MASTER | SLAVE) STATUS
    SHOW (MASTER | BINARY) LOGS
    SHOW (PROCEDURE | FUNCTION) CODE (parsable only in debug builds)
    SHOW CREATE (PROCEDURE | FUNCTION | EVENT | TABLE | VIEW)
    SHOW (AUTHORS | CONTRIBUTORS | WARNINGS | ERRORS)
    CHANGE MASTER
    RESET (MASTER | SLAVE | QUERY CACHE)
    SLAVE (START | STOP)
    CHECKSUM (TABLE | TABLES)
    INSTALL PLUGIN
    UNINSTALL PLUGIN
    CACHE INDEX
    LOAD INDEX INTO CACHE
    GRANT
    REVOKE
    KILL
    (CREATE | RENAME | DROP) DATABASE
    (CREATE | RENAME | DROP) USER
    FLUSH (TABLE | TABLES | TABLES WITH READ LOCK | HOSTS | PRIVILEGES |
           LOGS | STATUS | MASTER | SLAVE | DES_KEY_FILE | USER_RESOURCES)
    
    
    mysql-test/r/ps.result:
      update result
    mysql-test/r/ps_1general.result:
      update result
    mysql-test/r/ps_grant.result:
      update result
    mysql-test/r/sp-dynamic.result:
      update result
    mysql-test/t/ps.test:
      Add more statements, probably all currently missing which are possible in
      a SP but not preparable.
      Every statement is tested in a SP, in a SF and attempted to prepare.
    mysql-test/t/ps_1general.test:
      - Enable some of the statements, which are already possible in SP.
      - 1295 -> ER_UNSUPPORTED_PS
    mysql-test/t/ps_grant.test:
      Enable statements already possible in SP.
    sql/sp_head.cc:
      - Reorder to keep some alphabet order.
      - Add missing SHOW_SCHEDULER_STATUS.
    sql/sql_prepare.cc:
      Add possibility to prepare statements, which are already allowed in SP.
    14b8924b
sp_head.cc 93.2 KB