mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge branch '10.1' into 10.2
This commit is contained in:
@@ -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,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#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,
|
|||||||
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,
|
|||||||
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 @@ public:
|
|||||||
*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,
|
|||||||
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)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user