Loading client/mysqlshow.c +25 −2 Original line number Diff line number Diff line Loading @@ -344,7 +344,7 @@ list_dbs(MYSQL *mysql,const char *wild) char query[255]; MYSQL_FIELD *field; MYSQL_RES *result; MYSQL_ROW row, rrow; MYSQL_ROW row= NULL, rrow; if (!(result=mysql_list_dbs(mysql,wild))) { Loading @@ -352,6 +352,26 @@ list_dbs(MYSQL *mysql,const char *wild) mysql_error(mysql)); return 1; } /* If a wildcard was used, but there was only one row and it's name is an exact match, we'll assume they really wanted to see the contents of that database. This is because it is fairly common for database names to contain the underscore (_), like INFORMATION_SCHEMA. */ if (wild && mysql_num_rows(result) == 1) { row= mysql_fetch_row(result); if (!my_strcasecmp(&my_charset_latin1, row[0], wild)) { mysql_free_result(result); if (opt_status) return list_table_status(mysql, wild, NULL); else return list_tables(mysql, wild, NULL); } } if (wild) printf("Wildcard: %s\n",wild); Loading @@ -368,7 +388,8 @@ list_dbs(MYSQL *mysql,const char *wild) else print_header(header,length,"Tables",6,"Total Rows",12,NullS); while ((row = mysql_fetch_row(result))) /* The first row may have already been read up above. */ while (row || (row= mysql_fetch_row(result))) { counter++; Loading Loading @@ -422,6 +443,8 @@ list_dbs(MYSQL *mysql,const char *wild) print_row(row[0],length,tables,6,NullS); else print_row(row[0],length,tables,6,rows,12,NullS); row= NULL; } print_trailer(length, Loading mysql-test/r/mysqlshow.result +49 −0 Original line number Diff line number Diff line Loading @@ -75,3 +75,52 @@ Database: test 2 rows in set. DROP TABLE t1, t2; Database: information_schema +---------------------------------------+ | Tables | +---------------------------------------+ | CHARACTER_SETS | | COLLATIONS | | COLLATION_CHARACTER_SET_APPLICABILITY | | COLUMNS | | COLUMN_PRIVILEGES | | KEY_COLUMN_USAGE | | ROUTINES | | SCHEMATA | | SCHEMA_PRIVILEGES | | STATISTICS | | TABLES | | TABLE_CONSTRAINTS | | TABLE_PRIVILEGES | | TRIGGERS | | USER_PRIVILEGES | | VIEWS | +---------------------------------------+ Database: INFORMATION_SCHEMA +---------------------------------------+ | Tables | +---------------------------------------+ | CHARACTER_SETS | | COLLATIONS | | COLLATION_CHARACTER_SET_APPLICABILITY | | COLUMNS | | COLUMN_PRIVILEGES | | KEY_COLUMN_USAGE | | ROUTINES | | SCHEMATA | | SCHEMA_PRIVILEGES | | STATISTICS | | TABLES | | TABLE_CONSTRAINTS | | TABLE_PRIVILEGES | | TRIGGERS | | USER_PRIVILEGES | | VIEWS | +---------------------------------------+ Wildcard: inf_rmation_schema +--------------------+ | Databases | +--------------------+ | information_schema | +--------------------+ End of 5.0 tests mysql-test/t/mysqlshow.test +9 −0 Original line number Diff line number Diff line Loading @@ -25,3 +25,12 @@ select "---- -v -t ---------" as ""; select "---- -v -v -t ------" as ""; --exec $MYSQL_SHOW test -v -v -t DROP TABLE t1, t2; # # Bug #19147: mysqlshow INFORMATION_SCHEMA does not work # --exec $MYSQL_SHOW information_schema --exec $MYSQL_SHOW INFORMATION_SCHEMA --exec $MYSQL_SHOW inf_rmation_schema --echo End of 5.0 tests Loading
client/mysqlshow.c +25 −2 Original line number Diff line number Diff line Loading @@ -344,7 +344,7 @@ list_dbs(MYSQL *mysql,const char *wild) char query[255]; MYSQL_FIELD *field; MYSQL_RES *result; MYSQL_ROW row, rrow; MYSQL_ROW row= NULL, rrow; if (!(result=mysql_list_dbs(mysql,wild))) { Loading @@ -352,6 +352,26 @@ list_dbs(MYSQL *mysql,const char *wild) mysql_error(mysql)); return 1; } /* If a wildcard was used, but there was only one row and it's name is an exact match, we'll assume they really wanted to see the contents of that database. This is because it is fairly common for database names to contain the underscore (_), like INFORMATION_SCHEMA. */ if (wild && mysql_num_rows(result) == 1) { row= mysql_fetch_row(result); if (!my_strcasecmp(&my_charset_latin1, row[0], wild)) { mysql_free_result(result); if (opt_status) return list_table_status(mysql, wild, NULL); else return list_tables(mysql, wild, NULL); } } if (wild) printf("Wildcard: %s\n",wild); Loading @@ -368,7 +388,8 @@ list_dbs(MYSQL *mysql,const char *wild) else print_header(header,length,"Tables",6,"Total Rows",12,NullS); while ((row = mysql_fetch_row(result))) /* The first row may have already been read up above. */ while (row || (row= mysql_fetch_row(result))) { counter++; Loading Loading @@ -422,6 +443,8 @@ list_dbs(MYSQL *mysql,const char *wild) print_row(row[0],length,tables,6,NullS); else print_row(row[0],length,tables,6,rows,12,NullS); row= NULL; } print_trailer(length, Loading
mysql-test/r/mysqlshow.result +49 −0 Original line number Diff line number Diff line Loading @@ -75,3 +75,52 @@ Database: test 2 rows in set. DROP TABLE t1, t2; Database: information_schema +---------------------------------------+ | Tables | +---------------------------------------+ | CHARACTER_SETS | | COLLATIONS | | COLLATION_CHARACTER_SET_APPLICABILITY | | COLUMNS | | COLUMN_PRIVILEGES | | KEY_COLUMN_USAGE | | ROUTINES | | SCHEMATA | | SCHEMA_PRIVILEGES | | STATISTICS | | TABLES | | TABLE_CONSTRAINTS | | TABLE_PRIVILEGES | | TRIGGERS | | USER_PRIVILEGES | | VIEWS | +---------------------------------------+ Database: INFORMATION_SCHEMA +---------------------------------------+ | Tables | +---------------------------------------+ | CHARACTER_SETS | | COLLATIONS | | COLLATION_CHARACTER_SET_APPLICABILITY | | COLUMNS | | COLUMN_PRIVILEGES | | KEY_COLUMN_USAGE | | ROUTINES | | SCHEMATA | | SCHEMA_PRIVILEGES | | STATISTICS | | TABLES | | TABLE_CONSTRAINTS | | TABLE_PRIVILEGES | | TRIGGERS | | USER_PRIVILEGES | | VIEWS | +---------------------------------------+ Wildcard: inf_rmation_schema +--------------------+ | Databases | +--------------------+ | information_schema | +--------------------+ End of 5.0 tests
mysql-test/t/mysqlshow.test +9 −0 Original line number Diff line number Diff line Loading @@ -25,3 +25,12 @@ select "---- -v -t ---------" as ""; select "---- -v -v -t ------" as ""; --exec $MYSQL_SHOW test -v -v -t DROP TABLE t1, t2; # # Bug #19147: mysqlshow INFORMATION_SCHEMA does not work # --exec $MYSQL_SHOW information_schema --exec $MYSQL_SHOW INFORMATION_SCHEMA --exec $MYSQL_SHOW inf_rmation_schema --echo End of 5.0 tests