summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorBjorn Munch <bjorn.munch@oracle.com>2011-01-17 10:28:53 +0100
committerBjorn Munch <bjorn.munch@oracle.com>2011-01-17 10:28:53 +0100
commit8ed50d99721130f1431d1b41491f4ad8232beeed (patch)
tree2148d39a13e0342996f9ccdf5f7c6ccb8b9f5912 /client
parent251869175e157a21d35191b301ef597a0aad986b (diff)
parent208b677637ef9d140c1629a0de4d4963c02ea533 (diff)
downloadmariadb-git-8ed50d99721130f1431d1b41491f4ad8232beeed.tar.gz
merge from 5.1 main
Diffstat (limited to 'client')
-rw-r--r--client/mysqladmin.cc3
-rw-r--r--client/mysqldump.c13
-rw-r--r--client/mysqlslap.c20
3 files changed, 29 insertions, 7 deletions
diff --git a/client/mysqladmin.cc b/client/mysqladmin.cc
index fe3e51a4d61..18ee8fae400 100644
--- a/client/mysqladmin.cc
+++ b/client/mysqladmin.cc
@@ -416,6 +416,9 @@ int main(int argc,char *argv[])
if (interval) /* --sleep=interval given */
{
+ if (opt_count_iterations && --nr_iterations == 0)
+ break;
+
/*
If connection was dropped (unintentionally, or due to SHUTDOWN),
re-establish it if --wait ("retry-connect") was given and user
diff --git a/client/mysqldump.c b/client/mysqldump.c
index e35672c2a2c..57e3f5b0349 100644
--- a/client/mysqldump.c
+++ b/client/mysqldump.c
@@ -2247,6 +2247,15 @@ static uint get_table_structure(char *table, char *db, char *table_type,
const char *insert_option;
char name_buff[NAME_LEN+3],table_buff[NAME_LEN*2+3];
char table_buff2[NAME_LEN*2+3], query_buff[QUERY_LENGTH];
+ const char *show_fields_stmt= "SELECT `COLUMN_NAME` AS `Field`, "
+ "`COLUMN_TYPE` AS `Type`, "
+ "`IS_NULLABLE` AS `Null`, "
+ "`COLUMN_KEY` AS `Key`, "
+ "`COLUMN_DEFAULT` AS `Default`, "
+ "`EXTRA` AS `Extra`, "
+ "`COLUMN_COMMENT` AS `Comment` "
+ "FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE "
+ "TABLE_SCHEMA = '%s' AND TABLE_NAME = '%s'";
FILE *sql_file= md_result_file;
int len;
MYSQL_RES *result;
@@ -2514,8 +2523,8 @@ static uint get_table_structure(char *table, char *db, char *table_type,
verbose_msg("%s: Warning: Can't set SQL_QUOTE_SHOW_CREATE option (%s)\n",
my_progname, mysql_error(mysql));
- my_snprintf(query_buff, sizeof(query_buff), "show fields from %s",
- result_table);
+ my_snprintf(query_buff, sizeof(query_buff), show_fields_stmt, db, table);
+
if (mysql_query_with_error_report(mysql, &result, query_buff))
DBUG_RETURN(0);
diff --git a/client/mysqlslap.c b/client/mysqlslap.c
index b1eafe0082c..3b5c14dd74b 100644
--- a/client/mysqlslap.c
+++ b/client/mysqlslap.c
@@ -1519,7 +1519,12 @@ generate_primary_key_list(MYSQL *mysql, option_string *engine_stmt)
exit(1);
}
- result= mysql_store_result(mysql);
+ if (!(result= mysql_store_result(mysql)))
+ {
+ fprintf(stderr, "%s: Error when storing result: %d %s\n",
+ my_progname, mysql_errno(mysql), mysql_error(mysql));
+ exit(1);
+ }
primary_keys_number_of= mysql_num_rows(result);
/* So why check this? Blackhole :) */
@@ -1891,10 +1896,15 @@ limit_not_met:
{
if (mysql_field_count(mysql))
{
- result= mysql_store_result(mysql);
- while ((row = mysql_fetch_row(result)))
- counter++;
- mysql_free_result(result);
+ if (!(result= mysql_store_result(mysql)))
+ fprintf(stderr, "%s: Error when storing result: %d %s\n",
+ my_progname, mysql_errno(mysql), mysql_error(mysql));
+ else
+ {
+ while ((row= mysql_fetch_row(result)))
+ counter++;
+ mysql_free_result(result);
+ }
}
} while(mysql_next_result(mysql) == 0);
queries++;