summaryrefslogtreecommitdiff
path: root/sql/sql_show.cc
diff options
context:
space:
mode:
authorunknown <jimw@mysql.com>2005-08-08 12:59:04 -0700
committerunknown <jimw@mysql.com>2005-08-08 12:59:04 -0700
commit42002d5dee19ace826bdb5170c0e37ef1dfee26d (patch)
tree1e90d83d58e42b4521015cb09e993accd69f7ce4 /sql/sql_show.cc
parentb7ab93001d50bc2db7c1f06c8040ec79a35b170b (diff)
downloadmariadb-git-42002d5dee19ace826bdb5170c0e37ef1dfee26d.tar.gz
Report 'SYSTEM VIEW' as table_type of INFORMATION_SCHEMA views. (Bug #11711)
mysql-test/r/information_schema.result: Update results sql/sql_show.cc: Show 'SYSTEM VIEW' for table_type of views in INFORMATION_SCHEMA. sql/table.h: Add SYSTEM_TMP_TABLE to tmp_table_type enum, for internal temporary "tables" like INFORMATION_SCHEMA views.
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r--sql/sql_show.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 56272b4fdaf..c51da657b0f 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -2034,7 +2034,7 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
{
if (with_i_schema)
{
- table->field[3]->store("TEMPORARY", 9, system_charset_info);
+ table->field[3]->store("SYSTEM VIEW", 11, system_charset_info);
}
else
{
@@ -2193,7 +2193,9 @@ static int get_schema_tables_record(THD *thd, struct st_table_list *tables,
handler *file= show_table->file;
file->info(HA_STATUS_VARIABLE | HA_STATUS_TIME | HA_STATUS_NO_LOCK);
- if (share->tmp_table == TMP_TABLE)
+ if (share->tmp_table == SYSTEM_TMP_TABLE)
+ table->field[3]->store("SYSTEM VIEW", 11, cs);
+ else if (share->tmp_table)
table->field[3]->store("TEMPORARY", 9, cs);
else
table->field[3]->store("BASE TABLE", 10, cs);
@@ -3532,7 +3534,7 @@ int mysql_schema_table(THD *thd, LEX *lex, TABLE_LIST *table_list)
{
DBUG_RETURN(1);
}
- table->s->tmp_table= TMP_TABLE;
+ table->s->tmp_table= SYSTEM_TMP_TABLE;
table->grant.privilege= SELECT_ACL;
/*
This test is necessary to make