summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_cursor.cc13
-rw-r--r--sql/sql_yacc.yy2
2 files changed, 8 insertions, 7 deletions
diff --git a/sql/sql_cursor.cc b/sql/sql_cursor.cc
index 07be9efa6ac..fc169fe18e8 100644
--- a/sql/sql_cursor.cc
+++ b/sql/sql_cursor.cc
@@ -561,12 +561,13 @@ int Materialized_cursor::open(JOIN *join __attribute__((unused)))
if (rc == 0)
{
/*
- Now send the result set metadata to the client. We need to do it
- here, as in Select_materialize::send_fields the exact column types
- are not yet known. The new types may differ from the original ones
- sent at prepare if some of them were altered by MySQL HEAP tables
- mechanism -- used when create_tmp_field_from_item may alter the
- original column type.
+ Now send the result set metadata to the client. We need to
+ do it here, as in Select_materialize::send_fields the items
+ for column types are not yet created (send_fields requires
+ a list of items). The new types may differ from the original
+ ones sent at prepare if some of them were altered by MySQL
+ HEAP tables mechanism -- used when create_tmp_field_from_item
+ may alter the original column type.
We can't simply supply SEND_EOF flag to send_fields, because
send_fields doesn't flush the network buffer.
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 109dcd7e86a..abc440df1c5 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -9008,7 +9008,7 @@ view_user:
thd->lex->create_view_definer))
YYABORT;
}
- | CURRENT_USER optional_braces
+ | DEFINER_SYM EQ CURRENT_USER optional_braces
{
THD *thd= YYTHD;
if (!(thd->lex->create_view_definer=