summaryrefslogtreecommitdiff
path: root/sql/sql_show.cc
diff options
context:
space:
mode:
authorunknown <jimw@mysql.com>2005-07-05 17:05:31 -0700
committerunknown <jimw@mysql.com>2005-07-05 17:05:31 -0700
commit8546ddd39a291a00c0e451e5d1b56f82f6293f6a (patch)
treebcfdca314460d87261617c94ea8d0c6c1daee8e3 /sql/sql_show.cc
parent6efca84f2915d54e2e7800acd033db5be18792bd (diff)
parented483fcd21349e0ac5daf77658446ae0da37bef8 (diff)
downloadmariadb-git-8546ddd39a291a00c0e451e5d1b56f82f6293f6a.tar.gz
Merge mysql.com:/home/jimw/my/mysql-5.0-6903
into mysql.com:/home/jimw/my/mysql-5.0-clean mysql-test/r/view.result: Auto merged sql/sql_show.cc: Auto merged mysql-test/r/sql_mode.result: Merge mysql-test/t/sql_mode.test: Merge
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r--sql/sql_show.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 72092db400d..8343f9ec582 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -347,6 +347,9 @@ mysqld_show_create(THD *thd, TABLE_LIST *table_list)
DBUG_PRINT("enter",("db: %s table: %s",table_list->db,
table_list->table_name));
+ /* We want to preserve the tree for views. */
+ thd->lex->view_prepare_mode= TRUE;
+
/* Only one table for now, but VIEW can involve several tables */
if (open_normal_and_derived_tables(thd, table_list))
{
@@ -1068,7 +1071,13 @@ view_store_create_info(THD *thd, TABLE_LIST *table, String *buff)
buff->append('.');
append_identifier(thd, buff, table->view_name.str, table->view_name.length);
buff->append(" AS ", 4);
- buff->append(table->query.str, table->query.length);
+
+ /*
+ We can't just use table->query, because our SQL_MODE may trigger
+ a different syntax, like when ANSI_QUOTES is defined.
+ */
+ table->view->unit.print(buff);
+
if (table->with_check != VIEW_CHECK_NONE)
{
if (table->with_check == VIEW_CHECK_LOCAL)