summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/sql_view.cc15
-rw-r--r--vio/viossl.c4
2 files changed, 16 insertions, 3 deletions
diff --git a/sql/sql_view.cc b/sql/sql_view.cc
index a3e0f6b1e5a..82acab7129e 100644
--- a/sql/sql_view.cc
+++ b/sql/sql_view.cc
@@ -573,6 +573,19 @@ bool mysql_create_view(THD *thd, TABLE_LIST *views,
}
append_identifier(thd, &buff, views->table_name,
views->table_name_length);
+ if (lex->view_list.elements)
+ {
+ List_iterator_fast<LEX_STRING> names(lex->view_list);
+ LEX_STRING *name;
+ int i;
+
+ for (i= 0; name= names++; i++)
+ {
+ buff.append(i ? ", " : "(");
+ append_identifier(thd, &buff, name->str, name->length);
+ }
+ buff.append(')');
+ }
buff.append(STRING_WITH_LEN(" AS "));
buff.append(views->source.str, views->source.length);
@@ -1378,7 +1391,7 @@ bool mysql_drop_view(THD *thd, TABLE_LIST *views, enum_drop_mode drop_mode)
error= TRUE;
query_cache_invalidate3(thd, view, 0);
sp_cache_invalidate();
-
+ }
if (mysql_bin_log.is_open())
{
thd->clear_error();
diff --git a/vio/viossl.c b/vio/viossl.c
index e869493c604..090b837b972 100644
--- a/vio/viossl.c
+++ b/vio/viossl.c
@@ -82,7 +82,7 @@ int vio_ssl_read(Vio *vio, gptr buf, int size)
{
int r;
DBUG_ENTER("vio_ssl_read");
- DBUG_PRINT("enter", ("sd: %d, buf: 0x%p, size: %d, ssl_: 0x%p",
+ DBUG_PRINT("enter", ("sd: %d, buf: 0x%lx, size: %d, ssl_: 0x%lx",
vio->sd, buf, size, vio->ssl_arg));
r= SSL_read((SSL*) vio->ssl_arg, buf, size);
@@ -99,7 +99,7 @@ int vio_ssl_write(Vio *vio, const gptr buf, int size)
{
int r;
DBUG_ENTER("vio_ssl_write");
- DBUG_PRINT("enter", ("sd: %d, buf: 0x%p, size: %d", vio->sd, buf, size));
+ DBUG_PRINT("enter", ("sd: %d, buf: 0x%lx, size: %d", vio->sd, buf, size));
r= SSL_write((SSL*) vio->ssl_arg, buf, size);
#ifndef DBUG_OFF