Commit affdd79c authored by Oleksandr Byelkin's avatar Oleksandr Byelkin

Merge branch '10.1' into 10.2

parents e6a808be 701f0b8e
...@@ -7495,7 +7495,8 @@ SEL_TREE *Item_bool_func::get_full_func_mm_tree(RANGE_OPT_PARAM *param, ...@@ -7495,7 +7495,8 @@ SEL_TREE *Item_bool_func::get_full_func_mm_tree(RANGE_OPT_PARAM *param,
param->current_table); param->current_table);
#ifdef HAVE_SPATIAL #ifdef HAVE_SPATIAL
Field::geometry_type sav_geom_type; Field::geometry_type sav_geom_type;
if (field_item->field->type() == MYSQL_TYPE_GEOMETRY) const bool geometry= field_item->field->type() == MYSQL_TYPE_GEOMETRY;
if (geometry)
{ {
sav_geom_type= ((Field_geom*) field_item->field)->geom_type; sav_geom_type= ((Field_geom*) field_item->field)->geom_type;
/* We have to be able to store all sorts of spatial features here */ /* We have to be able to store all sorts of spatial features here */
...@@ -7530,7 +7531,7 @@ SEL_TREE *Item_bool_func::get_full_func_mm_tree(RANGE_OPT_PARAM *param, ...@@ -7530,7 +7531,7 @@ SEL_TREE *Item_bool_func::get_full_func_mm_tree(RANGE_OPT_PARAM *param,
} }
#ifdef HAVE_SPATIAL #ifdef HAVE_SPATIAL
if (field_item->field->type() == MYSQL_TYPE_GEOMETRY) if (geometry)
{ {
((Field_geom*) field_item->field)->geom_type= sav_geom_type; ((Field_geom*) field_item->field)->geom_type= sav_geom_type;
} }
......
...@@ -3460,7 +3460,8 @@ int acl_set_default_role(THD *thd, const char *host, const char *user, ...@@ -3460,7 +3460,8 @@ int acl_set_default_role(THD *thd, const char *host, const char *user,
ulong query_length= 0; ulong query_length= 0;
bool clear_role= FALSE; bool clear_role= FALSE;
char buff[512]; char buff[512];
enum_binlog_format save_binlog_format; enum_binlog_format save_binlog_format=
thd->get_current_stmt_binlog_format();
const CSET_STRING query_save __attribute__((unused)) = thd->query_string; const CSET_STRING query_save __attribute__((unused)) = thd->query_string;
DBUG_ENTER("acl_set_default_role"); DBUG_ENTER("acl_set_default_role");
...@@ -3500,6 +3501,7 @@ int acl_set_default_role(THD *thd, const char *host, const char *user, ...@@ -3500,6 +3501,7 @@ int acl_set_default_role(THD *thd, const char *host, const char *user,
if (WSREP(thd) && !IF_WSREP(thd->wsrep_applier, 0)) if (WSREP(thd) && !IF_WSREP(thd->wsrep_applier, 0))
{ {
thd->set_query(buff, query_length, system_charset_info); thd->set_query(buff, query_length, system_charset_info);
// Attention!!! here is implicit goto error;
WSREP_TO_ISOLATION_BEGIN(WSREP_MYSQL_DB, (char*)"user", NULL); WSREP_TO_ISOLATION_BEGIN(WSREP_MYSQL_DB, (char*)"user", NULL);
} }
......
...@@ -3765,6 +3765,10 @@ class THD :public Statement, ...@@ -3765,6 +3765,10 @@ class THD :public Statement,
*format= (enum_binlog_format) variables.binlog_format; *format= (enum_binlog_format) variables.binlog_format;
*current_format= current_stmt_binlog_format; *current_format= current_stmt_binlog_format;
} }
inline enum_binlog_format get_current_stmt_binlog_format()
{
return current_stmt_binlog_format;
}
inline void set_binlog_format(enum_binlog_format format, inline void set_binlog_format(enum_binlog_format format,
enum_binlog_format current_format) enum_binlog_format current_format)
{ {
......
...@@ -2043,7 +2043,7 @@ int TABLE_SHARE::init_from_binary_frm_image(THD *thd, bool write, ...@@ -2043,7 +2043,7 @@ int TABLE_SHARE::init_from_binary_frm_image(THD *thd, bool write,
keyinfo= share->key_info; keyinfo= share->key_info;
uint primary_key= my_strcasecmp(system_charset_info, share->keynames.type_names[0], uint primary_key= my_strcasecmp(system_charset_info, share->keynames.type_names[0],
primary_key_name) ? MAX_KEY : 0; primary_key_name) ? MAX_KEY : 0;
KEY* key_first_info; KEY* key_first_info= NULL;
if (primary_key >= MAX_KEY && keyinfo->flags & HA_NOSAME) if (primary_key >= MAX_KEY && keyinfo->flags & HA_NOSAME)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment