Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
2018-02, 2018-03
Description
The bulk write API continues the same block for dictionary entries. PrimProc uses a block level cache and this isn't flushed on a bulk write so new appended entries aren't seen by PrimProc showing CpNoTf until restart.
test.t1 is a table with an int and varchar(64).
Test case:
std::string table("t1"); |
std::string db("test"); |
mcsapi::ColumnStoreDriver* driver;
|
mcsapi::ColumnStoreBulkInsert* bulk;
|
driver = new mcsapi::ColumnStoreDriver(); |
bulk = driver->createBulkInsert(db, table, 0, 0);
|
bulk->setColumn(0, 1);
|
bulk->setColumn(1, "preload"); |
bulk->writeRow();
|
bulk->commit();
|
mysql_query(my_con, "SELECT * FROM mcol1154"); |
MYSQL_RES* result = mysql_store_result(my_con);
|
mysql_free_result(result);
|
delete bulk; |
bulk = driver->createBulkInsert(db, table, 0, 0);
|
bulk->setColumn(0, 1);
|
bulk->setColumn(1, "hello world1"); |
bulk->writeRow();
|
bulk->setColumn(0, 2);
|
bulk->setColumn(1, "hello world4"); |
bulk->writeRow();
|
bulk->setColumn(0, 3);
|
bulk->setColumn(1, "hello world9"); |
bulk->writeRow();
|
bulk->setColumn(0, 4);
|
bulk->setColumn(1, "hello world16"); |
bulk->writeRow();
|
bulk->commit();
|
delete bulk; |
delete driver; |
Attachments
Issue Links
- relates to
-
MCOL-1154 mcsapi causes data corruption if a NUL termination is sent with a string
- Closed