mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge rama.(none):/home/jimw/my/mysql-5.0-19147
into rama.(none):/home/jimw/my/mysql-5.0-16502
This commit is contained in:
@ -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)))
|
||||
{
|
||||
@ -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);
|
||||
|
||||
@ -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++;
|
||||
|
||||
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user