summaryrefslogtreecommitdiff
path: root/client/mysqlcheck.c
diff options
context:
space:
mode:
authorunknown <cmiller@zippy.cornsilk.net>2007-04-27 16:45:01 -0400
committerunknown <cmiller@zippy.cornsilk.net>2007-04-27 16:45:01 -0400
commit4687fe01d7e3ff566e045b1f538562412f4f4c00 (patch)
treedc6a3a60b71e4a3cbaadb6dc739d736ab8014ac5 /client/mysqlcheck.c
parent3a58af9c0db3a3e34453fe1689ca4287be9b396a (diff)
parent1698b4f2ddbb61aa4f3ad69e941bac688822d00d (diff)
downloadmariadb-git-4687fe01d7e3ff566e045b1f538562412f4f4c00.tar.gz
Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-enterprise-formergecomm
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-unified02 BitKeeper/etc/collapsed: auto-union configure.in: Auto merged BitKeeper/deleted/.del-CMakeLists.txt~3: Auto merged BitKeeper/deleted/.del-ha_berkeley.cc: Auto merged client/mysqlcheck.c: Auto merged include/config-win.h: Auto merged libmysqld/Makefile.am: Auto merged mysql-test/r/func_in.result: Auto merged mysql-test/r/mysqlcheck.result: Auto merged mysql-test/t/func_in.test: Auto merged mysql-test/t/information_schema.test: Auto merged mysql-test/t/mysqlcheck.test: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_func.cc: Auto merged sql/log_event.cc: Auto merged sql/repl_failsafe.cc: Auto merged sql/set_var.h: Auto merged sql/sp_head.cc: Auto merged sql/sql_cache.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_lex.cc: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_repl.cc: Auto merged sql/sql_view.cc: Auto merged storage/myisam/ha_myisam.cc: Auto merged storage/myisam/mi_open.c: Auto merged storage/myisammrg/ha_myisammrg.cc: Auto merged include/my_dbug.h: Manual merge. mysql-test/r/information_schema.result: Manual merge. mysql-test/r/information_schema_db.result: Manual merge. mysql-test/r/mysqlshow.result: Manual merge. sql/Makefile.am: Manual merge. sql/lex.h: Manual merge. sql/lock.cc: Manual merge. sql/mysql_priv.h: Manual merge. sql/mysqld.cc: Manual merge. sql/set_var.cc: Manual merge. sql/slave.cc: Manual merge. sql/sql_base.cc: Manual merge. sql/sql_delete.cc: Manual merge. sql/sql_insert.cc: Manual merge. sql/sql_lex.h: Manual merge. sql/sql_parse.cc: Manual merge. sql/sql_select.cc: Manual merge. sql/sql_show.cc: Manual merge. sql/sql_table.cc: Manual merge. sql/sql_update.cc: Manual merge. sql/sql_yacc.yy: Manual merge. sql/structs.h: Manual merge. sql/table.h: Manual merge. storage/archive/ha_archive.cc: Manual merge. storage/ndb/src/common/util/File.cpp: Manual merge. storage/ndb/src/ndbapi/DictCache.cpp: Manual merge. support-files/mysql.spec.sh: Manual merge.
Diffstat (limited to 'client/mysqlcheck.c')
-rw-r--r--client/mysqlcheck.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/client/mysqlcheck.c b/client/mysqlcheck.c
index 43a938badbe..28b3103c53e 100644
--- a/client/mysqlcheck.c
+++ b/client/mysqlcheck.c
@@ -472,14 +472,17 @@ static int process_all_tables_in_db(char *database)
{
MYSQL_RES *res;
MYSQL_ROW row;
+ uint num_columns;
LINT_INIT(res);
if (use_db(database))
return 1;
- if (mysql_query(sock, "SHOW TABLE STATUS") ||
+ if (mysql_query(sock, "SHOW /*!50002 FULL*/ TABLES") ||
!((res= mysql_store_result(sock))))
return 1;
+ num_columns= mysql_num_fields(res);
+
if (opt_all_in_1)
{
/*
@@ -502,12 +505,11 @@ static int process_all_tables_in_db(char *database)
}
for (end = tables + 1; (row = mysql_fetch_row(res)) ;)
{
- /* Skip tables with an engine of NULL (probably a view). */
- if (row[1])
- {
- end= fix_table_name(end, row[0]);
- *end++= ',';
- }
+ if ((num_columns == 2) && (strcmp(row[1], "VIEW") == 0))
+ continue;
+
+ end= fix_table_name(end, row[0]);
+ *end++= ',';
}
*--end = 0;
if (tot_length)
@@ -517,11 +519,12 @@ static int process_all_tables_in_db(char *database)
else
{
while ((row = mysql_fetch_row(res)))
- /* Skip tables with an engine of NULL (probably a view). */
- if (row[1])
- {
- handle_request_for_tables(row[0], strlen(row[0]));
- }
+ {
+ if ((num_columns == 2) && (strcmp(row[1], "VIEW") == 0))
+ continue;
+
+ handle_request_for_tables(row[0], strlen(row[0]));
+ }
}
mysql_free_result(res);
return 0;