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 error_num = 0, roop_count;
int error_num= 0, roop_count;
THD *thd = ha_thd();
backup_error_status();
DBUG_ENTER("ha_spider::close");
@@ -1253,8 +1253,7 @@ int ha_spider::index_init(
set_select_column_mode();
}
if ((error_num = reset_sql_sql(
SPIDER_SQL_TYPE_SELECT_SQL)))
if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num);
result_list.check_direct_order_limit = FALSE;
prev_index_rnd_init = SPD_INDEX;
@@ -1324,8 +1323,7 @@ int ha_spider::index_read_map_internal(
start_key.key = key;
start_key.keypart_map = keypart_map;
start_key.flag = find_flag;
if ((error_num = reset_sql_sql(
SPIDER_SQL_TYPE_SELECT_SQL)))
if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num);
if ((error_num = spider_set_conn_bg_param(this)))
DBUG_RETURN(error_num);
@@ -1457,10 +1455,8 @@ int ha_spider::index_read_map_internal(
}
} else {
ulong sql_type;
conn = conns[roop_count];
{
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
conn= conns[roop_count];
sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
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.keypart_map = keypart_map;
start_key.flag = HA_READ_KEY_EXACT;
if ((error_num = reset_sql_sql(
SPIDER_SQL_TYPE_SELECT_SQL)))
if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num);
if ((error_num = spider_set_conn_bg_param(this)))
DBUG_RETURN(error_num);
@@ -1809,10 +1804,8 @@ int ha_spider::index_read_last_map_internal(
}
} else {
ulong sql_type;
conn = conns[roop_count];
{
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
conn= conns[roop_count];
sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
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_last_searcher = this;
}
if (
sql_is_empty(SPIDER_SQL_TYPE_SELECT_SQL)
) {
/*
spider_db_free_one_result_for_start_next(this);
*/
if (sql_is_empty(SPIDER_SQL_TYPE_SELECT_SQL))
{
/*
spider_db_free_one_result_for_start_next(this);
*/
if ((error_num = spider_db_free_result(this, FALSE)))
DBUG_RETURN(error_num);
if ((error_num = reset_sql_sql(
SPIDER_SQL_TYPE_SELECT_SQL)))
if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num);
check_direct_order_limit();
@@ -2209,10 +2200,8 @@ int ha_spider::index_first_internal(
}
} else {
ulong sql_type;
conn = conns[roop_count];
{
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
conn= conns[roop_count];
sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
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_last_searcher = this;
}
if (
sql_is_empty(SPIDER_SQL_TYPE_SELECT_SQL)
) {
/*
spider_db_free_one_result_for_start_next(this);
*/
if (sql_is_empty(SPIDER_SQL_TYPE_SELECT_SQL))
{
/*
spider_db_free_one_result_for_start_next(this);
*/
if ((error_num = spider_db_free_result(this, FALSE)))
DBUG_RETURN(error_num);
if ((error_num = reset_sql_sql(
SPIDER_SQL_TYPE_SELECT_SQL)))
if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num);
check_direct_order_limit();
@@ -2557,10 +2544,8 @@ int ha_spider::index_last_internal(
}
} else {
ulong sql_type;
conn = conns[roop_count];
{
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
conn= conns[roop_count];
sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
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);
check_direct_order_limit();
if ((error_num = reset_sql_sql(
SPIDER_SQL_TYPE_SELECT_SQL)))
if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num);
if ((error_num = spider_set_conn_bg_param(this)))
DBUG_RETURN(error_num);
@@ -2949,10 +2933,8 @@ int ha_spider::read_range_first_internal(
}
} else {
ulong sql_type;
conn = conns[roop_count];
{
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
conn= conns[roop_count];
sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
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"));
result_list.finish_flg = FALSE;
result_list.record_num = 0;
if ((error_num = reset_sql_sql(
SPIDER_SQL_TYPE_SELECT_SQL)))
if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num);
result_list.desc_flg = FALSE;
result_list.sorted = mrr_is_output_sorted;
result_list.key_info = &table->key_info[active_index];
if (
multi_range_num == 1 ||
result_list.multi_split_read <= 1
) {
if (multi_range_num == 1 || result_list.multi_split_read <= 1)
{
if (wide_handler->keyread)
result_list.keyread = TRUE;
else
@@ -3489,10 +3468,8 @@ int ha_spider::multi_range_read_next_first(
}
} else {
ulong sql_type;
conn = conns[roop_count];
{
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
conn= conns[roop_count];
sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
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 {
ulong sql_type;
conn = conns[roop_count];
{
sql_type = SPIDER_SQL_TYPE_SELECT_SQL | SPIDER_SQL_TYPE_TMP_SQL;
}
conn= conns[roop_count];
sql_type= SPIDER_SQL_TYPE_SELECT_SQL | SPIDER_SQL_TYPE_TMP_SQL;
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
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));
}
multi_range_cnt = 0;
if ((error_num = reset_sql_sql(
SPIDER_SQL_TYPE_SELECT_SQL)))
if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(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_last_searcher = this;
}
if (
multi_range_num == 1 ||
result_list.multi_split_read <= 1
) {
if (multi_range_num == 1 || result_list.multi_split_read <= 1)
{
if (!(error_num = spider_db_seek_next(table->record[0], this,
search_link_idx, table)))
{
@@ -4607,10 +4579,8 @@ int ha_spider::multi_range_read_next_next(
}
} else {
ulong sql_type;
conn = conns[roop_count];
{
sql_type = SPIDER_SQL_TYPE_SELECT_SQL;
}
conn= conns[roop_count];
sql_type= SPIDER_SQL_TYPE_SELECT_SQL;
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
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;
if ((error_num = reset_sql_sql(
SPIDER_SQL_TYPE_SELECT_SQL)))
if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num);
bool tmp_high_priority = wide_handler->high_priority;
@@ -5231,10 +5200,8 @@ int ha_spider::multi_range_read_next_next(
}
} else {
ulong sql_type;
conn = conns[roop_count];
{
sql_type = SPIDER_SQL_TYPE_SELECT_SQL | SPIDER_SQL_TYPE_TMP_SQL;
}
conn= conns[roop_count];
sql_type= SPIDER_SQL_TYPE_SELECT_SQL | SPIDER_SQL_TYPE_TMP_SQL;
spider_db_handler *dbton_hdl = dbton_handler[conn->dbton_id];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
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));
}
multi_range_cnt = 0;
if ((error_num = reset_sql_sql(
SPIDER_SQL_TYPE_SELECT_SQL)))
if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num);
} while (!error_num);
}
@@ -5612,8 +5578,7 @@ int ha_spider::rnd_init(
result_list.keyread = FALSE;
init_rnd_handler = FALSE;
if ((error_num = reset_sql_sql(
SPIDER_SQL_TYPE_SELECT_SQL)))
if ((error_num= reset_sql_sql(SPIDER_SQL_TYPE_SELECT_SQL)))
DBUG_RETURN(error_num);
result_list.check_direct_order_limit = FALSE;
}
@@ -5815,9 +5780,7 @@ int ha_spider::rnd_next_internal(
} else {
SPIDER_CONN *conn = conns[roop_count];
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];
pthread_mutex_assert_not_owner(&conn->mta_conn_mutex);
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);
DBUG_RETURN(ER_SPIDER_READ_ONLY_NUM);
}
if (
(error_num = spider_db_direct_update(this, table, update_rows, found_rows))
)
if ((error_num=
spider_db_direct_update(this, table, update_rows, found_rows)))
DBUG_RETURN(check_error_mode(error_num));
DBUG_RETURN(0);
@@ -8486,9 +8448,7 @@ int ha_spider::direct_delete_rows(
table_share->db.str, table_share->table_name.str);
DBUG_RETURN(ER_SPIDER_READ_ONLY_NUM);
}
if (
(error_num = spider_db_direct_delete(this, table, delete_rows))
)
if ((error_num= spider_db_direct_delete(this, table, delete_rows)))
DBUG_RETURN(check_error_mode(error_num));
DBUG_RETURN(0);

View File

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

View File

@@ -9757,9 +9757,8 @@ int spider_mbase_handler::append_direct_update_set(
spider_string *str
) {
DBUG_ENTER("spider_mbase_handler::append_direct_update_set");
if (
spider->wide_handler->direct_update_fields
) {
if (spider->wide_handler->direct_update_fields)
{
if (str->reserve(SPIDER_SQL_SET_LEN))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
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;
DBUG_ENTER("spider_mbase_handler::append_where_terminator");
DBUG_PRINT("info",("spider this=%p", this));
{
str->length(str->length() - SPIDER_SQL_AND_LEN);
if (!set_order)
result_list->key_order = key_count;
}
DBUG_PRINT("info", ("spider this=%p", this));
str->length(str->length() - SPIDER_SQL_AND_LEN);
if (!set_order)
result_list->key_order= key_count;
DBUG_RETURN(0);
}
@@ -12447,19 +12445,18 @@ int spider_mbase_handler::append_from(
DBUG_ENTER("spider_mbase_handler::append_from");
DBUG_PRINT("info",("spider this=%p", this));
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 +
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(error_num);
}
DBUG_RETURN(0);
}

View File

@@ -3585,7 +3585,7 @@ int spider_check_trx_and_get_conn(
*spider->conn_keys[0] = first_byte;
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;
for (