You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
MCOL-3672 Fix regression in deletes
Deletes appear to only use the direct delete path. This allows that to happen.
This commit is contained in:
@ -360,14 +360,14 @@ int ha_mcs::direct_update_rows_init(List<Item> *update_fields)
|
||||
int ha_mcs::direct_update_rows(ha_rows *update_rows)
|
||||
{
|
||||
DBUG_ENTER("ha_mcs::direct_update_rows");
|
||||
int rc = ha_mcs_impl_direct_update_delete_rows(update_rows);
|
||||
int rc = ha_mcs_impl_direct_update_delete_rows(false, update_rows);
|
||||
DBUG_RETURN(rc);
|
||||
}
|
||||
|
||||
int ha_mcs::direct_update_rows(ha_rows *update_rows, ha_rows *found_rows)
|
||||
{
|
||||
DBUG_ENTER("ha_mcs::direct_update_rows");
|
||||
int rc = ha_mcs_impl_direct_update_delete_rows(update_rows);
|
||||
int rc = ha_mcs_impl_direct_update_delete_rows(false, update_rows);
|
||||
*found_rows = *update_rows;
|
||||
DBUG_RETURN(rc);
|
||||
}
|
||||
@ -381,7 +381,7 @@ int ha_mcs::direct_delete_rows_init()
|
||||
int ha_mcs::direct_delete_rows(ha_rows *deleted_rows)
|
||||
{
|
||||
DBUG_ENTER("ha_mcs::direct_delete_rows");
|
||||
int rc = ha_mcs_impl_direct_update_delete_rows(deleted_rows);
|
||||
int rc = ha_mcs_impl_direct_update_delete_rows(true, deleted_rows);
|
||||
DBUG_RETURN(rc);
|
||||
}
|
||||
/**
|
||||
|
@ -2281,12 +2281,18 @@ int ha_mcs_impl_discover_existence(const char* schema, const char* name)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ha_mcs_impl_direct_update_delete_rows(ha_rows *affected_rows)
|
||||
int ha_mcs_impl_direct_update_delete_rows(bool execute, ha_rows *affected_rows)
|
||||
{
|
||||
THD* thd = current_thd;
|
||||
int rc = 0;
|
||||
cal_impl_if::gp_walk_info gwi;
|
||||
gwi.thd = thd;
|
||||
|
||||
if (execute)
|
||||
{
|
||||
rc = doUpdateDelete(thd, gwi);
|
||||
}
|
||||
|
||||
cal_connection_info* ci = reinterpret_cast<cal_connection_info*>(get_fe_conn_info_ptr());
|
||||
if (ci)
|
||||
{
|
||||
|
@ -42,7 +42,7 @@ extern int ha_mcs_impl_close_connection (handlerton* hton, THD* thd);
|
||||
extern COND* ha_mcs_impl_cond_push(COND* cond, TABLE* table);
|
||||
extern int ha_mcs_impl_external_lock(THD* thd, TABLE* table, int lock_type);
|
||||
extern int ha_mcs_impl_update_row();
|
||||
extern int ha_mcs_impl_direct_update_delete_rows(ha_rows *affected_rows);
|
||||
extern int ha_mcs_impl_direct_update_delete_rows(bool execute, ha_rows *affected_rows);
|
||||
extern int ha_mcs_impl_delete_row();
|
||||
extern int ha_mcs_impl_rnd_pos(uchar* buf, uchar* pos);
|
||||
extern int ha_cs_impl_pushdown_init(mcs_handler_info* handler_info, TABLE* table);
|
||||
|
Reference in New Issue
Block a user