summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/connect.result108
-rw-r--r--mysql-test/r/ctype_recoding.result20
-rw-r--r--mysql-test/r/drop.result4
-rw-r--r--mysql-test/r/lowercase_table.result8
-rw-r--r--mysql-test/r/rename.result20
-rw-r--r--mysql-test/r/rpl000009.result18
-rw-r--r--mysql-test/r/rpl_error_ignored_table.result2
-rw-r--r--mysql-test/r/select.result14
-rw-r--r--mysql-test/r/sp.result4
-rw-r--r--mysql-test/r/system_mysql_db.result36
-rw-r--r--mysql-test/r/view.result11
-rw-r--r--mysql-test/t/view.test1
-rw-r--r--sql/mysql_priv.h3
-rw-r--r--sql/sql_parse.cc5
-rw-r--r--sql/sql_show.cc5
-rw-r--r--sql/sql_yacc.yy4
16 files changed, 137 insertions, 126 deletions
diff --git a/mysql-test/r/connect.result b/mysql-test/r/connect.result
index 0e4583fbc96..702b725764b 100644
--- a/mysql-test/r/connect.result
+++ b/mysql-test/r/connect.result
@@ -1,45 +1,45 @@
show tables;
-Tables_in_mysql table_type
-columns_priv BASE TABLE
-db BASE TABLE
-func BASE TABLE
-help_category BASE TABLE
-help_keyword BASE TABLE
-help_relation BASE TABLE
-help_topic BASE TABLE
-host BASE TABLE
-proc BASE TABLE
-tables_priv BASE TABLE
-time_zone BASE TABLE
-time_zone_leap_second BASE TABLE
-time_zone_name BASE TABLE
-time_zone_transition BASE TABLE
-time_zone_transition_type BASE TABLE
-user BASE TABLE
+Tables_in_mysql
+columns_priv
+db
+func
+help_category
+help_keyword
+help_relation
+help_topic
+host
+proc
+tables_priv
+time_zone
+time_zone_leap_second
+time_zone_name
+time_zone_transition
+time_zone_transition_type
+user
show tables;
-Tables_in_test table_type
+Tables_in_test
grant ALL on *.* to test@localhost identified by "gambling";
grant ALL on *.* to test@127.0.0.1 identified by "gambling";
show tables;
-Tables_in_mysql table_type
-columns_priv BASE TABLE
-db BASE TABLE
-func BASE TABLE
-help_category BASE TABLE
-help_keyword BASE TABLE
-help_relation BASE TABLE
-help_topic BASE TABLE
-host BASE TABLE
-proc BASE TABLE
-tables_priv BASE TABLE
-time_zone BASE TABLE
-time_zone_leap_second BASE TABLE
-time_zone_name BASE TABLE
-time_zone_transition BASE TABLE
-time_zone_transition_type BASE TABLE
-user BASE TABLE
+Tables_in_mysql
+columns_priv
+db
+func
+help_category
+help_keyword
+help_relation
+help_topic
+host
+proc
+tables_priv
+time_zone
+time_zone_leap_second
+time_zone_name
+time_zone_transition
+time_zone_transition_type
+user
show tables;
-Tables_in_test table_type
+Tables_in_test
update mysql.user set password=old_password("gambling2") where user=_binary"test";
flush privileges;
set password="";
@@ -47,24 +47,24 @@ set password='gambling3';
ERROR HY000: Password hash should be a 41-digit hexadecimal number
set password=old_password('gambling3');
show tables;
-Tables_in_mysql table_type
-columns_priv BASE TABLE
-db BASE TABLE
-func BASE TABLE
-help_category BASE TABLE
-help_keyword BASE TABLE
-help_relation BASE TABLE
-help_topic BASE TABLE
-host BASE TABLE
-proc BASE TABLE
-tables_priv BASE TABLE
-time_zone BASE TABLE
-time_zone_leap_second BASE TABLE
-time_zone_name BASE TABLE
-time_zone_transition BASE TABLE
-time_zone_transition_type BASE TABLE
-user BASE TABLE
+Tables_in_mysql
+columns_priv
+db
+func
+help_category
+help_keyword
+help_relation
+help_topic
+host
+proc
+tables_priv
+time_zone
+time_zone_leap_second
+time_zone_name
+time_zone_transition
+time_zone_transition_type
+user
show tables;
-Tables_in_test table_type
+Tables_in_test
delete from mysql.user where user=_binary"test";
flush privileges;
diff --git a/mysql-test/r/ctype_recoding.result b/mysql-test/r/ctype_recoding.result
index 4605a7ab257..7261c1b8bce 100644
--- a/mysql-test/r/ctype_recoding.result
+++ b/mysql-test/r/ctype_recoding.result
@@ -45,8 +45,8 @@ CREATE TABLE `ÔÁÂÌÉÃÁ`
ÐÏÌÅ CHAR(32) CHARACTER SET koi8r NOT NULL COMMENT "ËÏÍÍÅÎÔÁÒÉÊ ÐÏÌÑ"
) COMMENT "ËÏÍÍÅÎÔÁÒÉÊ ÔÁÂÌÉÃÙ";
SHOW TABLES;
-Tables_in_test table_type
-ÔÁÂÌÉÃÁ BASE TABLE
+Tables_in_test
+ÔÁÂÌÉÃÁ
SHOW CREATE TABLE ÔÁÂÌÉÃÁ;
Table Create Table
ÔÁÂÌÉÃÁ CREATE TABLE `ÔÁÂÌÉÃÁ` (
@@ -57,8 +57,8 @@ Field Type Null Key Default Extra
ÐÏÌÅ char(32)
SET CHARACTER SET cp1251;
SHOW TABLES;
-Tables_in_test table_type
-òàáëèöà BASE TABLE
+Tables_in_test
+òàáëèöà
SHOW CREATE TABLE òàáëèöà;
Table Create Table
òàáëèöà CREATE TABLE `òàáëèöà` (
@@ -69,8 +69,8 @@ Field Type Null Key Default Extra
ïîëå char(32)
SET CHARACTER SET utf8;
SHOW TABLES;
-Tables_in_test table_type
-таблица BASE TABLE
+Tables_in_test
+таблица
SHOW CREATE TABLE таблица;
Table Create Table
таблица CREATE TABLE `таблица` (
@@ -93,14 +93,14 @@ SET CHARACTER SET koi8r;
CREATE DATABASE ÔÅÓÔ;
USE ÔÅÓÔ;
SHOW TABLES;
-Tables_in_ÔÅÓÔ table_type
+Tables_in_ÔÅÓÔ
SHOW TABLES IN ÔÅÓÔ;
-Tables_in_ÔÅÓÔ table_type
+Tables_in_ÔÅÓÔ
SET CHARACTER SET cp1251;
SHOW TABLES;
-Tables_in_òåñò table_type
+Tables_in_òåñò
SHOW TABLES IN òåñò;
-Tables_in_òåñò table_type
+Tables_in_òåñò
SET CHARACTER SET koi8r;
DROP DATABASE ÔÅÓÔ;
SET NAMES koi8r;
diff --git a/mysql-test/r/drop.result b/mysql-test/r/drop.result
index e20b33223b5..8b919964163 100644
--- a/mysql-test/r/drop.result
+++ b/mysql-test/r/drop.result
@@ -52,6 +52,6 @@ ERROR HY000: Can't execute the query because you have a conflicting read lock
unlock tables;
create table t1(n int);
show tables;
-Tables_in_test table_type
-t1 BASE TABLE
+Tables_in_test
+t1
drop table t1;
diff --git a/mysql-test/r/lowercase_table.result b/mysql-test/r/lowercase_table.result
index a8bc2e3d342..a30ec0f160c 100644
--- a/mysql-test/r/lowercase_table.result
+++ b/mysql-test/r/lowercase_table.result
@@ -26,9 +26,9 @@ RENAME TABLE T1 TO T2;
ALTER TABLE T2 ADD new_col int not null;
ALTER TABLE T2 RENAME T3;
show tables like 't_';
-Tables_in_test (t_) table_type
-t3 BASE TABLE
-t4 BASE TABLE
+Tables_in_test (t_)
+t3
+t4
drop table t3,t4;
create table t1 (a int);
select count(*) from T1;
@@ -79,4 +79,4 @@ select C.a, c.a from t1 c, t2 C;
ERROR 42000: Not unique table/alias: 'C'
drop table t1, t2;
show tables;
-Tables_in_test table_type
+Tables_in_test
diff --git a/mysql-test/r/rename.result b/mysql-test/r/rename.result
index c6da8285479..ec36f015412 100644
--- a/mysql-test/r/rename.result
+++ b/mysql-test/r/rename.result
@@ -20,10 +20,10 @@ Got one of the listed errors
rename table t3 to t4, t2 to t3, t1 to t2, t4 to t2;
Got one of the listed errors
show tables like "t_";
-Tables_in_test (t_) table_type
-t1 BASE TABLE
-t2 BASE TABLE
-t3 BASE TABLE
+Tables_in_test (t_)
+t1
+t2
+t3
rename table t3 to t1, t2 to t3, t1 to t2, t4 to t1;
Got one of the listed errors
rename table t3 to t4, t5 to t3, t1 to t2, t4 to t1;
@@ -45,12 +45,12 @@ CREATE TABLE t3 (a int);
FLUSH TABLES WITH READ LOCK;
RENAME TABLE t1 TO t2, t3 to t4;
show tables;
-Tables_in_test table_type
-t1 BASE TABLE
-t3 BASE TABLE
+Tables_in_test
+t1
+t3
UNLOCK TABLES;
show tables;
-Tables_in_test table_type
-t2 BASE TABLE
-t4 BASE TABLE
+Tables_in_test
+t2
+t4
drop table t2, t4;
diff --git a/mysql-test/r/rpl000009.result b/mysql-test/r/rpl000009.result
index 4258f43b67e..bb82dcb1e6a 100644
--- a/mysql-test/r/rpl000009.result
+++ b/mysql-test/r/rpl000009.result
@@ -73,25 +73,25 @@ mysqltest3
test
use mysqltest2;
show tables;
-Tables_in_mysqltest2 table_type
-t1 BASE TABLE
-t3 BASE TABLE
+Tables_in_mysqltest2
+t1
+t3
select * from t1;
n s
1 original foo.t1
use mysqltest3;
show tables;
-Tables_in_mysqltest3 table_type
-t1 BASE TABLE
+Tables_in_mysqltest3
+t1
select * from t1;
n s
1 original foo2.t1
use mysqltest;
show tables;
-Tables_in_mysqltest table_type
-t1 BASE TABLE
-t2 BASE TABLE
-t3 BASE TABLE
+Tables_in_mysqltest
+t1
+t2
+t3
select * from mysqltest.t1;
n s
1 one test
diff --git a/mysql-test/r/rpl_error_ignored_table.result b/mysql-test/r/rpl_error_ignored_table.result
index 2f87f7ddece..19c8ee2e8c7 100644
--- a/mysql-test/r/rpl_error_ignored_table.result
+++ b/mysql-test/r/rpl_error_ignored_table.result
@@ -11,7 +11,7 @@ show slave status;
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 273 # # master-bin.000001 Yes Yes test.t3,test.t1,test.t2 0 0 273 # None 0 No #
show tables like 't1';
-Tables_in_test (t1) table_type
+Tables_in_test (t1)
drop table t1;
select get_lock('crash_lock%20C', 10);
get_lock('crash_lock%20C', 10)
diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result
index 41eae1700b1..eaafc3b7298 100644
--- a/mysql-test/r/select.result
+++ b/mysql-test/r/select.result
@@ -2022,15 +2022,15 @@ select period as "Nuvarande period" from t1 group by "Nuvarande period" limit 1;
Nuvarande period
9410
show tables;
-Tables_in_test table_type
-t1 BASE TABLE
-t2 BASE TABLE
-t3 BASE TABLE
-t4 BASE TABLE
+Tables_in_test
+t1
+t2
+t3
+t4
show tables from test like "s%";
-Tables_in_test (s%) table_type
+Tables_in_test (s%)
show tables from test like "t?";
-Tables_in_test (t?) table_type
+Tables_in_test (t?)
show full columns from t2;
Field Type Collation Null Key Default Extra Privileges Comment
auto int(11) NULL PRI NULL auto_increment select,insert,update,references
diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result
index 6231af1638d..7544fbe5d60 100644
--- a/mysql-test/r/sp.result
+++ b/mysql-test/r/sp.result
@@ -1659,7 +1659,7 @@ Super Server Admin To use KILL thread, SET GLOBAL, CHANGE MASTER, etc.
Update Tables To update existing rows
Usage Server Admin No privileges - allow connect only
Variable_name Value
-Tables_in_test (foo) table_type
+Tables_in_test (foo)
Variable_name Value
Level Code Message
call bug4902()|
@@ -1709,7 +1709,7 @@ Super Server Admin To use KILL thread, SET GLOBAL, CHANGE MASTER, etc.
Update Tables To update existing rows
Usage Server Admin No privileges - allow connect only
Variable_name Value
-Tables_in_test (foo) table_type
+Tables_in_test (foo)
Variable_name Value
Level Code Message
drop procedure bug4902|
diff --git a/mysql-test/r/system_mysql_db.result b/mysql-test/r/system_mysql_db.result
index 1b5fc4f8b27..35d7a78ab56 100644
--- a/mysql-test/r/system_mysql_db.result
+++ b/mysql-test/r/system_mysql_db.result
@@ -1,21 +1,21 @@
show tables;
-Tables_in_db table_type
-columns_priv BASE TABLE
-db BASE TABLE
-func BASE TABLE
-help_category BASE TABLE
-help_keyword BASE TABLE
-help_relation BASE TABLE
-help_topic BASE TABLE
-host BASE TABLE
-proc BASE TABLE
-tables_priv BASE TABLE
-time_zone BASE TABLE
-time_zone_leap_second BASE TABLE
-time_zone_name BASE TABLE
-time_zone_transition BASE TABLE
-time_zone_transition_type BASE TABLE
-user BASE TABLE
+Tables_in_db
+columns_priv
+db
+func
+help_category
+help_keyword
+help_relation
+help_topic
+host
+proc
+tables_priv
+time_zone
+time_zone_leap_second
+time_zone_name
+time_zone_transition
+time_zone_transition_type
+user
show create table db;
Table Create Table
db CREATE TABLE `db` (
@@ -134,4 +134,4 @@ columns_priv CREATE TABLE `columns_priv` (
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Column privileges'
show tables;
-Tables_in_test table_type
+Tables_in_test
diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result
index f1a32ea0c17..d5fdc668d61 100644
--- a/mysql-test/r/view.result
+++ b/mysql-test/r/view.result
@@ -130,6 +130,15 @@ id select_type table type possible_keys key key_len ref rows Extra
Warnings:
Note 1003 select `v6`.`c` AS `c` from `test`.`v6`
show tables;
+Tables_in_test
+t1
+v1
+v2
+v3
+v4
+v5
+v6
+show full tables;
Tables_in_test table_type
t1 BASE TABLE
v1 VIEW
@@ -1043,7 +1052,7 @@ drop table t1;
CREATE VIEW v02 AS SELECT * FROM DUAL;
ERROR HY000: No tables used
SHOW TABLES;
-Tables_in_test table_type
+Tables_in_test
CREATE VIEW v1 AS SELECT EXISTS (SELECT 1 UNION SELECT 2);
select * from v1;
EXISTS (SELECT 1 UNION SELECT 2)
diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test
index a9fd65bbb09..d8d49fd038e 100644
--- a/mysql-test/t/view.test
+++ b/mysql-test/t/view.test
@@ -82,6 +82,7 @@ explain extended select c from v6;
# show table/table status test
show tables;
+show full tables;
--replace_column 12 # 13 #
show table status;
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h
index 99474467065..b4fba907fbf 100644
--- a/sql/mysql_priv.h
+++ b/sql/mysql_priv.h
@@ -688,7 +688,8 @@ int mysql_do(THD *thd, List<Item> &values);
/* sql_show.cc */
int mysqld_show_dbs(THD *thd,const char *wild);
int mysqld_show_open_tables(THD *thd,const char *wild);
-int mysqld_show_tables(THD *thd,const char *db,const char *wild);
+int mysqld_show_tables(THD *thd, const char *db, const char *wild,
+ bool verbose);
int mysqld_extend_show_tables(THD *thd,const char *db,const char *wild);
int mysqld_show_fields(THD *thd,TABLE_LIST *table, const char *wild,
bool verbose);
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 15022bdb8df..f93aaf09933 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -3053,8 +3053,9 @@ unsent_create_error:
res= mysqld_extend_show_tables(thd,db,
(lex->wild ? lex->wild->ptr() : NullS));
else
- res= mysqld_show_tables(thd,db,
- (lex->wild ? lex->wild->ptr() : NullS));
+ res= mysqld_show_tables(thd, db,
+ (lex->wild ? lex->wild->ptr() : NullS),
+ lex->verbose);
break;
}
#endif
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 04b97fed0dc..14bef9d2236 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -137,7 +137,8 @@ int mysqld_show_open_tables(THD *thd,const char *wild)
** A table is a .frm file in the current databasedir
***************************************************************************/
-int mysqld_show_tables(THD *thd,const char *db,const char *wild)
+int mysqld_show_tables(THD *thd, const char *db, const char *wild,
+ bool show_type)
{
Item_string *field=new Item_string("",0,thd->charset());
List<Item> field_list;
@@ -146,8 +147,6 @@ int mysqld_show_tables(THD *thd,const char *db,const char *wild)
char *file_name;
Protocol *protocol= thd->protocol;
uint len;
- bool show_type = !test(thd->variables.sql_mode &
- (MODE_NO_FIELD_OPTIONS | MODE_MYSQL323));
DBUG_ENTER("mysqld_show_tables");
field->name=(char*) thd->alloc(20+(uint) strlen(db)+
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 0a72e5b7991..31016b59c6f 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -5844,11 +5844,11 @@ show: SHOW
show_param:
DATABASES wild
{ Lex->sql_command= SQLCOM_SHOW_DATABASES; }
- | TABLES opt_db wild
+ | opt_full TABLES opt_db wild
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_SHOW_TABLES;
- lex->select_lex.db= $2;
+ lex->select_lex.db= $3;
}
| TABLE_SYM STATUS_SYM opt_db wild
{