Commit 4cd2aa73 authored by unknown's avatar unknown
Browse files

Port mysql_upgrade to be tested on windows


client/mysql_upgrade.c:
  Send error messages to stderr
  Add new define EXTRA_CLIENT_PATHS containing additional paths where
  to look for the client binaries
parent 2244f8e7
Loading
Loading
Loading
Loading
+21 −14
Original line number Diff line number Diff line
@@ -31,10 +31,12 @@
const char *mysqlcheck_name= "mysqlcheck.exe";
const char *mysql_name= "mysql.exe";
const char *mysqld_name= "mysqld.exe";
#define EXTRA_CLIENT_PATHS "client/release", "client/debug"
#else
const char *mysqlcheck_name= "mysqlcheck";
const char *mysql_name= "mysql";
const char *mysqld_name= "mysqld";
#define EXTRA_CLIENT_PATHS "client"
#endif /*__WIN__*/

extern TYPELIB sql_protocol_typelib;
@@ -497,7 +499,8 @@ int main(int argc, char **argv)
                          "mysql", NullS))
  {
    ret= 1;
    puts("Can't find data directory. Please restart with"
    fprintf(stderr,
            "Can't find data directory. Please restart with"
            " --datadir=path-to-writable-data-dir");
    goto error;
  }
@@ -541,11 +544,13 @@ int main(int argc, char **argv)
  }
  
  if (find_file(mysqlcheck_name, basedir, MYF(0), path, sizeof(path),
                "bin", "client", NullS))
                "bin", EXTRA_CLIENT_PATHS, NullS))
  {
     ret= 1;
     printf("Can't find program '%s'\n", mysqlcheck_name);
     puts("Please restart with --basedir=mysql-install-directory");
     fprintf(stderr,
             "Can't find program '%s'\n"
             "Please restart with --basedir=mysql-install-directory",
             mysqlcheck_name);
     goto error;
  }
  else
@@ -567,7 +572,7 @@ int main(int argc, char **argv)
  ret= system(cmdline.str);
  if (ret)
  {
    printf("Error executing '%s'\n", cmdline.str);
    fprintf(stderr, "Error executing '%s'\n", cmdline.str);
    goto error;
  }

@@ -578,10 +583,11 @@ int main(int argc, char **argv)

fix_priv_tables:
  if (find_file(mysql_name, basedir, MYF(0), path, sizeof(path), 
                "bin", "client", NullS))
                "bin", EXTRA_CLIENT_PATHS, NullS))
  {
    ret= 1;
    puts("Could not find MySQL command-line client (mysql).\n"
    fprintf(stderr,
           "Could not find MySQL command-line client (mysql).\n"
           "Please use --basedir to specify the directory"
           " where MySQL is installed.");
    goto error;
@@ -598,7 +604,8 @@ int main(int argc, char **argv)
                          "share/mysql", NullS))
  {
    ret= 1;
    puts("Could not find file " MYSQL_FIX_PRIV_TABLES_NAME "\n"
    fprintf(stderr,
           "Could not find file " MYSQL_FIX_PRIV_TABLES_NAME "\n"
           "Please use --basedir to specify the directory"
           " where MySQL is installed");
    goto error;
@@ -621,7 +628,7 @@ int main(int argc, char **argv)

  ret= system(cmdline.str);
  if (ret)
    printf("Error executing '%s'\n", cmdline.str);
    fprintf(stderr, "Error executing '%s'\n", cmdline.str);

error:
  dynstr_free(&cmdline);