You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
MCOL-4278 MCS quits early from rnd_end() in the presense of sql_select_limit session variable
Renamed a couple methods to align their names with others
This commit is contained in:
@ -2702,7 +2702,6 @@ int ha_mcs_impl_rnd_next(uchar* buf, TABLE* table)
|
|||||||
if (get_fe_conn_info_ptr() == nullptr)
|
if (get_fe_conn_info_ptr() == nullptr)
|
||||||
set_fe_conn_info_ptr((void*)new cal_connection_info());
|
set_fe_conn_info_ptr((void*)new cal_connection_info());
|
||||||
|
|
||||||
// @bug 3078
|
|
||||||
if (thd->killed == KILL_QUERY || thd->killed == KILL_QUERY_HARD)
|
if (thd->killed == KILL_QUERY || thd->killed == KILL_QUERY_HARD)
|
||||||
{
|
{
|
||||||
force_close_fep_conn(thd, ci);
|
force_close_fep_conn(thd, ci);
|
||||||
@ -2804,11 +2803,7 @@ int ha_mcs_impl_rnd_end(TABLE* table, bool is_pushdown_hand)
|
|||||||
ci = reinterpret_cast<cal_connection_info*>(get_fe_conn_info_ptr());
|
ci = reinterpret_cast<cal_connection_info*>(get_fe_conn_info_ptr());
|
||||||
}
|
}
|
||||||
|
|
||||||
// @bug 3078. Also session limit variable works the same as ctrl+c
|
if (thd->killed == KILL_QUERY || thd->killed == KILL_QUERY_HARD)
|
||||||
if (thd->killed == KILL_QUERY || thd->killed == KILL_QUERY_HARD ||
|
|
||||||
((thd->lex)->sql_command != SQLCOM_INSERT &&
|
|
||||||
(thd->lex)->sql_command != SQLCOM_INSERT_SELECT &&
|
|
||||||
thd->variables.select_limit != (uint64_t) - 1))
|
|
||||||
{
|
{
|
||||||
force_close_fep_conn(thd, ci);
|
force_close_fep_conn(thd, ci);
|
||||||
// clear querystats because no query stats available for cancelled query
|
// clear querystats because no query stats available for cancelled query
|
||||||
@ -4672,7 +4667,6 @@ int ha_mcs_impl_group_by_next(TABLE* table)
|
|||||||
thd->lex->sql_command == SQLCOM_LOAD))
|
thd->lex->sql_command == SQLCOM_LOAD))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
// @bug 3078
|
|
||||||
if (thd->killed == KILL_QUERY || thd->killed == KILL_QUERY_HARD)
|
if (thd->killed == KILL_QUERY || thd->killed == KILL_QUERY_HARD)
|
||||||
{
|
{
|
||||||
force_close_fep_conn(thd, ci);
|
force_close_fep_conn(thd, ci);
|
||||||
@ -4767,11 +4761,7 @@ int ha_mcs_impl_group_by_end(TABLE* table)
|
|||||||
ci = reinterpret_cast<cal_connection_info*>(get_fe_conn_info_ptr());
|
ci = reinterpret_cast<cal_connection_info*>(get_fe_conn_info_ptr());
|
||||||
}
|
}
|
||||||
|
|
||||||
// @bug 3078. Also session limit variable works the same as ctrl+c
|
if (thd->killed == KILL_QUERY || thd->killed == KILL_QUERY_HARD)
|
||||||
if (thd->killed == KILL_QUERY || thd->killed == KILL_QUERY_HARD ||
|
|
||||||
((thd->lex)->sql_command != SQLCOM_INSERT &&
|
|
||||||
(thd->lex)->sql_command != SQLCOM_INSERT_SELECT &&
|
|
||||||
thd->variables.select_limit != (uint64_t) - 1))
|
|
||||||
{
|
{
|
||||||
force_close_fep_conn(thd, ci);
|
force_close_fep_conn(thd, ci);
|
||||||
// clear querystats because no query stats available for cancelled query
|
// clear querystats because no query stats available for cancelled query
|
||||||
@ -4912,7 +4902,7 @@ int ha_mcs_impl_group_by_end(TABLE* table)
|
|||||||
* RETURN:
|
* RETURN:
|
||||||
* rc as int
|
* rc as int
|
||||||
***********************************************************/
|
***********************************************************/
|
||||||
int ha_cs_impl_pushdown_init(mcs_handler_info* handler_info, TABLE* table)
|
int ha_mcs_impl_pushdown_init(mcs_handler_info* handler_info, TABLE* table)
|
||||||
{
|
{
|
||||||
IDEBUG( cout << "pushdown_init for table " << endl );
|
IDEBUG( cout << "pushdown_init for table " << endl );
|
||||||
THD* thd = current_thd;
|
THD* thd = current_thd;
|
||||||
@ -5364,7 +5354,7 @@ internal_error:
|
|||||||
return ER_INTERNAL_ERROR;
|
return ER_INTERNAL_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ha_cs_impl_select_next(uchar* buf, TABLE* table)
|
int ha_mcs_impl_select_next(uchar* buf, TABLE* table)
|
||||||
{
|
{
|
||||||
int rc = HA_ERR_END_OF_FILE;
|
int rc = HA_ERR_END_OF_FILE;
|
||||||
THD* thd = current_thd;
|
THD* thd = current_thd;
|
||||||
@ -5394,7 +5384,6 @@ int ha_cs_impl_select_next(uchar* buf, TABLE* table)
|
|||||||
// if (MIGR::infinidb_vtable.impossibleWhereOnUnion)
|
// if (MIGR::infinidb_vtable.impossibleWhereOnUnion)
|
||||||
// return HA_ERR_END_OF_FILE;
|
// return HA_ERR_END_OF_FILE;
|
||||||
|
|
||||||
// @bug 3078
|
|
||||||
if (thd->killed == KILL_QUERY || thd->killed == KILL_QUERY_HARD)
|
if (thd->killed == KILL_QUERY || thd->killed == KILL_QUERY_HARD)
|
||||||
{
|
{
|
||||||
force_close_fep_conn(thd, ci);
|
force_close_fep_conn(thd, ci);
|
||||||
|
@ -43,8 +43,8 @@ extern int ha_mcs_impl_update_row();
|
|||||||
extern int ha_mcs_impl_direct_update_delete_rows(bool execute, ha_rows *affected_rows, const std::vector<COND*>& condStack);
|
extern int ha_mcs_impl_direct_update_delete_rows(bool execute, ha_rows *affected_rows, const std::vector<COND*>& condStack);
|
||||||
extern int ha_mcs_impl_delete_row();
|
extern int ha_mcs_impl_delete_row();
|
||||||
extern int ha_mcs_impl_rnd_pos(uchar* buf, uchar* pos);
|
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);
|
extern int ha_mcs_impl_pushdown_init(mcs_handler_info* handler_info, TABLE* table);
|
||||||
extern int ha_cs_impl_select_next(uchar *buf, TABLE *table);
|
extern int ha_mcs_impl_select_next(uchar *buf, TABLE *table);
|
||||||
extern int ha_mcs_impl_group_by_init(mcs_handler_info *handler_info, TABLE* table);
|
extern int ha_mcs_impl_group_by_init(mcs_handler_info *handler_info, TABLE* table);
|
||||||
extern int ha_mcs_impl_group_by_next(TABLE* table);
|
extern int ha_mcs_impl_group_by_next(TABLE* table);
|
||||||
extern int ha_mcs_impl_group_by_end(TABLE* table);
|
extern int ha_mcs_impl_group_by_end(TABLE* table);
|
||||||
|
@ -603,7 +603,7 @@ int ha_columnstore_derived_handler::init_scan()
|
|||||||
|
|
||||||
mcs_handler_info mhi = mcs_handler_info(reinterpret_cast<void*>(this), DERIVED);
|
mcs_handler_info mhi = mcs_handler_info(reinterpret_cast<void*>(this), DERIVED);
|
||||||
// this::table is the place for the result set
|
// this::table is the place for the result set
|
||||||
int rc = ha_cs_impl_pushdown_init(&mhi, table);
|
int rc = ha_mcs_impl_pushdown_init(&mhi, table);
|
||||||
|
|
||||||
DBUG_RETURN(rc);
|
DBUG_RETURN(rc);
|
||||||
}
|
}
|
||||||
@ -910,7 +910,7 @@ int ha_columnstore_select_handler::init_scan()
|
|||||||
{
|
{
|
||||||
mcs_handler_info mhi= mcs_handler_info(
|
mcs_handler_info mhi= mcs_handler_info(
|
||||||
reinterpret_cast<void*>(this), SELECT);
|
reinterpret_cast<void*>(this), SELECT);
|
||||||
rc= ha_cs_impl_pushdown_init(&mhi, this->table);
|
rc= ha_mcs_impl_pushdown_init(&mhi, this->table);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -937,7 +937,7 @@ int ha_columnstore_select_handler::next_row()
|
|||||||
{
|
{
|
||||||
DBUG_ENTER("ha_columnstore_select_handler::next_row");
|
DBUG_ENTER("ha_columnstore_select_handler::next_row");
|
||||||
|
|
||||||
int rc= ha_cs_impl_select_next(table->record[0], table);
|
int rc= ha_mcs_impl_select_next(table->record[0], table);
|
||||||
|
|
||||||
DBUG_RETURN(rc);
|
DBUG_RETURN(rc);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user