diff options
-rw-r--r-- | mysql-test/r/connect.result | 108 | ||||
-rw-r--r-- | mysql-test/r/ctype_recoding.result | 20 | ||||
-rw-r--r-- | mysql-test/r/drop.result | 4 | ||||
-rw-r--r-- | mysql-test/r/lowercase_table.result | 8 | ||||
-rw-r--r-- | mysql-test/r/rename.result | 20 | ||||
-rw-r--r-- | mysql-test/r/rpl000009.result | 18 | ||||
-rw-r--r-- | mysql-test/r/rpl_error_ignored_table.result | 2 | ||||
-rw-r--r-- | mysql-test/r/select.result | 14 | ||||
-rw-r--r-- | mysql-test/r/sp.result | 4 | ||||
-rw-r--r-- | mysql-test/r/system_mysql_db.result | 36 | ||||
-rw-r--r-- | mysql-test/r/view.result | 11 | ||||
-rw-r--r-- | mysql-test/t/view.test | 1 | ||||
-rw-r--r-- | sql/mysql_priv.h | 3 | ||||
-rw-r--r-- | sql/sql_parse.cc | 5 | ||||
-rw-r--r-- | sql/sql_show.cc | 5 | ||||
-rw-r--r-- | sql/sql_yacc.yy | 4 |
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 { |