From d26223aa50331ff4193e8b768f68526aa9bae141 Mon Sep 17 00:00:00 2001 From: Andrew Hutchings Date: Thu, 19 Jan 2017 16:43:27 +0000 Subject: [PATCH] MCOL-454 Fix HWM edge case Sometimes block offset can be > 0 but HWM can be 0 this causes a calculation error in the DATA_SIZE field of I_S.columnstore_extents --- dbcon/mysql/is_columnstore_extents.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/dbcon/mysql/is_columnstore_extents.cpp b/dbcon/mysql/is_columnstore_extents.cpp index 1d1098eda..9f7e11710 100644 --- a/dbcon/mysql/is_columnstore_extents.cpp +++ b/dbcon/mysql/is_columnstore_extents.cpp @@ -152,7 +152,15 @@ static int is_columnstore_extents_fill(THD *thd, TABLE_LIST *tables, COND *cond) default: table->field[14]->store("Unknown", strlen("Unknown"), cs); } - table->field[15]->store((iter->HWM - iter->blockOffset + 1) * 8192); + // MCOL-454: special case, sometimes blockOffset can be > 0 and HWM can be 0 + if (iter->HWM == 0) + { + table->field[15]->store(8192); + } + else + { + table->field[15]->store((iter->HWM - iter->blockOffset + 1) * 8192); + } if (schema_table_store_record(thd, table)) {