1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-27256 Delete spider_use_handler and related code (3/3)

Fix indentation and format code (mostly done by clang-format-diff).
This commit is contained in:
Nayuta Yanagisawa
2022-05-10 22:26:36 +09:00
parent 57d233e2a6
commit 978eb616ca
5 changed files with 230 additions and 311 deletions

View File

@@ -482,7 +482,7 @@ error_wide_handler_alloc:
int ha_spider::close() int ha_spider::close()
{ {
int error_num = 0, roop_count; int error_num= 0, roop_count;
THD *thd = ha_thd(); THD *thd = ha_thd();
backup_error_status(); backup_error_status();
DBUG_ENTER("ha_spider::close"); DBUG_ENTER("ha_spider::close");
@@ -1253,8 +1253,7 @@ int ha_spider::index_init(
set_select_column_mode(); set_select_column_mode();
} }
if ((error_num = reset_sql_sql( if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
result_list.check_direct_order_limit = FALSE; result_list.check_direct_order_limit = FALSE;
prev_index_rnd_init = SPD_INDEX; prev_index_rnd_init = SPD_INDEX;
@@ -1324,8 +1323,7 @@ int ha_spider::index_read_map_internal(
start_key.key = key; start_key.key = key;
start_key.keypart_map = keypart_map; start_key.keypart_map = keypart_map;
start_key.flag = find_flag; start_key.flag = find_flag;
if ((error_num = reset_sql_sql( if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
if ((error_num = spider_set_conn_bg_param(this))) if ((error_num = spider_set_conn_bg_param(this)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
@@ -1457,10 +1455,8 @@ int ha_spider::index_read_map_internal(
} }
} else { } else {
ulong sql_type; ulong sql_type;
conn = conns[roop_count]; conn= conns[roop_count];
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id]; spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type)) if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type))
@@ -1688,8 +1684,7 @@ int ha_spider::index_read_last_map_internal(
start_key.key = key; start_key.key = key;
start_key.keypart_map = keypart_map; start_key.keypart_map = keypart_map;
start_key.flag = HA_READ_KEY_EXACT; start_key.flag = HA_READ_KEY_EXACT;
if ((error_num = reset_sql_sql( if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
if ((error_num = spider_set_conn_bg_param(this))) if ((error_num = spider_set_conn_bg_param(this)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
@@ -1809,10 +1804,8 @@ int ha_spider::index_read_last_map_internal(
} }
} else { } else {
ulong sql_type; ulong sql_type;
conn = conns[roop_count]; conn= conns[roop_count];
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id]; spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type)) if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type))
@@ -2077,16 +2070,14 @@ int ha_spider::index_first_internal(
pt_clone_source_handler)); pt_clone_source_handler));
pt_clone_source_handler->pt_clone_last_searcher = this; pt_clone_source_handler->pt_clone_last_searcher = this;
} }
if ( if (sql_is_empty(SPIDER_SQL_TYPE_SELECT_SQL))
sql_is_empty(SPIDER_SQL_TYPE_SELECT_SQL) {
) { /*
/* spider_db_free_one_result_for_start_next(this);
spider_db_free_one_result_for_start_next(this); */
*/
if ((error_num = spider_db_free_result(this, FALSE))) if ((error_num = spider_db_free_result(this, FALSE)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
if ((error_num = reset_sql_sql( if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
check_direct_order_limit(); check_direct_order_limit();
@@ -2209,10 +2200,8 @@ int ha_spider::index_first_internal(
} }
} else { } else {
ulong sql_type; ulong sql_type;
conn = conns[roop_count]; conn= conns[roop_count];
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id]; spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type)) if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type))
@@ -2425,16 +2414,14 @@ int ha_spider::index_last_internal(
pt_clone_source_handler)); pt_clone_source_handler));
pt_clone_source_handler->pt_clone_last_searcher = this; pt_clone_source_handler->pt_clone_last_searcher = this;
} }
if ( if (sql_is_empty(SPIDER_SQL_TYPE_SELECT_SQL))
sql_is_empty(SPIDER_SQL_TYPE_SELECT_SQL) {
) { /*
/* spider_db_free_one_result_for_start_next(this);
spider_db_free_one_result_for_start_next(this); */
*/
if ((error_num = spider_db_free_result(this, FALSE))) if ((error_num = spider_db_free_result(this, FALSE)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
if ((error_num = reset_sql_sql( if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
check_direct_order_limit(); check_direct_order_limit();
@@ -2557,10 +2544,8 @@ int ha_spider::index_last_internal(
} }
} else { } else {
ulong sql_type; ulong sql_type;
conn = conns[roop_count]; conn= conns[roop_count];
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id]; spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type)) if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type))
@@ -2827,8 +2812,7 @@ int ha_spider::read_range_first_internal(
} }
spider_db_free_one_result_for_start_next(this); spider_db_free_one_result_for_start_next(this);
check_direct_order_limit(); check_direct_order_limit();
if ((error_num = reset_sql_sql( if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
if ((error_num = spider_set_conn_bg_param(this))) if ((error_num = spider_set_conn_bg_param(this)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
@@ -2949,10 +2933,8 @@ int ha_spider::read_range_first_internal(
} }
} else { } else {
ulong sql_type; ulong sql_type;
conn = conns[roop_count]; conn= conns[roop_count];
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id]; spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type)) if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type))
@@ -3363,16 +3345,13 @@ int ha_spider::multi_range_read_next_first(
DBUG_PRINT("info",("spider result_list.finish_flg = FALSE")); DBUG_PRINT("info",("spider result_list.finish_flg = FALSE"));
result_list.finish_flg = FALSE; result_list.finish_flg = FALSE;
result_list.record_num = 0; result_list.record_num = 0;
if ((error_num = reset_sql_sql( if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
result_list.desc_flg = FALSE; result_list.desc_flg = FALSE;
result_list.sorted = mrr_is_output_sorted; result_list.sorted = mrr_is_output_sorted;
result_list.key_info = &table->key_info[active_index]; result_list.key_info = &table->key_info[active_index];
if ( if (multi_range_num == 1 || result_list.multi_split_read <= 1)
multi_range_num == 1 || {
result_list.multi_split_read <= 1
) {
if (wide_handler->keyread) if (wide_handler->keyread)
result_list.keyread = TRUE; result_list.keyread = TRUE;
else else
@@ -3489,10 +3468,8 @@ int ha_spider::multi_range_read_next_first(
} }
} else { } else {
ulong sql_type; ulong sql_type;
conn = conns[roop_count]; conn= conns[roop_count];
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id]; spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type)) if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type))
@@ -4119,10 +4096,8 @@ int ha_spider::multi_range_read_next_first(
} }
} else { } else {
ulong sql_type; ulong sql_type;
conn = conns[roop_count]; conn= conns[roop_count];
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL | SPIDER_SQL_TYPE_TMP_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL | SPIDER_SQL_TYPE_TMP_SQL;
}
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id]; spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type)) if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type))
@@ -4396,8 +4371,7 @@ int ha_spider::multi_range_read_next_first(
DBUG_RETURN(check_error_mode_eof(0)); DBUG_RETURN(check_error_mode_eof(0));
} }
multi_range_cnt = 0; multi_range_cnt = 0;
if ((error_num = reset_sql_sql( if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} while (!error_num); } while (!error_num);
} }
@@ -4470,10 +4444,8 @@ int ha_spider::multi_range_read_next_next(
pt_clone_source_handler)); pt_clone_source_handler));
pt_clone_source_handler->pt_clone_last_searcher = this; pt_clone_source_handler->pt_clone_last_searcher = this;
} }
if ( if (multi_range_num == 1 || result_list.multi_split_read <= 1)
multi_range_num == 1 || {
result_list.multi_split_read <= 1
) {
if (!(error_num = spider_db_seek_next(table->record[0], this, if (!(error_num = spider_db_seek_next(table->record[0], this,
search_link_idx, table))) search_link_idx, table)))
{ {
@@ -4607,10 +4579,8 @@ int ha_spider::multi_range_read_next_next(
} }
} else { } else {
ulong sql_type; ulong sql_type;
conn = conns[roop_count]; conn= conns[roop_count];
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id]; spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type)) if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type))
@@ -4882,8 +4852,7 @@ int ha_spider::multi_range_read_next_next(
} }
result_list.record_num = 0; result_list.record_num = 0;
if ((error_num = reset_sql_sql( if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
bool tmp_high_priority = wide_handler->high_priority; bool tmp_high_priority = wide_handler->high_priority;
@@ -5231,10 +5200,8 @@ int ha_spider::multi_range_read_next_next(
} }
} else { } else {
ulong sql_type; ulong sql_type;
conn = conns[roop_count]; conn= conns[roop_count];
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL | SPIDER_SQL_TYPE_TMP_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL | SPIDER_SQL_TYPE_TMP_SQL;
}
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id]; spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type)) if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type))
@@ -5506,8 +5473,7 @@ int ha_spider::multi_range_read_next_next(
DBUG_RETURN(check_error_mode_eof(0)); DBUG_RETURN(check_error_mode_eof(0));
} }
multi_range_cnt = 0; multi_range_cnt = 0;
if ((error_num = reset_sql_sql( if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} while (!error_num); } while (!error_num);
} }
@@ -5612,8 +5578,7 @@ int ha_spider::rnd_init(
result_list.keyread = FALSE; result_list.keyread = FALSE;
init_rnd_handler = FALSE; init_rnd_handler = FALSE;
if ((error_num = reset_sql_sql( if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
result_list.check_direct_order_limit = FALSE; result_list.check_direct_order_limit = FALSE;
} }
@@ -5815,9 +5780,7 @@ int ha_spider::rnd_next_internal(
} else { } else {
SPIDER_CONN *conn = conns[roop_count]; SPIDER_CONN *conn = conns[roop_count];
ulong sql_type; ulong sql_type;
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id]; spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type)) if (dbton_hdl->need_lock_before_set_sql_for_exec(sql_type))
@@ -8342,9 +8305,8 @@ int ha_spider::direct_update_rows(
table_share->db.str, table_share->table_name.str); table_share->db.str, table_share->table_name.str);
DBUG_RETURN(ER_SPIDER_READ_ONLY_NUM); DBUG_RETURN(ER_SPIDER_READ_ONLY_NUM);
} }
if ( if ((error_num=
(error_num = spider_db_direct_update(this, table, update_rows, found_rows)) spider_db_direct_update(this, table, update_rows, found_rows)))
)
DBUG_RETURN(check_error_mode(error_num)); DBUG_RETURN(check_error_mode(error_num));
DBUG_RETURN(0); DBUG_RETURN(0);
@@ -8486,9 +8448,7 @@ int ha_spider::direct_delete_rows(
table_share->db.str, table_share->table_name.str); table_share->db.str, table_share->table_name.str);
DBUG_RETURN(ER_SPIDER_READ_ONLY_NUM); DBUG_RETURN(ER_SPIDER_READ_ONLY_NUM);
} }
if ( if ((error_num= spider_db_direct_delete(this, table, delete_rows)))
(error_num = spider_db_direct_delete(this, table, delete_rows))
)
DBUG_RETURN(check_error_mode(error_num)); DBUG_RETURN(check_error_mode(error_num));
DBUG_RETURN(0); DBUG_RETURN(0);

View File

@@ -2516,9 +2516,7 @@ void *spider_bg_conn_action(
!result_list->bgs_current->result !result_list->bgs_current->result
) { ) {
ulong sql_type; ulong sql_type;
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL | SPIDER_SQL_TYPE_TMP_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL | SPIDER_SQL_TYPE_TMP_SQL;
}
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
if (dbton_handler->need_lock_before_set_sql_for_exec(sql_type)) if (dbton_handler->need_lock_before_set_sql_for_exec(sql_type))
{ {

View File

@@ -1688,10 +1688,8 @@ int spider_db_append_key_where_internal(
) { ) {
if (error_num > 0) if (error_num > 0)
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
if ( if (!set_order && start_key->flag != HA_READ_KEY_EXACT)
!set_order && {
start_key->flag != HA_READ_KEY_EXACT
) {
result_list->key_order = key_count; result_list->key_order = key_count;
set_order = TRUE; set_order = TRUE;
} }
@@ -1712,106 +1710,98 @@ int spider_db_append_key_where_internal(
} }
} else { } else {
DBUG_PRINT("info", ("spider start_key->flag=%d", start_key->flag)); DBUG_PRINT("info", ("spider start_key->flag=%d", start_key->flag));
const char *op_str;
uint32 op_len;
switch (start_key->flag) switch (start_key->flag)
{ {
case HA_READ_PREFIX_LAST: case HA_READ_PREFIX_LAST:
result_list->desc_flg = TRUE; result_list->desc_flg = TRUE;
/* fall through */ /* fall through */
case HA_READ_KEY_EXACT: case HA_READ_KEY_EXACT:
{ if (str->reserve(store_length + key_name_length +
if (str->reserve(store_length + key_name_length + /* SPIDER_SQL_NAME_QUOTE_LEN */ 2 +
/* SPIDER_SQL_NAME_QUOTE_LEN */ 2 + SPIDER_SQL_EQUAL_LEN))
SPIDER_SQL_EQUAL_LEN)) DBUG_RETURN(HA_ERR_OUT_OF_MEM);
DBUG_RETURN(HA_ERR_OUT_OF_MEM); dbton_share->append_column_name(str, field->field_index);
dbton_share->append_column_name(str, field->field_index); str->q_append(SPIDER_SQL_EQUAL_STR, SPIDER_SQL_EQUAL_LEN);
str->q_append(SPIDER_SQL_EQUAL_STR, SPIDER_SQL_EQUAL_LEN); if (spider_dbton[dbton_id].db_util->append_column_value(
if (spider_dbton[dbton_id].db_util-> spider, str, field, ptr, share->access_charset))
append_column_value(spider, str, field, ptr, DBUG_RETURN(HA_ERR_OUT_OF_MEM);
share->access_charset))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
}
break; break;
case HA_READ_AFTER_KEY: case HA_READ_AFTER_KEY:
if (start_key_part_map == 1)
{ {
const char* op_str; op_str= rev ? SPIDER_SQL_LT_STR : SPIDER_SQL_GT_STR;
uint32 op_len; op_len= rev ? SPIDER_SQL_LT_LEN : SPIDER_SQL_GT_LEN;
if (start_key_part_map == 1) { }
op_str = rev ? SPIDER_SQL_LT_STR : SPIDER_SQL_GT_STR; else
op_len = rev ? SPIDER_SQL_LT_LEN : SPIDER_SQL_GT_LEN; {
} else { op_str= rev ? SPIDER_SQL_LTEQUAL_STR : SPIDER_SQL_GTEQUAL_STR;
op_str = rev ? SPIDER_SQL_LTEQUAL_STR : SPIDER_SQL_GTEQUAL_STR; op_len= rev ? SPIDER_SQL_LTEQUAL_LEN : SPIDER_SQL_GTEQUAL_LEN;
op_len = rev ? SPIDER_SQL_LTEQUAL_LEN : SPIDER_SQL_GTEQUAL_LEN; }
} if (str->reserve(store_length + key_name_length +
if (str->reserve(store_length + key_name_length + /* SPIDER_SQL_NAME_QUOTE_LEN */ 2 + op_len))
/* SPIDER_SQL_NAME_QUOTE_LEN */ 2 + op_len)) DBUG_RETURN(HA_ERR_OUT_OF_MEM);
DBUG_RETURN(HA_ERR_OUT_OF_MEM); dbton_share->append_column_name(str, field->field_index);
dbton_share->append_column_name(str, field->field_index); str->q_append(op_str, op_len);
str->q_append(op_str, op_len); if (spider_dbton[dbton_id].db_util->append_column_value(
if (spider_dbton[dbton_id].db_util-> spider, str, field, ptr, share->access_charset))
append_column_value(spider, str, field, ptr, DBUG_RETURN(HA_ERR_OUT_OF_MEM);
share->access_charset)) if (use_both)
DBUG_RETURN(HA_ERR_OUT_OF_MEM); start_key_part_map= 0;
if (use_both) if (!set_order)
start_key_part_map = 0; {
if (!set_order) result_list->key_order= key_count;
{ set_order= TRUE;
result_list->key_order = key_count;
set_order = TRUE;
}
} }
break; break;
case HA_READ_BEFORE_KEY: case HA_READ_BEFORE_KEY:
result_list->desc_flg = TRUE; result_list->desc_flg = TRUE;
if (start_key_part_map == 1)
{ {
const char* op_str; op_str= rev ? SPIDER_SQL_GT_STR : SPIDER_SQL_LT_STR;
uint32 op_len; op_len= rev ? SPIDER_SQL_GT_LEN : SPIDER_SQL_LT_LEN;
if (start_key_part_map == 1) { }
op_str = rev ? SPIDER_SQL_GT_STR : SPIDER_SQL_LT_STR; else
op_len = rev ? SPIDER_SQL_GT_LEN : SPIDER_SQL_LT_LEN; {
} else { op_str= rev ? SPIDER_SQL_GTEQUAL_STR : SPIDER_SQL_LTEQUAL_STR;
op_str = rev ? SPIDER_SQL_GTEQUAL_STR : SPIDER_SQL_LTEQUAL_STR; op_len= rev ? SPIDER_SQL_GTEQUAL_LEN : SPIDER_SQL_LTEQUAL_LEN;
op_len = rev ? SPIDER_SQL_GTEQUAL_LEN : SPIDER_SQL_LTEQUAL_LEN; }
} if (str->reserve(store_length + key_name_length +
if (str->reserve(store_length + key_name_length + /* SPIDER_SQL_NAME_QUOTE_LEN */ 2 + op_len))
/* SPIDER_SQL_NAME_QUOTE_LEN */ 2 + op_len)) DBUG_RETURN(HA_ERR_OUT_OF_MEM);
DBUG_RETURN(HA_ERR_OUT_OF_MEM); dbton_share->append_column_name(str, field->field_index);
dbton_share->append_column_name(str, field->field_index); str->q_append(op_str, op_len);
str->q_append(op_str, op_len); if (spider_dbton[dbton_id].db_util->append_column_value(
if (spider_dbton[dbton_id].db_util-> spider, str, field, ptr, share->access_charset))
append_column_value(spider, str, field, ptr, DBUG_RETURN(HA_ERR_OUT_OF_MEM);
share->access_charset)) if (use_both)
DBUG_RETURN(HA_ERR_OUT_OF_MEM); start_key_part_map= 0;
if (use_both) if (!set_order)
start_key_part_map = 0; {
if (!set_order) result_list->key_order= key_count;
{ set_order= TRUE;
result_list->key_order = key_count;
set_order = TRUE;
}
} }
break; break;
case HA_READ_KEY_OR_PREV: case HA_READ_KEY_OR_PREV:
case HA_READ_PREFIX_LAST_OR_PREV: case HA_READ_PREFIX_LAST_OR_PREV:
result_list->desc_flg = TRUE; result_list->desc_flg = TRUE;
if (str->reserve(store_length + key_name_length +
/* SPIDER_SQL_NAME_QUOTE_LEN */ 2 +
SPIDER_SQL_LTEQUAL_LEN))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
dbton_share->append_column_name(str, field->field_index);
if (rev)
str->q_append(SPIDER_SQL_GTEQUAL_STR, SPIDER_SQL_GTEQUAL_LEN);
else
str->q_append(SPIDER_SQL_LTEQUAL_STR, SPIDER_SQL_LTEQUAL_LEN);
if (spider_dbton[dbton_id].db_util->append_column_value(
spider, str, field, ptr, share->access_charset))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
if (!set_order)
{ {
if (str->reserve(store_length + key_name_length + result_list->key_order= key_count;
/* SPIDER_SQL_NAME_QUOTE_LEN */ 2 + set_order= TRUE;
SPIDER_SQL_LTEQUAL_LEN))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
dbton_share->append_column_name(str, field->field_index);
if (rev)
str->q_append(SPIDER_SQL_GTEQUAL_STR, SPIDER_SQL_GTEQUAL_LEN);
else
str->q_append(SPIDER_SQL_LTEQUAL_STR, SPIDER_SQL_LTEQUAL_LEN);
if (spider_dbton[dbton_id].db_util->
append_column_value(spider, str, field, ptr,
share->access_charset))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
if (!set_order)
{
result_list->key_order = key_count;
set_order = TRUE;
}
} }
break; break;
case HA_READ_MBR_CONTAIN: case HA_READ_MBR_CONTAIN:
@@ -1904,35 +1894,29 @@ int spider_db_append_key_where_internal(
SPIDER_SQL_CLOSE_PAREN_LEN); SPIDER_SQL_CLOSE_PAREN_LEN);
break; break;
default: default:
if (str->reserve(store_length + key_name_length +
/* SPIDER_SQL_NAME_QUOTE_LEN */ 2 +
SPIDER_SQL_GTEQUAL_LEN))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
dbton_share->append_column_name(str, field->field_index);
if (rev)
str->q_append(SPIDER_SQL_LTEQUAL_STR, SPIDER_SQL_LTEQUAL_LEN);
else
str->q_append(SPIDER_SQL_GTEQUAL_STR, SPIDER_SQL_GTEQUAL_LEN);
if (spider_dbton[dbton_id].db_util->append_column_value(
spider, str, field, ptr, share->access_charset))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
if (!set_order)
{ {
if (str->reserve(store_length + key_name_length + result_list->key_order= key_count;
/* SPIDER_SQL_NAME_QUOTE_LEN */ 2 + set_order= TRUE;
SPIDER_SQL_GTEQUAL_LEN))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
dbton_share->append_column_name(str, field->field_index);
if (rev)
str->q_append(SPIDER_SQL_LTEQUAL_STR, SPIDER_SQL_LTEQUAL_LEN);
else
str->q_append(SPIDER_SQL_GTEQUAL_STR, SPIDER_SQL_GTEQUAL_LEN);
if (spider_dbton[dbton_id].db_util->
append_column_value(spider, str, field, ptr,
share->access_charset))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
if (!set_order)
{
result_list->key_order = key_count;
set_order = TRUE;
}
} }
break; break;
} }
} }
{ if (str->reserve(SPIDER_SQL_AND_LEN))
if (str->reserve(SPIDER_SQL_AND_LEN)) DBUG_RETURN(HA_ERR_OUT_OF_MEM);
DBUG_RETURN(HA_ERR_OUT_OF_MEM); str->q_append(SPIDER_SQL_AND_STR, SPIDER_SQL_AND_LEN);
str->q_append(SPIDER_SQL_AND_STR,
SPIDER_SQL_AND_LEN);
}
} }
if ( if (
@@ -1946,81 +1930,73 @@ int spider_db_append_key_where_internal(
{ {
if (error_num > 0) if (error_num > 0)
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
if ( if (!set_order && end_key->flag != HA_READ_KEY_EXACT)
!set_order && {
end_key->flag != HA_READ_KEY_EXACT
) {
result_list->key_order = key_count; result_list->key_order = key_count;
set_order = TRUE; set_order = TRUE;
} }
} else if (key_eq) } else if (key_eq)
{ {
DBUG_PRINT("info", ("spider key_eq")); DBUG_PRINT("info", ("spider key_eq"));
{ if (str->reserve(store_length + key_name_length +
if (str->reserve(store_length + key_name_length + /* SPIDER_SQL_NAME_QUOTE_LEN */ 2 +
/* SPIDER_SQL_NAME_QUOTE_LEN */ 2 + SPIDER_SQL_EQUAL_LEN + SPIDER_SQL_AND_LEN))
SPIDER_SQL_EQUAL_LEN + SPIDER_SQL_AND_LEN)) DBUG_RETURN(HA_ERR_OUT_OF_MEM);
DBUG_RETURN(HA_ERR_OUT_OF_MEM); dbton_share->append_column_name(str, field->field_index);
dbton_share->append_column_name(str, field->field_index); str->q_append(SPIDER_SQL_EQUAL_STR, SPIDER_SQL_EQUAL_LEN);
str->q_append(SPIDER_SQL_EQUAL_STR, SPIDER_SQL_EQUAL_LEN); if (spider_dbton[dbton_id].db_util->append_column_value(
if (spider_dbton[dbton_id].db_util-> spider, str, field, ptr, share->access_charset))
append_column_value(spider, str, field, ptr, DBUG_RETURN(HA_ERR_OUT_OF_MEM);
share->access_charset))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
}
} else { } else {
DBUG_PRINT("info", ("spider end_key->flag=%d", end_key->flag)); DBUG_PRINT("info", ("spider end_key->flag=%d", end_key->flag));
switch (end_key->flag) switch (end_key->flag)
{ {
case HA_READ_BEFORE_KEY: case HA_READ_BEFORE_KEY:
const char *op_str;
uint32 op_len;
if (end_key_part_map == 1)
{ {
const char* op_str; op_str= rev ? SPIDER_SQL_GT_STR : SPIDER_SQL_LT_STR;
uint32 op_len; op_len= rev ? SPIDER_SQL_GT_LEN : SPIDER_SQL_LT_LEN;
if (end_key_part_map == 1) { }
op_str = rev ? SPIDER_SQL_GT_STR : SPIDER_SQL_LT_STR; else
op_len = rev ? SPIDER_SQL_GT_LEN : SPIDER_SQL_LT_LEN; {
} else { op_str= rev ? SPIDER_SQL_GTEQUAL_STR : SPIDER_SQL_LTEQUAL_STR;
op_str = rev ? SPIDER_SQL_GTEQUAL_STR : SPIDER_SQL_LTEQUAL_STR; op_len= rev ? SPIDER_SQL_GTEQUAL_LEN : SPIDER_SQL_LTEQUAL_LEN;
op_len = rev ? SPIDER_SQL_GTEQUAL_LEN : SPIDER_SQL_LTEQUAL_LEN; }
} if (str->reserve(store_length + key_name_length +
if (str->reserve(store_length + key_name_length + /* SPIDER_SQL_NAME_QUOTE_LEN */ 2 + op_len))
/* SPIDER_SQL_NAME_QUOTE_LEN */ 2 + op_len)) DBUG_RETURN(HA_ERR_OUT_OF_MEM);
DBUG_RETURN(HA_ERR_OUT_OF_MEM); dbton_share->append_column_name(str, field->field_index);
dbton_share->append_column_name(str, field->field_index); str->q_append(op_str, op_len);
str->q_append(op_str, op_len); if (spider_dbton[dbton_id].db_util->append_column_value(
if (spider_dbton[dbton_id].db_util-> spider, str, field, ptr, share->access_charset))
append_column_value(spider, str, field, ptr, DBUG_RETURN(HA_ERR_OUT_OF_MEM);
share->access_charset)) if (use_both)
DBUG_RETURN(HA_ERR_OUT_OF_MEM); end_key_part_map= 0;
if (use_both) if (!set_order)
end_key_part_map = 0; {
if (!set_order) result_list->key_order= key_count;
{ set_order= TRUE;
result_list->key_order = key_count;
set_order = TRUE;
}
} }
break; break;
default: default:
if (str->reserve(store_length + key_name_length +
/* SPIDER_SQL_NAME_QUOTE_LEN */ 2 +
SPIDER_SQL_LTEQUAL_LEN))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
dbton_share->append_column_name(str, field->field_index);
if (rev)
str->q_append(SPIDER_SQL_GTEQUAL_STR, SPIDER_SQL_GTEQUAL_LEN);
else
str->q_append(SPIDER_SQL_LTEQUAL_STR, SPIDER_SQL_LTEQUAL_LEN);
if (spider_dbton[dbton_id].db_util->append_column_value(
spider, str, field, ptr, share->access_charset))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
if (!set_order)
{ {
if (str->reserve(store_length + key_name_length + result_list->key_order= key_count;
/* SPIDER_SQL_NAME_QUOTE_LEN */ 2 + set_order= TRUE;
SPIDER_SQL_LTEQUAL_LEN))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
dbton_share->append_column_name(str, field->field_index);
if (rev)
str->q_append(SPIDER_SQL_GTEQUAL_STR, SPIDER_SQL_GTEQUAL_LEN);
else
str->q_append(SPIDER_SQL_LTEQUAL_STR, SPIDER_SQL_LTEQUAL_LEN);
if (spider_dbton[dbton_id].db_util->
append_column_value(spider, str, field, ptr,
share->access_charset))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
if (!set_order)
{
result_list->key_order = key_count;
set_order = TRUE;
}
} }
break; break;
} }
@@ -2028,8 +2004,7 @@ int spider_db_append_key_where_internal(
{ {
if (str->reserve(SPIDER_SQL_AND_LEN)) if (str->reserve(SPIDER_SQL_AND_LEN))
DBUG_RETURN(HA_ERR_OUT_OF_MEM); DBUG_RETURN(HA_ERR_OUT_OF_MEM);
str->q_append(SPIDER_SQL_AND_STR, str->q_append(SPIDER_SQL_AND_STR, SPIDER_SQL_AND_LEN);
SPIDER_SQL_AND_LEN);
} }
} }
if (use_both && (!start_key_part_map || !end_key_part_map)) if (use_both && (!start_key_part_map || !end_key_part_map))
@@ -4265,10 +4240,8 @@ int spider_db_seek_next(
SPIDER_LINK_STATUS_RECOVERY) SPIDER_LINK_STATUS_RECOVERY)
) { ) {
ulong sql_type; ulong sql_type;
conn = spider->conns[roop_count]; conn= spider->conns[roop_count];
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
spider_db_handler *dbton_handler = spider_db_handler *dbton_handler =
spider->dbton_handler[conn->dbton_id]; spider->dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
@@ -4531,9 +4504,7 @@ int spider_db_seek_last(
SPIDER_LINK_STATUS_RECOVERY) SPIDER_LINK_STATUS_RECOVERY)
) { ) {
ulong sql_type; ulong sql_type;
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
conn = spider->conns[roop_count]; conn = spider->conns[roop_count];
spider_db_handler *dbton_handler = spider->dbton_handler[conn->dbton_id]; spider_db_handler *dbton_handler = spider->dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
@@ -4739,9 +4710,7 @@ int spider_db_seek_last(
SPIDER_LINK_STATUS_RECOVERY) SPIDER_LINK_STATUS_RECOVERY)
) { ) {
ulong sql_type; ulong sql_type;
{ sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
conn = spider->conns[roop_count]; conn = spider->conns[roop_count];
spider_db_handler *dbton_handler = spider->dbton_handler[conn->dbton_id]; spider_db_handler *dbton_handler = spider->dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex); pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
@@ -5480,7 +5449,7 @@ int spider_db_bulk_insert(
if ((error_num = spider->append_insert_values_sql_part( if ((error_num = spider->append_insert_values_sql_part(
SPIDER_SQL_TYPE_INSERT_SQL))) SPIDER_SQL_TYPE_INSERT_SQL)))
{ {
spider->set_insert_to_pos_sql(SPIDER_SQL_TYPE_INSERT_SQL); spider->set_insert_to_pos_sql(SPIDER_SQL_TYPE_INSERT_SQL);
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
} }
@@ -5492,7 +5461,7 @@ int spider_db_bulk_insert(
if ((error_num = spider->append_insert_terminator_sql_part( if ((error_num = spider->append_insert_terminator_sql_part(
SPIDER_SQL_TYPE_INSERT_SQL))) SPIDER_SQL_TYPE_INSERT_SQL)))
{ {
spider->set_insert_to_pos_sql(SPIDER_SQL_TYPE_INSERT_SQL); spider->set_insert_to_pos_sql(SPIDER_SQL_TYPE_INSERT_SQL);
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
bool insert_info = FALSE; bool insert_info = FALSE;
@@ -5519,7 +5488,7 @@ int spider_db_bulk_insert(
if ((error_num = dbton_handler->set_sql_for_exec(sql_type, if ((error_num = dbton_handler->set_sql_for_exec(sql_type,
roop_count2))) roop_count2)))
{ {
spider->set_insert_to_pos_sql(SPIDER_SQL_TYPE_INSERT_SQL); spider->set_insert_to_pos_sql(SPIDER_SQL_TYPE_INSERT_SQL);
if (dbton_handler->need_lock_before_set_sql_for_exec(sql_type)) if (dbton_handler->need_lock_before_set_sql_for_exec(sql_type))
{ {
SPIDER_CLEAR_FILE_POS(&conn->mta_conn_mutex_file_pos); SPIDER_CLEAR_FILE_POS(&conn->mta_conn_mutex_file_pos);
@@ -5539,7 +5508,7 @@ int spider_db_bulk_insert(
conn->mta_conn_mutex_unlock_later = TRUE; conn->mta_conn_mutex_unlock_later = TRUE;
if ((error_num = spider_db_set_names(spider, conn, roop_count2))) if ((error_num = spider_db_set_names(spider, conn, roop_count2)))
{ {
spider->set_insert_to_pos_sql(SPIDER_SQL_TYPE_INSERT_SQL); spider->set_insert_to_pos_sql(SPIDER_SQL_TYPE_INSERT_SQL);
DBUG_ASSERT(conn->mta_conn_mutex_lock_already); DBUG_ASSERT(conn->mta_conn_mutex_lock_already);
DBUG_ASSERT(conn->mta_conn_mutex_unlock_later); DBUG_ASSERT(conn->mta_conn_mutex_unlock_later);
conn->mta_conn_mutex_lock_already = FALSE; conn->mta_conn_mutex_lock_already = FALSE;
@@ -5572,13 +5541,10 @@ int spider_db_bulk_insert(
spider_conn_set_timeout_from_share(conn, roop_count2, spider_conn_set_timeout_from_share(conn, roop_count2,
spider->wide_handler->trx->thd, spider->wide_handler->trx->thd,
share); share);
if (dbton_handler->execute_sql( if (dbton_handler->execute_sql(sql_type, conn, -1,
sql_type, &spider->need_mons[roop_count2]))
conn, {
-1, spider->set_insert_to_pos_sql(SPIDER_SQL_TYPE_INSERT_SQL);
&spider->need_mons[roop_count2])
) {
spider->set_insert_to_pos_sql(SPIDER_SQL_TYPE_INSERT_SQL);
error_num = spider_db_errorno(conn); error_num = spider_db_errorno(conn);
if (error_num == HA_ERR_FOUND_DUPP_KEY) if (error_num == HA_ERR_FOUND_DUPP_KEY)
{ {
@@ -5642,8 +5608,8 @@ int spider_db_bulk_insert(
DBUG_ASSERT(!conn->mta_conn_mutex_lock_already); DBUG_ASSERT(!conn->mta_conn_mutex_lock_already);
DBUG_ASSERT(!conn->mta_conn_mutex_unlock_later); DBUG_ASSERT(!conn->mta_conn_mutex_unlock_later);
conn->mta_conn_mutex_lock_already = TRUE; conn->mta_conn_mutex_lock_already = TRUE;
conn->mta_conn_mutex_unlock_later = TRUE; conn->mta_conn_mutex_unlock_later= TRUE;
spider->set_insert_to_pos_sql(SPIDER_SQL_TYPE_INSERT_SQL); spider->set_insert_to_pos_sql(SPIDER_SQL_TYPE_INSERT_SQL);
if (table->next_number_field && if (table->next_number_field &&
( (
!table->auto_increment_field_not_null || !table->auto_increment_field_not_null ||
@@ -6252,15 +6218,13 @@ int spider_db_direct_update(
if (!spider->do_direct_update) if (!spider->do_direct_update)
{ {
if ( if ((error_num= spider->append_update_set_sql_part()))
(error_num = spider->append_update_set_sql_part()) {
) {
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
} else { } else {
if ( if ((error_num= spider->append_direct_update_set_sql_part()))
(error_num = spider->append_direct_update_set_sql_part()) {
) {
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
} }

View File

@@ -9757,9 +9757,8 @@ int spider_mbase_handler::append_direct_update_set(
spider_string *str spider_string *str
) { ) {
DBUG_ENTER("spider_mbase_handler::append_direct_update_set"); DBUG_ENTER("spider_mbase_handler::append_direct_update_set");
if ( if (spider->wide_handler->direct_update_fields)
spider->wide_handler->direct_update_fields {
) {
if (str->reserve(SPIDER_SQL_SET_LEN)) if (str->reserve(SPIDER_SQL_SET_LEN))
DBUG_RETURN(HA_ERR_OUT_OF_MEM); DBUG_RETURN(HA_ERR_OUT_OF_MEM);
str->q_append(SPIDER_SQL_SET_STR, SPIDER_SQL_SET_LEN); str->q_append(SPIDER_SQL_SET_STR, SPIDER_SQL_SET_LEN);
@@ -10882,12 +10881,11 @@ int spider_mbase_handler::append_where_terminator(
) { ) {
SPIDER_RESULT_LIST *result_list = &spider->result_list; SPIDER_RESULT_LIST *result_list = &spider->result_list;
DBUG_ENTER("spider_mbase_handler::append_where_terminator"); DBUG_ENTER("spider_mbase_handler::append_where_terminator");
DBUG_PRINT("info",("spider this=%p", this)); DBUG_PRINT("info", ("spider this=%p", this));
{
str->length(str->length() - SPIDER_SQL_AND_LEN); str->length(str->length() - SPIDER_SQL_AND_LEN);
if (!set_order) if (!set_order)
result_list->key_order = key_count; result_list->key_order= key_count;
}
DBUG_RETURN(0); DBUG_RETURN(0);
} }
@@ -12447,19 +12445,18 @@ int spider_mbase_handler::append_from(
DBUG_ENTER("spider_mbase_handler::append_from"); DBUG_ENTER("spider_mbase_handler::append_from");
DBUG_PRINT("info",("spider this=%p", this)); DBUG_PRINT("info",("spider this=%p", this));
DBUG_PRINT("info",("spider link_idx=%d", link_idx)); DBUG_PRINT("info",("spider link_idx=%d", link_idx));
int error_num = 0; int error_num= 0;
if (str->reserve(SPIDER_SQL_FROM_LEN + mysql_share->db_nm_max_length +
SPIDER_SQL_DOT_LEN + mysql_share->table_nm_max_length +
/* SPIDER_SQL_NAME_QUOTE_LEN */ 4 +
SPIDER_SQL_OPEN_PAREN_LEN))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
str->q_append(SPIDER_SQL_FROM_STR, SPIDER_SQL_FROM_LEN);
table_name_pos= str->length();
append_table_name_with_adjusting(str, link_idx, sql_type);
if (spider_param_index_hint_pushdown(spider->wide_handler->trx->thd))
{ {
if (str->reserve(SPIDER_SQL_FROM_LEN + mysql_share->db_nm_max_length + DBUG_RETURN(error_num);
SPIDER_SQL_DOT_LEN + mysql_share->table_nm_max_length +
/* SPIDER_SQL_NAME_QUOTE_LEN */ 4 + SPIDER_SQL_OPEN_PAREN_LEN))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
str->q_append(SPIDER_SQL_FROM_STR, SPIDER_SQL_FROM_LEN);
table_name_pos = str->length();
append_table_name_with_adjusting(str, link_idx, sql_type);
if(spider_param_index_hint_pushdown(spider->wide_handler->trx->thd))
{
DBUG_RETURN(error_num);
}
} }
DBUG_RETURN(0); DBUG_RETURN(0);
} }

View File

@@ -3585,7 +3585,7 @@ int spider_check_trx_and_get_conn(
*spider->conn_keys[0] = first_byte; *spider->conn_keys[0] = first_byte;
for (roop_count = 0; roop_count < (int) share->link_count; roop_count++) for (roop_count = 0; roop_count < (int) share->link_count; roop_count++)
{ {
spider->conns[roop_count] = NULL; spider->conns[roop_count]= NULL;
} }
bool search_link_idx_is_checked = FALSE; bool search_link_idx_is_checked = FALSE;
for ( for (