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

MDEV-27647 Spider: remove HANDLER_HAS_DIRECT_UPDATE_ROWS

This commit is contained in:
Yuchen Pei
2024-06-19 13:36:48 +08:00
parent d5d65b948b
commit 0650c87d9b
15 changed files with 0 additions and 144 deletions

View File

@@ -96,9 +96,7 @@ ha_spider::ha_spider(
dml_inited = FALSE; dml_inited = FALSE;
use_pre_call = FALSE; use_pre_call = FALSE;
use_pre_action = FALSE; use_pre_action = FALSE;
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
#ifdef HA_CAN_BULK_ACCESS #ifdef HA_CAN_BULK_ACCESS
is_bulk_access_clone = FALSE; is_bulk_access_clone = FALSE;
synced_from_clone_source = FALSE; synced_from_clone_source = FALSE;
@@ -181,9 +179,7 @@ ha_spider::ha_spider(
dml_inited = FALSE; dml_inited = FALSE;
use_pre_call = FALSE; use_pre_call = FALSE;
use_pre_action = FALSE; use_pre_action = FALSE;
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
#ifdef HA_CAN_BULK_ACCESS #ifdef HA_CAN_BULK_ACCESS
is_bulk_access_clone = FALSE; is_bulk_access_clone = FALSE;
synced_from_clone_source = FALSE; synced_from_clone_source = FALSE;
@@ -793,22 +789,7 @@ void ha_spider::check_access_kind(
wide_handler->sql_command = thd_sql_command(thd); wide_handler->sql_command = thd_sql_command(thd);
DBUG_PRINT("info",("spider sql_command=%u", wide_handler->sql_command)); DBUG_PRINT("info",("spider sql_command=%u", wide_handler->sql_command));
DBUG_PRINT("info",("spider thd->query_id=%lld", thd->query_id)); DBUG_PRINT("info",("spider thd->query_id=%lld", thd->query_id));
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
wide_handler->update_request = FALSE; wide_handler->update_request = FALSE;
#else
if (
wide_handler->sql_command == SQLCOM_UPDATE ||
wide_handler->sql_command == SQLCOM_UPDATE_MULTI ||
/* for triggers */
wide_handler->sql_command == SQLCOM_INSERT ||
wide_handler->sql_command == SQLCOM_INSERT_SELECT ||
wide_handler->sql_command == SQLCOM_DELETE ||
wide_handler->sql_command == SQLCOM_DELETE_MULTI
)
wide_handler->update_request = TRUE;
else
wide_handler->update_request = FALSE;
#endif
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
@@ -1263,9 +1244,7 @@ int ha_spider::reset()
wide_handler->condition = tmp_cond; wide_handler->condition = tmp_cond;
} }
wide_handler->cond_check = FALSE; wide_handler->cond_check = FALSE;
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
wide_handler->direct_update_fields = NULL; wide_handler->direct_update_fields = NULL;
#endif
#ifdef INFO_KIND_FORCE_LIMIT_BEGIN #ifdef INFO_KIND_FORCE_LIMIT_BEGIN
wide_handler->info_limit = 9223372036854775807LL; wide_handler->info_limit = 9223372036854775807LL;
#endif #endif
@@ -1343,9 +1322,7 @@ int ha_spider::reset()
ft_count = 0; ft_count = 0;
ft_init_without_index_init = FALSE; ft_init_without_index_init = FALSE;
sql_kinds = 0; sql_kinds = 0;
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
prev_index_rnd_init = SPD_NONE; prev_index_rnd_init = SPD_NONE;
result_list.have_sql_kind_backup = FALSE; result_list.have_sql_kind_backup = FALSE;
result_list.direct_order_limit = FALSE; result_list.direct_order_limit = FALSE;
@@ -1421,11 +1398,9 @@ int ha_spider::extra(
case HA_EXTRA_WRITE_CANNOT_REPLACE: case HA_EXTRA_WRITE_CANNOT_REPLACE:
wide_handler->write_can_replace = FALSE; wide_handler->write_can_replace = FALSE;
break; break;
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
case HA_EXTRA_INSERT_WITH_UPDATE: case HA_EXTRA_INSERT_WITH_UPDATE:
wide_handler->insert_with_update = TRUE; wide_handler->insert_with_update = TRUE;
break; break;
#endif
case HA_EXTRA_ATTACH_CHILDREN: case HA_EXTRA_ATTACH_CHILDREN:
DBUG_PRINT("info",("spider HA_EXTRA_ATTACH_CHILDREN")); DBUG_PRINT("info",("spider HA_EXTRA_ATTACH_CHILDREN"));
if (!(wide_handler->trx = spider_get_trx(ha_thd(), TRUE, &error_num))) if (!(wide_handler->trx = spider_get_trx(ha_thd(), TRUE, &error_num)))
@@ -1616,9 +1591,7 @@ int ha_spider::index_read_map_internal(
my_error(ER_QUERY_INTERRUPTED, MYF(0)); my_error(ER_QUERY_INTERRUPTED, MYF(0));
DBUG_RETURN(ER_QUERY_INTERRUPTED); DBUG_RETURN(ER_QUERY_INTERRUPTED);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
if ( if (
find_flag >= HA_READ_MBR_CONTAIN && find_flag >= HA_READ_MBR_CONTAIN &&
find_flag <= HA_READ_MBR_EQUAL find_flag <= HA_READ_MBR_EQUAL
@@ -2088,9 +2061,7 @@ int ha_spider::index_read_last_map_internal(
my_error(ER_QUERY_INTERRUPTED, MYF(0)); my_error(ER_QUERY_INTERRUPTED, MYF(0));
DBUG_RETURN(ER_QUERY_INTERRUPTED); DBUG_RETURN(ER_QUERY_INTERRUPTED);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
if ((error_num = index_handler_init())) if ((error_num = index_handler_init()))
DBUG_RETURN(check_error_mode_eof(error_num)); DBUG_RETURN(check_error_mode_eof(error_num));
if (is_clone) if (is_clone)
@@ -2546,9 +2517,7 @@ int ha_spider::index_first_internal(
my_error(ER_QUERY_INTERRUPTED, MYF(0)); my_error(ER_QUERY_INTERRUPTED, MYF(0));
DBUG_RETURN(ER_QUERY_INTERRUPTED); DBUG_RETURN(ER_QUERY_INTERRUPTED);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
if ((error_num = index_handler_init())) if ((error_num = index_handler_init()))
DBUG_RETURN(check_error_mode_eof(error_num)); DBUG_RETURN(check_error_mode_eof(error_num));
if (is_clone) if (is_clone)
@@ -2920,9 +2889,7 @@ int ha_spider::index_last_internal(
my_error(ER_QUERY_INTERRUPTED, MYF(0)); my_error(ER_QUERY_INTERRUPTED, MYF(0));
DBUG_RETURN(ER_QUERY_INTERRUPTED); DBUG_RETURN(ER_QUERY_INTERRUPTED);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
if ((error_num = index_handler_init())) if ((error_num = index_handler_init()))
DBUG_RETURN(check_error_mode_eof(error_num)); DBUG_RETURN(check_error_mode_eof(error_num));
if (is_clone) if (is_clone)
@@ -3347,9 +3314,7 @@ int ha_spider::read_range_first_internal(
my_error(ER_QUERY_INTERRUPTED, MYF(0)); my_error(ER_QUERY_INTERRUPTED, MYF(0));
DBUG_RETURN(ER_QUERY_INTERRUPTED); DBUG_RETURN(ER_QUERY_INTERRUPTED);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
if ( if (
start_key && start_key &&
start_key->flag >= HA_READ_MBR_CONTAIN && start_key->flag >= HA_READ_MBR_CONTAIN &&
@@ -3935,9 +3900,7 @@ int ha_spider::read_multi_range_first_internal(
my_error(ER_QUERY_INTERRUPTED, MYF(0)); my_error(ER_QUERY_INTERRUPTED, MYF(0));
DBUG_RETURN(ER_QUERY_INTERRUPTED); DBUG_RETURN(ER_QUERY_INTERRUPTED);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
if ((error_num = index_handler_init())) if ((error_num = index_handler_init()))
DBUG_RETURN(check_error_mode_eof(error_num)); DBUG_RETURN(check_error_mode_eof(error_num));
if (is_clone) if (is_clone)
@@ -6809,9 +6772,7 @@ int ha_spider::rnd_next_internal(
/* do not copy table data at alter table */ /* do not copy table data at alter table */
if (wide_handler->sql_command == SQLCOM_ALTER_TABLE) if (wide_handler->sql_command == SQLCOM_ALTER_TABLE)
DBUG_RETURN(HA_ERR_END_OF_FILE); DBUG_RETURN(HA_ERR_END_OF_FILE);
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
if (rnd_scan_and_first) if (rnd_scan_and_first)
{ {
@@ -9274,12 +9235,8 @@ int ha_spider::write_row(
DBUG_RETURN(check_error_mode(error_num)); DBUG_RETURN(check_error_mode(error_num));
if (bulk_insert) if (bulk_insert)
bulk_size = bulk_size =
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
(wide_handler->insert_with_update && (wide_handler->insert_with_update &&
!result_list.insert_dup_update_pushdown) || !result_list.insert_dup_update_pushdown) ||
#else
wide_handler->insert_with_update ||
#endif
(!direct_dup_insert && wide_handler->ignore_dup_key) ? (!direct_dup_insert && wide_handler->ignore_dup_key) ?
0 : spider_param_bulk_size(wide_handler->trx->thd, share->bulk_size); 0 : spider_param_bulk_size(wide_handler->trx->thd, share->bulk_size);
else else
@@ -9318,7 +9275,6 @@ int ha_spider::pre_write_row(
} }
#endif #endif
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
void ha_spider::direct_update_init( void ha_spider::direct_update_init(
THD *thd, THD *thd,
bool hs_request bool hs_request
@@ -9328,7 +9284,6 @@ void ha_spider::direct_update_init(
do_direct_update = TRUE; do_direct_update = TRUE;
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
#endif
bool ha_spider::start_bulk_update( bool ha_spider::start_bulk_update(
) { ) {
@@ -9424,9 +9379,7 @@ int ha_spider::update_row(
#ifndef SPIDER_WITHOUT_HA_STATISTIC_INCREMENT #ifndef SPIDER_WITHOUT_HA_STATISTIC_INCREMENT
ha_statistic_increment(&SSV::ha_update_count); ha_statistic_increment(&SSV::ha_update_count);
#endif #endif
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
if ((error_num = spider_db_update(this, table, old_data))) if ((error_num = spider_db_update(this, table, old_data)))
DBUG_RETURN(check_error_mode(error_num)); DBUG_RETURN(check_error_mode(error_num));
if (table->found_next_number_field && if (table->found_next_number_field &&
@@ -9470,7 +9423,6 @@ int ha_spider::update_row(
DBUG_RETURN(0); DBUG_RETURN(0);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
bool ha_spider::check_direct_update_sql_part( bool ha_spider::check_direct_update_sql_part(
st_select_lex *select_lex, st_select_lex *select_lex,
longlong select_limit, longlong select_limit,
@@ -10006,7 +9958,6 @@ int ha_spider::pre_direct_update_rows()
} }
#endif #endif
#endif #endif
#endif
bool ha_spider::start_bulk_delete( bool ha_spider::start_bulk_delete(
) { ) {
@@ -10056,15 +10007,12 @@ int ha_spider::delete_row(
#ifndef SPIDER_WITHOUT_HA_STATISTIC_INCREMENT #ifndef SPIDER_WITHOUT_HA_STATISTIC_INCREMENT
ha_statistic_increment(&SSV::ha_delete_count); ha_statistic_increment(&SSV::ha_delete_count);
#endif #endif
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
if ((error_num = spider_db_delete(this, table, buf))) if ((error_num = spider_db_delete(this, table, buf)))
DBUG_RETURN(check_error_mode(error_num)); DBUG_RETURN(check_error_mode(error_num));
DBUG_RETURN(0); DBUG_RETURN(0);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
bool ha_spider::check_direct_delete_sql_part( bool ha_spider::check_direct_delete_sql_part(
st_select_lex *select_lex, st_select_lex *select_lex,
longlong select_limit, longlong select_limit,
@@ -10451,7 +10399,6 @@ int ha_spider::pre_direct_delete_rows()
} }
#endif #endif
#endif #endif
#endif
int ha_spider::delete_all_rows() int ha_spider::delete_all_rows()
{ {
@@ -10480,9 +10427,7 @@ int ha_spider::truncate()
{ {
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE; do_direct_update = FALSE;
#endif
sql_kinds = SPIDER_SQL_KIND_SQL; sql_kinds = SPIDER_SQL_KIND_SQL;
for (roop_count = 0; roop_count < (int) share->link_count; roop_count++) for (roop_count = 0; roop_count < (int) share->link_count; roop_count++)
sql_kind[roop_count] = SPIDER_SQL_KIND_SQL; sql_kind[roop_count] = SPIDER_SQL_KIND_SQL;
@@ -11453,8 +11398,6 @@ int ha_spider::info_push(
#endif #endif
#ifdef HA_CAN_BULK_ACCESS #ifdef HA_CAN_BULK_ACCESS
if ( if (
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
#endif
info_type != INFO_KIND_BULK_ACCESS_BEGIN && info_type != INFO_KIND_BULK_ACCESS_BEGIN &&
info_type != INFO_KIND_BULK_ACCESS_CURRENT && info_type != INFO_KIND_BULK_ACCESS_CURRENT &&
info_type != INFO_KIND_BULK_ACCESS_END info_type != INFO_KIND_BULK_ACCESS_END
@@ -11476,10 +11419,8 @@ int ha_spider::info_push(
} }
#endif #endif
#if defined(HANDLER_HAS_DIRECT_UPDATE_ROWS) || defined(HA_CAN_BULK_ACCESS)
switch (info_type) switch (info_type)
{ {
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
#ifdef INFO_KIND_UPDATE_FIELDS #ifdef INFO_KIND_UPDATE_FIELDS
case INFO_KIND_UPDATE_FIELDS: case INFO_KIND_UPDATE_FIELDS:
DBUG_PRINT("info",("spider INFO_KIND_UPDATE_FIELDS")); DBUG_PRINT("info",("spider INFO_KIND_UPDATE_FIELDS"));
@@ -11507,7 +11448,6 @@ int ha_spider::info_push(
wide_handler->info_limit = 9223372036854775807LL; wide_handler->info_limit = 9223372036854775807LL;
break; break;
#endif #endif
#endif
#ifdef HA_CAN_BULK_ACCESS #ifdef HA_CAN_BULK_ACCESS
case INFO_KIND_BULK_ACCESS_BEGIN: case INFO_KIND_BULK_ACCESS_BEGIN:
DBUG_PRINT("info",("spider INFO_KIND_BULK_ACCESS_BEGIN")); DBUG_PRINT("info",("spider INFO_KIND_BULK_ACCESS_BEGIN"));
@@ -11570,7 +11510,6 @@ int ha_spider::info_push(
default: default:
break; break;
} }
#endif
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
@@ -12379,9 +12318,7 @@ int ha_spider::index_handler_init()
roop_end = search_link_idx + 1; roop_end = search_link_idx + 1;
} }
sql_kinds = 0; sql_kinds = 0;
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
direct_update_kinds = 0; direct_update_kinds = 0;
#endif
for (roop_count = roop_start; roop_count < roop_end; for (roop_count = roop_start; roop_count < roop_end;
roop_count = spider_conn_link_idx_next(share->link_statuses, roop_count = spider_conn_link_idx_next(share->link_statuses,
conn_link_idx, roop_count, share->link_count, conn_link_idx, roop_count, share->link_count,
@@ -12467,9 +12404,7 @@ int ha_spider::rnd_handler_init()
roop_end = search_link_idx + 1; roop_end = search_link_idx + 1;
} }
sql_kinds = 0; sql_kinds = 0;
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
direct_update_kinds = 0; direct_update_kinds = 0;
#endif
for (roop_count = roop_start; roop_count < roop_end; for (roop_count = roop_start; roop_count < roop_end;
roop_count = spider_conn_link_idx_next(share->link_statuses, roop_count = spider_conn_link_idx_next(share->link_statuses,
conn_link_idx, roop_count, share->link_count, conn_link_idx, roop_count, share->link_count,
@@ -12695,7 +12630,6 @@ void ha_spider::check_pre_call(
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
void ha_spider::check_insert_dup_update_pushdown() void ha_spider::check_insert_dup_update_pushdown()
{ {
THD *thd = wide_handler->trx->thd; THD *thd = wide_handler->trx->thd;
@@ -12714,7 +12648,6 @@ void ha_spider::check_insert_dup_update_pushdown()
} }
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
#endif
#ifdef HA_CAN_BULK_ACCESS #ifdef HA_CAN_BULK_ACCESS
SPIDER_BULK_ACCESS_LINK *ha_spider::create_bulk_access_link() SPIDER_BULK_ACCESS_LINK *ha_spider::create_bulk_access_link()
@@ -12848,8 +12781,6 @@ int ha_spider::sync_from_clone_source(
external_lock_cnt = spider->external_lock_cnt; external_lock_cnt = spider->external_lock_cnt;
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
#endif
DBUG_PRINT("info",("spider bulk_access_link->spider->dbton_handler=%p", DBUG_PRINT("info",("spider bulk_access_link->spider->dbton_handler=%p",
dbton_handler)); dbton_handler));
DBUG_PRINT("info",("spider ptr bulk_access_link->spider->dbton_handler=%p", DBUG_PRINT("info",("spider ptr bulk_access_link->spider->dbton_handler=%p",
@@ -13132,7 +13063,6 @@ int ha_spider::append_update_set_sql_part()
DBUG_RETURN(0); DBUG_RETURN(0);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
int ha_spider::append_direct_update_set_sql_part() int ha_spider::append_direct_update_set_sql_part()
{ {
int error_num; int error_num;
@@ -13153,9 +13083,7 @@ int ha_spider::append_direct_update_set_sql_part()
DBUG_RETURN(0); DBUG_RETURN(0);
} }
#endif
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
int ha_spider::append_dup_update_pushdown_sql_part( int ha_spider::append_dup_update_pushdown_sql_part(
const char *alias, const char *alias,
uint alias_length uint alias_length
@@ -13221,7 +13149,6 @@ int ha_spider::check_update_columns_sql_part()
} }
DBUG_RETURN(0); DBUG_RETURN(0);
} }
#endif
int ha_spider::append_delete_sql_part() int ha_spider::append_delete_sql_part()
{ {
@@ -15030,12 +14957,10 @@ int ha_spider::dml_init()
conns[roop_count]->semi_trx_isolation = -1; conns[roop_count]->semi_trx_isolation = -1;
} }
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
if (wide_handler->insert_with_update) if (wide_handler->insert_with_update)
{ {
check_insert_dup_update_pushdown(); check_insert_dup_update_pushdown();
} }
#endif
dml_inited = TRUE; dml_inited = TRUE;
DBUG_RETURN(0); DBUG_RETURN(0);
} }

View File

@@ -175,10 +175,8 @@ public:
corresponding m_handler_cid is t00003 corresponding m_handler_cid is t00003
*/ */
char **m_handler_cid; char **m_handler_cid;
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
bool do_direct_update; bool do_direct_update;
uint direct_update_kinds; uint direct_update_kinds;
#endif
spider_index_rnd_init prev_index_rnd_init; spider_index_rnd_init prev_index_rnd_init;
#ifdef HANDLER_HAS_DIRECT_AGGREGATE #ifdef HANDLER_HAS_DIRECT_AGGREGATE
SPIDER_ITEM_HLD *direct_aggregate_item_first; SPIDER_ITEM_HLD *direct_aggregate_item_first;
@@ -494,12 +492,10 @@ public:
uchar *buf uchar *buf
); );
#endif #endif
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
void direct_update_init( void direct_update_init(
THD *thd, THD *thd,
bool hs_request bool hs_request
); );
#endif
bool start_bulk_update() override; bool start_bulk_update() override;
int exec_bulk_update( int exec_bulk_update(
ha_rows *dup_key_found ha_rows *dup_key_found
@@ -526,7 +522,6 @@ public:
uchar *new_data uchar *new_data
); );
#endif #endif
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
bool check_direct_update_sql_part( bool check_direct_update_sql_part(
st_select_lex *select_lex, st_select_lex *select_lex,
longlong select_limit, longlong select_limit,
@@ -648,14 +643,12 @@ public:
#else #else
int pre_direct_update_rows(); int pre_direct_update_rows();
#endif #endif
#endif
#endif #endif
bool start_bulk_delete() override; bool start_bulk_delete() override;
int end_bulk_delete() override; int end_bulk_delete() override;
int delete_row( int delete_row(
const uchar *buf const uchar *buf
) override; ) override;
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
bool check_direct_delete_sql_part( bool check_direct_delete_sql_part(
st_select_lex *select_lex, st_select_lex *select_lex,
longlong select_limit, longlong select_limit,
@@ -724,7 +717,6 @@ public:
#else #else
int pre_direct_delete_rows(); int pre_direct_delete_rows();
#endif #endif
#endif
#endif #endif
int delete_all_rows() override; int delete_all_rows() override;
int truncate() override; int truncate() override;
@@ -895,9 +887,7 @@ public:
void check_pre_call( void check_pre_call(
bool use_parallel bool use_parallel
); );
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
void check_insert_dup_update_pushdown(); void check_insert_dup_update_pushdown();
#endif
#ifdef HA_CAN_BULK_ACCESS #ifdef HA_CAN_BULK_ACCESS
SPIDER_BULK_ACCESS_LINK *create_bulk_access_link(); SPIDER_BULK_ACCESS_LINK *create_bulk_access_link();
void delete_bulk_access_link( void delete_bulk_access_link(
@@ -926,10 +916,7 @@ public:
int append_insert_sql_part(); int append_insert_sql_part();
int append_update_sql_part(); int append_update_sql_part();
int append_update_set_sql_part(); int append_update_set_sql_part();
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
int append_direct_update_set_sql_part(); int append_direct_update_set_sql_part();
#endif
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
int append_dup_update_pushdown_sql_part( int append_dup_update_pushdown_sql_part(
const char *alias, const char *alias,
uint alias_length uint alias_length
@@ -939,7 +926,6 @@ public:
uint alias_length uint alias_length
); );
int check_update_columns_sql_part(); int check_update_columns_sql_part();
#endif
int append_delete_sql_part(); int append_delete_sql_part();
int append_select_sql_part( int append_select_sql_part(
ulong sql_type ulong sql_type

View File

@@ -4100,7 +4100,6 @@ bool spider_conn_use_handler(
DBUG_PRINT("info",("spider use_handler=%d", use_handler)); DBUG_PRINT("info",("spider use_handler=%d", use_handler));
DBUG_PRINT("info",("spider spider->conn_kind[link_idx]=%u", DBUG_PRINT("info",("spider spider->conn_kind[link_idx]=%u",
spider->conn_kind[link_idx])); spider->conn_kind[link_idx]));
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
if (spider->do_direct_update) if (spider->do_direct_update)
{ {
spider->sql_kinds |= SPIDER_SQL_KIND_SQL; spider->sql_kinds |= SPIDER_SQL_KIND_SQL;
@@ -4109,7 +4108,6 @@ bool spider_conn_use_handler(
DBUG_PRINT("info",("spider FALSE by using direct_update")); DBUG_PRINT("info",("spider FALSE by using direct_update"));
DBUG_RETURN(FALSE); DBUG_RETURN(FALSE);
} }
#endif
if (spider->use_spatial_index) if (spider->use_spatial_index)
{ {
DBUG_PRINT("info",("spider FALSE by use_spatial_index")); DBUG_PRINT("info",("spider FALSE by use_spatial_index"));

View File

@@ -6908,7 +6908,6 @@ int spider_db_update(
DBUG_RETURN(0); DBUG_RETURN(0);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS #ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS
int spider_db_direct_update( int spider_db_direct_update(
ha_spider *spider, ha_spider *spider,
@@ -6956,17 +6955,14 @@ int spider_db_direct_update(
(spider->direct_update_kinds & SPIDER_SQL_KIND_HS) (spider->direct_update_kinds & SPIDER_SQL_KIND_HS)
*/ */
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
if (!spider->do_direct_update) if (!spider->do_direct_update)
{ {
#endif
if ( if (
(spider->sql_kinds & SPIDER_SQL_KIND_SQL) && (spider->sql_kinds & SPIDER_SQL_KIND_SQL) &&
(error_num = spider->append_update_set_sql_part()) (error_num = spider->append_update_set_sql_part())
) { ) {
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
} else { } else {
if ( if (
(spider->direct_update_kinds & SPIDER_SQL_KIND_SQL) && (spider->direct_update_kinds & SPIDER_SQL_KIND_SQL) &&
@@ -6975,7 +6971,6 @@ int spider_db_direct_update(
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
} }
#endif
result_list->desc_flg = FALSE; result_list->desc_flg = FALSE;
result_list->sorted = TRUE; result_list->sorted = TRUE;
@@ -7171,17 +7166,14 @@ int spider_db_direct_update(
spider->wide_handler->direct_update_fields spider->wide_handler->direct_update_fields
*/ */
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
if (!spider->do_direct_update) if (!spider->do_direct_update)
{ {
#endif
if ( if (
(spider->sql_kinds & SPIDER_SQL_KIND_SQL) && (spider->sql_kinds & SPIDER_SQL_KIND_SQL) &&
(error_num = spider->append_update_set_sql_part()) (error_num = spider->append_update_set_sql_part())
) { ) {
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
} else { } else {
if ( if (
(spider->direct_update_kinds & SPIDER_SQL_KIND_SQL) && (spider->direct_update_kinds & SPIDER_SQL_KIND_SQL) &&
@@ -7190,7 +7182,6 @@ int spider_db_direct_update(
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
} }
#endif
result_list->desc_flg = FALSE; result_list->desc_flg = FALSE;
result_list->sorted = TRUE; result_list->sorted = TRUE;
@@ -7351,7 +7342,6 @@ int spider_db_direct_update(
DBUG_RETURN(0); DBUG_RETURN(0);
} }
#endif #endif
#endif
#ifdef HA_CAN_BULK_ACCESS #ifdef HA_CAN_BULK_ACCESS
int spider_db_bulk_direct_update( int spider_db_bulk_direct_update(
@@ -7491,7 +7481,6 @@ int spider_db_delete(
DBUG_RETURN(0); DBUG_RETURN(0);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS #ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS
int spider_db_direct_delete( int spider_db_direct_delete(
ha_spider *spider, ha_spider *spider,
@@ -7858,7 +7847,6 @@ int spider_db_direct_delete(
DBUG_RETURN(error_num2); DBUG_RETURN(error_num2);
} }
#endif #endif
#endif
int spider_db_delete_all_rows( int spider_db_delete_all_rows(
ha_spider *spider ha_spider *spider
@@ -9506,7 +9494,6 @@ int spider_db_append_condition(
DBUG_RETURN(0); DBUG_RETURN(0);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
int spider_db_append_update_columns( int spider_db_append_update_columns(
ha_spider *spider, ha_spider *spider,
spider_string *str, spider_string *str,
@@ -9561,7 +9548,6 @@ int spider_db_append_update_columns(
str->length(str->length() - SPIDER_SQL_COMMA_LEN); str->length(str->length() - SPIDER_SQL_COMMA_LEN);
DBUG_RETURN(0); DBUG_RETURN(0);
} }
#endif
#ifdef HANDLER_HAS_DIRECT_AGGREGATE #ifdef HANDLER_HAS_DIRECT_AGGREGATE
bool spider_db_check_select_colum_in_group( bool spider_db_check_select_colum_in_group(

View File

@@ -799,7 +799,6 @@ int spider_db_update(
const uchar *old_data const uchar *old_data
); );
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS #ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS
int spider_db_direct_update( int spider_db_direct_update(
ha_spider *spider, ha_spider *spider,
@@ -817,7 +816,6 @@ int spider_db_direct_update(
ha_rows *found_rows ha_rows *found_rows
); );
#endif #endif
#endif
#ifdef HA_CAN_BULK_ACCESS #ifdef HA_CAN_BULK_ACCESS
int spider_db_bulk_direct_update( int spider_db_bulk_direct_update(
@@ -838,7 +836,6 @@ int spider_db_delete(
const uchar *buf const uchar *buf
); );
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS #ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS
int spider_db_direct_delete( int spider_db_direct_delete(
ha_spider *spider, ha_spider *spider,
@@ -854,7 +851,6 @@ int spider_db_direct_delete(
ha_rows *delete_rows ha_rows *delete_rows
); );
#endif #endif
#endif
int spider_db_delete_all_rows( int spider_db_delete_all_rows(
ha_spider *spider ha_spider *spider
@@ -1056,7 +1052,6 @@ int spider_db_append_condition(
bool test_flg bool test_flg
); );
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
int spider_db_append_update_columns( int spider_db_append_update_columns(
ha_spider *spider, ha_spider *spider,
spider_string *str, spider_string *str,
@@ -1066,7 +1061,6 @@ int spider_db_append_update_columns(
bool use_fields, bool use_fields,
spider_fields *fields spider_fields *fields
); );
#endif
#ifdef HANDLER_HAS_DIRECT_AGGREGATE #ifdef HANDLER_HAS_DIRECT_AGGREGATE
bool spider_db_check_select_colum_in_group( bool spider_db_check_select_colum_in_group(

View File

@@ -154,7 +154,6 @@ int spider_db_handler::checksum_table(
} }
#endif #endif
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
bool spider_db_handler::check_direct_update( bool spider_db_handler::check_direct_update(
st_select_lex *select_lex, st_select_lex *select_lex,
longlong select_limit, longlong select_limit,
@@ -188,4 +187,3 @@ bool spider_db_handler::check_direct_delete(
} }
DBUG_RETURN(FALSE); DBUG_RETURN(FALSE);
} }
#endif

View File

@@ -1188,7 +1188,6 @@ public:
virtual int append_update_part() = 0; virtual int append_update_part() = 0;
virtual int append_delete_part() = 0; virtual int append_delete_part() = 0;
virtual int append_update_set_part() = 0; virtual int append_update_set_part() = 0;
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
virtual int append_direct_update_set_part() = 0; virtual int append_direct_update_set_part() = 0;
virtual int append_dup_update_pushdown_part( virtual int append_dup_update_pushdown_part(
const char *alias, const char *alias,
@@ -1199,7 +1198,6 @@ public:
uint alias_length uint alias_length
) = 0; ) = 0;
virtual int check_update_columns_part() = 0; virtual int check_update_columns_part() = 0;
#endif
virtual int append_select_part( virtual int append_select_part(
ulong sql_type ulong sql_type
) = 0; ) = 0;
@@ -1591,7 +1589,6 @@ public:
ulong sql_type ulong sql_type
) = 0; ) = 0;
#endif #endif
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
virtual bool check_direct_update( virtual bool check_direct_update(
st_select_lex *select_lex, st_select_lex *select_lex,
longlong select_limit, longlong select_limit,
@@ -1602,7 +1599,6 @@ public:
longlong select_limit, longlong select_limit,
longlong offset_limit longlong offset_limit
); );
#endif
}; };
class spider_db_copy_table class spider_db_copy_table

View File

@@ -9167,11 +9167,7 @@ int spider_mbase_handler::append_insert(
spider->wide_handler->ignore_dup_key && spider->wide_handler->ignore_dup_key &&
spider->direct_dup_insert && spider->direct_dup_insert &&
!spider->wide_handler->write_can_replace && !spider->wide_handler->write_can_replace &&
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
(!spider->wide_handler->insert_with_update || !dup_update_sql.length()) && (!spider->wide_handler->insert_with_update || !dup_update_sql.length()) &&
#else
!spider->wide_handler->insert_with_update &&
#endif
/* for direct_dup_insert without patch for partition */ /* for direct_dup_insert without patch for partition */
spider->wide_handler->sql_command != SQLCOM_REPLACE && spider->wide_handler->sql_command != SQLCOM_REPLACE &&
spider->wide_handler->sql_command != SQLCOM_REPLACE_SELECT spider->wide_handler->sql_command != SQLCOM_REPLACE_SELECT
@@ -9329,7 +9325,6 @@ int spider_mbase_handler::append_update_set(
DBUG_RETURN(0); DBUG_RETURN(0);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
int spider_mbase_handler::append_direct_update_set_part() int spider_mbase_handler::append_direct_update_set_part()
{ {
int error_num; int error_num;
@@ -9406,7 +9401,6 @@ int spider_mbase_handler::append_update_columns(
alias, alias_length, dbton_id, FALSE, NULL); alias, alias_length, dbton_id, FALSE, NULL);
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
#endif
int spider_mbase_handler::append_select_part( int spider_mbase_handler::append_select_part(
ulong sql_type ulong sql_type
@@ -15721,7 +15715,6 @@ int spider_mbase_handler::append_order_by(
} }
#endif #endif
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
bool spider_mbase_handler::check_direct_update( bool spider_mbase_handler::check_direct_update(
st_select_lex *select_lex, st_select_lex *select_lex,
longlong select_limit, longlong select_limit,
@@ -15741,7 +15734,6 @@ bool spider_mbase_handler::check_direct_delete(
DBUG_PRINT("info",("spider this=%p", this)); DBUG_PRINT("info",("spider this=%p", this));
DBUG_RETURN(FALSE); DBUG_RETURN(FALSE);
} }
#endif
spider_mbase_copy_table::spider_mbase_copy_table( spider_mbase_copy_table::spider_mbase_copy_table(
spider_mbase_share *db_share spider_mbase_share *db_share

View File

@@ -858,7 +858,6 @@ public:
int append_update_set( int append_update_set(
spider_string *str spider_string *str
); );
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
int append_direct_update_set_part() override; int append_direct_update_set_part() override;
int append_direct_update_set( int append_direct_update_set(
spider_string *str spider_string *str
@@ -877,7 +876,6 @@ public:
const char *alias, const char *alias,
uint alias_length uint alias_length
); );
#endif
int append_select_part( int append_select_part(
ulong sql_type ulong sql_type
) override; ) override;
@@ -1555,7 +1553,6 @@ public:
spider_fields *fields spider_fields *fields
); );
#endif #endif
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
bool check_direct_update( bool check_direct_update(
st_select_lex *select_lex, st_select_lex *select_lex,
longlong select_limit, longlong select_limit,
@@ -1566,7 +1563,6 @@ public:
longlong select_limit, longlong select_limit,
longlong offset_limit longlong offset_limit
) override; ) override;
#endif
}; };
class spider_mysql_handler: public spider_mbase_handler class spider_mysql_handler: public spider_mbase_handler

View File

@@ -6329,7 +6329,6 @@ int spider_oracle_handler::append_update_set(
DBUG_RETURN(0); DBUG_RETURN(0);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
int spider_oracle_handler::append_direct_update_set_part() int spider_oracle_handler::append_direct_update_set_part()
{ {
int error_num; int error_num;
@@ -6446,7 +6445,6 @@ int spider_oracle_handler::append_update_columns(
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
*/ */
} }
#endif
int spider_oracle_handler::append_select_part( int spider_oracle_handler::append_select_part(
ulong sql_type ulong sql_type

View File

@@ -743,7 +743,6 @@ public:
int append_update_set( int append_update_set(
spider_string *str spider_string *str
); );
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
int append_direct_update_set_part(); int append_direct_update_set_part();
int append_direct_update_set( int append_direct_update_set(
spider_string *str spider_string *str
@@ -762,7 +761,6 @@ public:
const char *alias, const char *alias,
uint alias_length uint alias_length
); );
#endif
int append_select_part( int append_select_part(
ulong sql_type ulong sql_type
); );

View File

@@ -25,7 +25,6 @@
#define SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE #define SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE
#define HANDLER_HAS_TOP_TABLE_FIELDS #define HANDLER_HAS_TOP_TABLE_FIELDS
#define HANDLER_HAS_DIRECT_UPDATE_ROWS
#define HANDLER_HAS_DIRECT_AGGREGATE #define HANDLER_HAS_DIRECT_AGGREGATE
#define PARTITION_HAS_GET_PART_SPEC #define PARTITION_HAS_GET_PART_SPEC
#define HANDLER_HAS_NEED_INFO_FOR_AUTO_INC #define HANDLER_HAS_NEED_INFO_FOR_AUTO_INC

View File

@@ -1033,10 +1033,8 @@ static int spider_prepare_init_scan(
for (link_idx = 0; link_idx < (int) share->link_count; ++link_idx) for (link_idx = 0; link_idx < (int) share->link_count; ++link_idx)
spider->sql_kind[link_idx] = SPIDER_SQL_KIND_SQL; spider->sql_kind[link_idx] = SPIDER_SQL_KIND_SQL;
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
spider->do_direct_update = FALSE; spider->do_direct_update = FALSE;
spider->direct_update_kinds = 0; spider->direct_update_kinds = 0;
#endif
spider_get_select_limit(spider, &select_lex, &select_limit, &offset_limit); spider_get_select_limit(spider, &select_lex, &select_limit, &offset_limit);
direct_order_limit = spider_param_direct_order_limit(thd, direct_order_limit = spider_param_direct_order_limit(thd,
share->direct_order_limit); share->direct_order_limit);

View File

@@ -880,10 +880,8 @@ typedef struct st_spider_wide_handler
#ifdef WITH_PARTITION_STORAGE_ENGINE #ifdef WITH_PARTITION_STORAGE_ENGINE
SPIDER_PARTITION_HANDLER *partition_handler; SPIDER_PARTITION_HANDLER *partition_handler;
#endif #endif
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
List<Item> *direct_update_fields; List<Item> *direct_update_fields;
List<Item> *direct_update_values; List<Item> *direct_update_values;
#endif
TABLE_SHARE *top_share; TABLE_SHARE *top_share;
enum thr_lock_type lock_type; enum thr_lock_type lock_type;
uchar lock_table_type; uchar lock_table_type;
@@ -892,11 +890,9 @@ typedef struct st_spider_wide_handler
int cond_check_error; int cond_check_error;
uint sql_command; uint sql_command;
uint top_table_fields; uint top_table_fields;
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
#ifdef INFO_KIND_FORCE_LIMIT_BEGIN #ifdef INFO_KIND_FORCE_LIMIT_BEGIN
longlong info_limit; longlong info_limit;
#endif #endif
#endif
#ifdef HA_CAN_BULK_ACCESS #ifdef HA_CAN_BULK_ACCESS
ulonglong external_lock_cnt; ulonglong external_lock_cnt;
#endif #endif

View File

@@ -109,7 +109,6 @@ extern volatile ulonglong spider_mon_table_cache_version_req;
MYSQL_SYSVAR_NAME(param_name).def_val; \ MYSQL_SYSVAR_NAME(param_name).def_val; \
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
static int spider_direct_update(THD *thd, SHOW_VAR *var, void *, static int spider_direct_update(THD *thd, SHOW_VAR *var, void *,
system_status_var *, enum_var_type) system_status_var *, enum_var_type)
{ {
@@ -133,7 +132,6 @@ static int spider_direct_delete(THD *thd, SHOW_VAR *var, void *,
var->value = (char *) &trx->direct_delete_count; var->value = (char *) &trx->direct_delete_count;
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
#endif
static int spider_direct_order_limit(THD *thd, SHOW_VAR *var, void *, static int spider_direct_order_limit(THD *thd, SHOW_VAR *var, void *,
system_status_var *, enum_var_type) system_status_var *, enum_var_type)
@@ -178,7 +176,6 @@ struct st_mysql_show_var spider_status_variables[] =
(char *) &spider_mon_table_cache_version, SHOW_LONGLONG}, (char *) &spider_mon_table_cache_version, SHOW_LONGLONG},
{"Spider_mon_table_cache_version_req", {"Spider_mon_table_cache_version_req",
(char *) &spider_mon_table_cache_version_req, SHOW_LONGLONG}, (char *) &spider_mon_table_cache_version_req, SHOW_LONGLONG},
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
#ifdef SPIDER_HAS_SHOW_SIMPLE_FUNC #ifdef SPIDER_HAS_SHOW_SIMPLE_FUNC
{"Spider_direct_update", (char *) &spider_direct_update, SHOW_SIMPLE_FUNC}, {"Spider_direct_update", (char *) &spider_direct_update, SHOW_SIMPLE_FUNC},
{"Spider_direct_delete", (char *) &spider_direct_delete, SHOW_SIMPLE_FUNC}, {"Spider_direct_delete", (char *) &spider_direct_delete, SHOW_SIMPLE_FUNC},
@@ -186,7 +183,6 @@ struct st_mysql_show_var spider_status_variables[] =
{"Spider_direct_update", (char *) &spider_direct_update, SHOW_FUNC}, {"Spider_direct_update", (char *) &spider_direct_update, SHOW_FUNC},
{"Spider_direct_delete", (char *) &spider_direct_delete, SHOW_FUNC}, {"Spider_direct_delete", (char *) &spider_direct_delete, SHOW_FUNC},
#endif #endif
#endif
#ifdef SPIDER_HAS_SHOW_SIMPLE_FUNC #ifdef SPIDER_HAS_SHOW_SIMPLE_FUNC
{"Spider_direct_order_limit", {"Spider_direct_order_limit",
(char *) &spider_direct_order_limit, SHOW_SIMPLE_FUNC}, (char *) &spider_direct_order_limit, SHOW_SIMPLE_FUNC},