• Guilhem Bichot's avatar
    fix for Bug #55672 "mysql_upgrade dies with internal error": · 53c8b221
    Guilhem Bichot authored
    it couldn't parse the --ssl option.
    
    client/mysql_upgrade.c:
      mysql_upgrade parses its options and passes some of them to the underlying
      tools (mysqlcheck etc). To do this passdown, it reconstructs a
      command-line-suitable text from the my_option object (which
      contains the option's name and option's value). For options
      which expect no parameter, it just had to use the option's name;
      for other options, it had to concatenate the option's name,
      a "=" symbol, and the option's value; it had code to handle
      this latter case, but only for GET_STR options (options taking a
      string as value). But since the work on WL 4738, the --ssl
      option, a GET_BOOL, which used to have no parameter (NO_ARG), can
      now have one (OPT_ARG), so with --ssl we came to the "default"
      label, error. Fixed by constructing the command-line-suitable
      representation for GET_BOOL too. For --ssl it will produce
      --ssl=1 ; for --ssl=0, it will produce --ssl=0.
    mysql-test/include/mysql_upgrade_preparation.inc:
      handles requirements of tests which use mysql_upgrade
    mysql-test/r/mysql_upgrade_ssl.result:
      result; without the code fix we would get "internal error".
    mysql-test/t/mysql_upgrade.test:
      This test has requirements before running; moved them
      to an include file in order to share with mysql_upgrade_ssl.
    mysql-test/t/mysql_upgrade_ssl.test:
      test for bug. Couldn't go into mysql_upgrade.test as this new test requires
      SSL support. --force is needed, in case mysql_upgrade.test run before
      (in which case mysql_upgrade_ssl would say that upgrade has already been
      done); --force forces the upgrade in all cases.
    53c8b221
mysql_upgrade_ssl.test 279 Bytes