Commit 9cbd53bf authored by Sergey Vojtovich's avatar Sergey Vojtovich

Merge Spider updates. Fixes

MDEV-4735 - Assertion `! is_set()' fails in Diagnostics_area::set_ok_status on
            attempt to create a temporary SPIDER table connecting to
            non-existing source
MDEV-4737 - Server crashes in spider_mysql_handler::append_match_against on
            SELECT .. MATCH .. AGAINST .. BOOLEAN MODE
MDEV-4738 - INSERT DELAYED on a SPIDER table doesn't produce
            ER_DELAYED_NOT_SUPPORTED, doesn't work like delayed, and doesn't
            honor lock_wait_timeout like normal INSERT
parents 815c607d 240e62b8
......@@ -1191,6 +1191,7 @@ THR_LOCK_DATA **ha_spider::store_lock(
lock_type = TL_READ;
if (
lock_type >= TL_WRITE_CONCURRENT_INSERT && lock_type <= TL_WRITE &&
lock_type != TL_WRITE_DELAYED &&
!thd->in_lock_tables && !thd_tablespace_op(thd)
)
lock_type = TL_WRITE_ALLOW_WRITE;
......@@ -7597,6 +7598,12 @@ FT_INFO *ha_spider::ft_init_ext(
DBUG_PRINT("info",("spider flags=%u", flags));
DBUG_PRINT("info",("spider inx=%u", inx));
DBUG_PRINT("info",("spider key=%s", key->c_ptr_safe()));
if (inx == NO_SUCH_KEY)
{
my_error(ER_FT_MATCHING_KEY_NOT_FOUND, MYF(0));
DBUG_RETURN(NULL);
}
tmp_ft_info = ft_current;
if (ft_current)
ft_current = ft_current->next;
......@@ -7611,7 +7618,7 @@ FT_INFO *ha_spider::ft_init_ext(
spider_malloc(spider_current_trx, 2, sizeof(st_spider_ft_info),
MYF(MY_WME | MY_ZEROFILL))))
{
store_error_num = HA_ERR_OUT_OF_MEM;
my_error(HA_ERR_OUT_OF_MEM, MYF(0));
DBUG_RETURN(NULL);
}
if (tmp_ft_info)
......
......@@ -4512,18 +4512,24 @@ SPIDER_SHARE *spider_get_share(
}
}
spider_get_sts(share, spider->search_link_idx, tmp_time,
if (spider_get_sts(share, spider->search_link_idx, tmp_time,
spider, sts_interval, sts_mode,
#ifdef WITH_PARTITION_STORAGE_ENGINE
sts_sync,
#endif
1, HA_STATUS_VARIABLE | HA_STATUS_CONST | HA_STATUS_AUTO);
spider_get_crd(share, spider->search_link_idx, tmp_time,
1, HA_STATUS_VARIABLE | HA_STATUS_CONST | HA_STATUS_AUTO))
{
thd->clear_error();
}
if (spider_get_crd(share, spider->search_link_idx, tmp_time,
spider, table, crd_interval, crd_mode,
#ifdef WITH_PARTITION_STORAGE_ENGINE
crd_sync,
#endif
1);
1))
{
thd->clear_error();
}
/*
if (
(*error_num = spider_get_sts(share, spider->search_link_idx, tmp_time,
......@@ -4935,18 +4941,24 @@ SPIDER_SHARE *spider_get_share(
}
}
spider_get_sts(share, spider->search_link_idx,
if (spider_get_sts(share, spider->search_link_idx,
tmp_time, spider, sts_interval, sts_mode,
#ifdef WITH_PARTITION_STORAGE_ENGINE
sts_sync,
#endif
1, HA_STATUS_VARIABLE | HA_STATUS_CONST | HA_STATUS_AUTO);
spider_get_crd(share, spider->search_link_idx,
1, HA_STATUS_VARIABLE | HA_STATUS_CONST | HA_STATUS_AUTO))
{
thd->clear_error();
}
if (spider_get_crd(share, spider->search_link_idx,
tmp_time, spider, table, crd_interval, crd_mode,
#ifdef WITH_PARTITION_STORAGE_ENGINE
crd_sync,
#endif
1);
1))
{
thd->clear_error();
}
/*
if (
(*error_num = spider_get_sts(share, spider->search_link_idx,
......
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