1
0
mirror of https://github.com/MariaDB/server.git synced 2025-04-18 21:44:20 +03:00

MDEV-36357 MDEV-35452 Temporarily disable view protocol for a query in spider/bg.basic_sql

It should be re-enabled once MDEV-36357 is fixed.

Also added some documentation to spider result operations.
This commit is contained in:
Yuchen Pei 2025-04-15 15:49:25 +10:00
parent 1c9f64e54f
commit f89f8aa313
No known key found for this signature in database
GPG Key ID: 3DD1B35105743563
4 changed files with 18 additions and 7 deletions

View File

@ -4882,10 +4882,6 @@ int ha_spider::rnd_init(
}
}
pushed_pos = NULL;
/*
if (wide_handler->external_lock_type == F_WRLCK)
check_and_start_bulk_update(SPD_BU_START_BY_INDEX_OR_RND_INIT);
*/
rnd_scan_and_first = scan;
if (
scan &&

View File

@ -1039,8 +1039,11 @@ if ($USE_CHILD_GROUP2)
}
}
--connection master_1
# MDEV-36357
--disable_view_protocol
SELECT a.a, a.b, date_format(a.c, '%Y-%m-%d %H:%i:%s') FROM tb_l a WHERE
EXISTS (SELECT * FROM ta_l b WHERE b.b = a.b) ORDER BY a.a;
--enable_view_protocol
if ($USE_CHILD_GROUP2)
{
if (!$OUTPUT_CHILD_GROUP2)

View File

@ -3553,6 +3553,10 @@ int spider_db_store_result(
db_conn = conn->db_conn;
if (!result_list->current)
{
/*
Point ->current and ->bgs_current to ->first (create ->first
if needed)
*/
if (!result_list->first)
{
if (!(result_list->first = (SPIDER_RESULT *)
@ -3577,13 +3581,17 @@ int spider_db_store_result(
}
result_list->bgs_current = result_list->current;
current = (SPIDER_RESULT*) result_list->current;
} else {
} else { /* result_list->current != NULL */
if (
#ifndef WITHOUT_SPIDER_BG_SEARCH
result_list->bgs_phase > 0 ||
#endif
result_list->quick_phase > 0
) {
/*
Advance bgs_current to the next result. Create a new result
if needed
*/
if (result_list->bgs_current == result_list->last)
{
if (!(result_list->last = (SPIDER_RESULT *)
@ -3628,6 +3636,10 @@ int spider_db_store_result(
}
current = (SPIDER_RESULT*) result_list->bgs_current;
} else {
/*
Advance current to the next result. Create a new result if
needed
*/
if (result_list->current == result_list->last)
{
if (!(result_list->last = (SPIDER_RESULT *)

View File

@ -1731,7 +1731,7 @@ typedef struct st_spider_result
st_spider_result *next;
SPIDER_POSITION *first_position; /* for quick mode */
int pos_page_size; /* for quick mode */
longlong record_num;
longlong record_num; /* number of rows */
bool finish_flg;
bool use_position;
bool first_pos_use_position;
@ -1783,7 +1783,7 @@ typedef struct st_spider_result_list
bool sorted;
bool desc_flg;
longlong current_row_num;
longlong record_num;
longlong record_num; /* number of rows */
bool finish_flg;
longlong limit_num;
longlong internal_offset;