Commit 907eaff9 authored by Rich Prohaska's avatar Rich Prohaska

#167 ignore dictionary too new errors

parent 9765454a
...@@ -3995,21 +3995,14 @@ int ha_tokudb::write_row(uchar * record) { ...@@ -3995,21 +3995,14 @@ int ha_tokudb::write_row(uchar * record) {
// if we have a duplicate key error, let's check the primary key to see // if we have a duplicate key error, let's check the primary key to see
// if there is a duplicate there. If so, set last_dup_key to the pk // if there is a duplicate there. If so, set last_dup_key to the pk
if (error == DB_KEYEXIST && !tokudb_test(hidden_primary_key) && last_dup_key != primary_key) { if (error == DB_KEYEXIST && !tokudb_test(hidden_primary_key) && last_dup_key != primary_key) {
int r = share->file->getf_set( int r = share->file->getf_set(share->file, txn, 0, &prim_key, smart_dbt_do_nothing, NULL);
share->file,
txn,
0,
&prim_key,
smart_dbt_do_nothing,
NULL
);
if (r == 0) { if (r == 0) {
// if we get no error, that means the row // if we get no error, that means the row
// was found and this is a duplicate key, // was found and this is a duplicate key,
// so we set last_dup_key // so we set last_dup_key
last_dup_key = primary_key; last_dup_key = primary_key;
} }
else if (r != DB_NOTFOUND) { else if (r != DB_NOTFOUND && r != TOKUDB_MVCC_DICTIONARY_TOO_NEW) {
// if some other error is returned, return that to the user. // if some other error is returned, return that to the user.
error = r; error = r;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment