diff options
-rw-r--r-- | client/mysqltest.c | 41 | ||||
-rw-r--r-- | mysql-test/install_test_db.sh | 8 | ||||
-rw-r--r-- | sql/log_event.cc | 1 |
3 files changed, 31 insertions, 19 deletions
diff --git a/client/mysqltest.c b/client/mysqltest.c index f6d87352a6c..236b0e1dc9b 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -1096,6 +1096,25 @@ char* safe_get_param(char* str, char** arg, const char* msg) DBUG_RETURN(str); } +int safe_connect(MYSQL* con, const char* host, const char* user, + const char* pass, + const char* db, int port, const char* sock) +{ + int con_error = 1; + int i; + for (i = 0; i < MAX_CON_TRIES; ++i) + { + if(mysql_real_connect(con, host,user, pass, + db, port, sock, 0)) + { + con_error = 0; + break; + } + sleep(CON_RETRY_SLEEP); + } + return con_error; +} + int do_connect(struct st_query* q) { @@ -1104,7 +1123,7 @@ int do_connect(struct st_query* q) char* p=q->first_argument; char buff[FN_REFLEN]; int con_port; - int i, con_error; + int con_error; DBUG_ENTER("do_connect"); DBUG_PRINT("enter",("connect: %s",p)); @@ -1137,20 +1156,9 @@ int do_connect(struct st_query* q) con_sock=fn_format(buff, con_sock, TMPDIR, "",0); if (!con_db[0]) con_db=db; - con_error = 1; - for (i = 0; i < MAX_CON_TRIES; ++i) - { - if(mysql_real_connect(&next_con->mysql, con_host, + if((con_error = safe_connect(&next_con->mysql, con_host, con_user, con_pass, - con_db, con_port, con_sock, 0)) - { - con_error = 0; - break; - } - sleep(CON_RETRY_SLEEP); - } - - if(con_error) + con_db, con_port, con_sock))) die("Could not open connection '%s': %s", con_name, mysql_error(&next_con->mysql)); @@ -1950,9 +1958,8 @@ int main(int argc, char** argv) if (!cur_con->name) die("Out of memory"); - if (!mysql_real_connect(&cur_con->mysql, host, - user, pass, db, port, unix_sock, - 0)) + if (safe_connect(&cur_con->mysql, host, + user, pass, db, port, unix_sock)) die("Failed in mysql_real_connect(): %s", mysql_error(&cur_con->mysql)); while (!read_query(&q)) diff --git a/mysql-test/install_test_db.sh b/mysql-test/install_test_db.sh index 34df311e683..c661d94035c 100644 --- a/mysql-test/install_test_db.sh +++ b/mysql-test/install_test_db.sh @@ -190,8 +190,11 @@ then c_c="$c_c comment='Column privileges';" fi -if $execdir/mysqld --no-defaults --bootstrap --skip-grant-tables \ - --basedir=$basedir --datadir=$ldata --skip-innodb --skip-bdb --skip-gemini $EXTRA_ARG << END_OF_DATA +mysqld_boot=" $execdir/mysqld --no-defaults --bootstrap --skip-grant-tables \ + --basedir=$basedir --datadir=$ldata --skip-innodb --skip-bdb --skip-gemini $EXTRA_ARG" +echo "running $mysqld_boot" + +if $mysqld_boot << END_OF_DATA use mysql; $c_d $i_d @@ -211,5 +214,6 @@ END_OF_DATA then exit 0 else + echo "Error executing mysqld --boostrap" exit 1 fi diff --git a/sql/log_event.cc b/sql/log_event.cc index 89f0919cc41..8275896710a 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -30,6 +30,7 @@ static void pretty_print_str(FILE* file, char* str, int len) fputc('\'', file); while (str < end) { + char c; switch ((c=*str++)) { case '\n': fprintf(file, "\\n"); break; case '\r': fprintf(file, "\\r"); break; |