diff options
author | Sergei Petrunia <psergey@askmonty.org> | 2019-06-16 20:41:53 +0300 |
---|---|---|
committer | Sergei Petrunia <psergey@askmonty.org> | 2019-06-16 20:41:53 +0300 |
commit | 27e05d92be7dc6e3b1004319f98f5943de8c665d (patch) | |
tree | bad53eae09282fa61ba14a11f292db38b012dfd3 /storage/rocksdb | |
parent | 6152ecea21b74523b469ac6f6c64f9cdc76b78d4 (diff) | |
download | mariadb-git-27e05d92be7dc6e3b1004319f98f5943de8c665d.tar.gz |
Post-merge fixes cont'd
Diffstat (limited to 'storage/rocksdb')
-rw-r--r-- | storage/rocksdb/ha_rocksdb.cc | 13 | ||||
-rw-r--r-- | storage/rocksdb/mysql-test/rocksdb/t/disabled.def | 3 |
2 files changed, 11 insertions, 5 deletions
diff --git a/storage/rocksdb/ha_rocksdb.cc b/storage/rocksdb/ha_rocksdb.cc index 229e78503c7..397f98b46d1 100644 --- a/storage/rocksdb/ha_rocksdb.cc +++ b/storage/rocksdb/ha_rocksdb.cc @@ -3726,7 +3726,7 @@ static Rdb_transaction *get_or_create_tx(THD *const thd) { if (tx == nullptr) { bool rpl_skip_tx_api= false; // MARIAROCKS_NOT_YET. if ((rpl_skip_tx_api && thd->rgi_slave) || - false /* MARIAROCKS_NOT_YET: THDVAR(thd, master_skip_tx_api) && !thd->rgi_slave)*/) + (THDVAR(thd, master_skip_tx_api) && !thd->rgi_slave)) { tx = new Rdb_writebatch_impl(thd); } else { @@ -8863,9 +8863,14 @@ rocksdb::Status ha_rocksdb::get_for_update( bool ha_rocksdb::is_blind_delete_enabled() { THD *thd = ha_thd(); + /* + Note: in MariaDB, thd->lex->table_count is only set for multi-table DELETE, + not for single-table DELETE. So we check thd->lex->query_tables instead. + */ return (THDVAR(thd, blind_delete_primary_key) && thd->lex->sql_command == SQLCOM_DELETE && - thd->lex->table_count == 1 && table->s->keys == 1 && + thd->lex->query_tables && !thd->lex->query_tables->next_global && + table->s->keys == 1 && !has_hidden_pk(table) && !thd->rgi_slave); } @@ -13681,11 +13686,9 @@ bool ha_rocksdb::should_recreate_snapshot(const int rc, * using TX API and skipping row locking. */ bool ha_rocksdb::can_assume_tracked(THD *thd) { -#ifdef MARIAROCKS_NOT_YET - if (use_read_free_rpl() || (THDVAR(thd, blind_delete_primary_key))) { + if (/* MARIAROCKS_NOT_YET use_read_free_rpl() ||*/ (THDVAR(thd, blind_delete_primary_key))) { return false; } -#endif return true; } diff --git a/storage/rocksdb/mysql-test/rocksdb/t/disabled.def b/storage/rocksdb/mysql-test/rocksdb/t/disabled.def index 8f6eef0f703..b82c2207117 100644 --- a/storage/rocksdb/mysql-test/rocksdb/t/disabled.def +++ b/storage/rocksdb/mysql-test/rocksdb/t/disabled.def @@ -35,6 +35,9 @@ bypass_select_basic : Query bypass is not supported rocksdb_read_free_rpl : Read-Free replication is not supported rocksdb_read_free_rpl_stress : Read-Free replication is not supported +blind_delete_rr : Read-Free replication is not supported +blind_delete_rc : Read-Free replication is not supported + ## ## Tests that do not fit MariaDB's test environment. Upstream seems to test ## on boxes with much more RAM and CPU, some tests are more of a stress tests |