You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-11-02 06:13:16 +03:00
fix(plugin): MCOL-6029 use the right field from the rows_stats struct for inserts
This commit is contained in:
committed by
Leonid Fedorov
parent
e8b9adda8f
commit
5ffc688c26
@@ -77,11 +77,6 @@ pthread_mutex_t mcs_mutex;
|
||||
#endif
|
||||
#define DEBUG_RETURN return
|
||||
|
||||
#if MYSQL_VERSION_ID >= 110500
|
||||
/* because of renames in the handler class */
|
||||
#define rows_changed rows_stats.updated
|
||||
#endif
|
||||
|
||||
/**
|
||||
@brief
|
||||
Function we use in the creation of our hash to get key.
|
||||
@@ -335,7 +330,7 @@ int ha_mcs::write_row(const uchar* buf)
|
||||
int rc;
|
||||
try
|
||||
{
|
||||
rc = ha_mcs_impl_write_row(buf, table, rows_changed, time_zone);
|
||||
rc = ha_mcs_impl_write_row(buf, table, rows_inserted(), time_zone);
|
||||
}
|
||||
catch (std::runtime_error& e)
|
||||
{
|
||||
@@ -2008,7 +2003,7 @@ int ha_mcs_cache::flush_insert_cache()
|
||||
copied_rows++;
|
||||
if ((error = parent::write_row(record)))
|
||||
goto end;
|
||||
rows_changed++;
|
||||
rows_inserted()++;
|
||||
}
|
||||
if (error == HA_ERR_END_OF_FILE)
|
||||
error = 0;
|
||||
|
||||
@@ -59,6 +59,16 @@ class ha_mcs : public handler
|
||||
int impl_external_lock(THD* thd, TABLE* table, int lock_type);
|
||||
int impl_rnd_init(TABLE* table, const std::vector<COND*>& condStack);
|
||||
|
||||
protected:
|
||||
ha_rows& rows_inserted()
|
||||
{
|
||||
#if MYSQL_VERSION_ID >= 110500
|
||||
return rows_stats.inserted;
|
||||
#else
|
||||
return rows_changed;
|
||||
#endif
|
||||
}
|
||||
|
||||
public:
|
||||
ha_mcs(handlerton* hton, TABLE_SHARE* table_arg);
|
||||
~ha_mcs() override = default;
|
||||
|
||||
@@ -2891,7 +2891,7 @@ int ha_mcs_impl_delete_table(const char* name)
|
||||
int rc = ha_mcs_impl_delete_table_(dbName, name, *ci);
|
||||
return rc;
|
||||
}
|
||||
int ha_mcs_impl_write_row(const uchar* buf, TABLE* table, uint64_t rows_changed, long timeZone)
|
||||
int ha_mcs_impl_write_row(const uchar* buf, TABLE* table, uint64_t rows_inserted, long timeZone)
|
||||
{
|
||||
THD* thd = current_thd;
|
||||
|
||||
@@ -2921,7 +2921,7 @@ int ha_mcs_impl_write_row(const uchar* buf, TABLE* table, uint64_t rows_changed,
|
||||
|
||||
// At the beginning of insert, make sure there are no
|
||||
// left-over values from a previously possibly failed insert.
|
||||
if (rows_changed == 0)
|
||||
if (rows_inserted == 0)
|
||||
ci->tableValuesMap.clear();
|
||||
|
||||
if (ci->alterTableState > 0)
|
||||
|
||||
@@ -31,7 +31,7 @@ extern int ha_mcs_impl_open(const char* name, int mode, uint32_t test_if_locked)
|
||||
extern int ha_mcs_impl_close(void);
|
||||
extern int ha_mcs_impl_rnd_next(uchar* buf, TABLE* table, long timeZone);
|
||||
extern int ha_mcs_impl_rnd_end(TABLE* table, bool is_derived_hand = false);
|
||||
extern int ha_mcs_impl_write_row(const uchar* buf, TABLE* table, uint64_t rows_changed, long timeZone);
|
||||
extern int ha_mcs_impl_write_row(const uchar* buf, TABLE* table, uint64_t rows_inserted, long timeZone);
|
||||
extern void ha_mcs_impl_start_bulk_insert(ha_rows rows, TABLE* table, bool is_cache_insert = false);
|
||||
extern int ha_mcs_impl_end_bulk_insert(bool abort, TABLE* table);
|
||||
extern int ha_mcs_impl_rename_table(const char* from, const char* to);
|
||||
|
||||
Reference in New Issue
Block a user