summaryrefslogtreecommitdiff
path: root/storage/rocksdb
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2019-06-16 20:41:53 +0300
committerSergei Petrunia <psergey@askmonty.org>2019-06-16 20:41:53 +0300
commit27e05d92be7dc6e3b1004319f98f5943de8c665d (patch)
treebad53eae09282fa61ba14a11f292db38b012dfd3 /storage/rocksdb
parent6152ecea21b74523b469ac6f6c64f9cdc76b78d4 (diff)
downloadmariadb-git-27e05d92be7dc6e3b1004319f98f5943de8c665d.tar.gz
Post-merge fixes cont'd
Diffstat (limited to 'storage/rocksdb')
-rw-r--r--storage/rocksdb/ha_rocksdb.cc13
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/t/disabled.def3
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