diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-06-02 10:25:11 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-06-02 10:25:11 +0300 |
commit | 8300f639a14afeb379c224e10dab9d99d31cecbd (patch) | |
tree | c67c0a5afc6062b99ec21194a99b81d3633f8c38 /storage | |
parent | 804761a844906c7f7bd11139a366a5dfc1d8bcd6 (diff) | |
parent | 50641db2d11ad8a2228f7938d851e52decb71a9b (diff) | |
download | mariadb-git-8300f639a14afeb379c224e10dab9d99d31cecbd.tar.gz |
Merge 10.2 into 10.3
Diffstat (limited to 'storage')
-rw-r--r-- | storage/connect/CMakeLists.txt | 2 | ||||
-rw-r--r-- | storage/innobase/btr/btr0cur.cc | 2 | ||||
-rw-r--r-- | storage/innobase/buf/buf0buf.cc | 2 | ||||
-rw-r--r-- | storage/innobase/buf/buf0flu.cc | 6 | ||||
-rw-r--r-- | storage/innobase/buf/buf0lru.cc | 21 | ||||
-rw-r--r-- | storage/innobase/handler/ha_innodb.cc | 2 | ||||
-rw-r--r-- | storage/innobase/include/que0que.h | 12 | ||||
-rw-r--r-- | storage/innobase/include/que0que.ic | 15 | ||||
-rw-r--r-- | storage/innobase/include/trx0roll.h | 11 | ||||
-rw-r--r-- | storage/innobase/row/row0umod.cc | 2 | ||||
-rw-r--r-- | storage/innobase/row/row0upd.cc | 3 | ||||
-rw-r--r-- | storage/innobase/trx/trx0roll.cc | 13 | ||||
-rw-r--r-- | storage/mroonga/mrn_table.cpp | 2 |
13 files changed, 13 insertions, 80 deletions
diff --git a/storage/connect/CMakeLists.txt b/storage/connect/CMakeLists.txt index 199a8a3fa8b..0af3a02a09d 100644 --- a/storage/connect/CMakeLists.txt +++ b/storage/connect/CMakeLists.txt @@ -318,7 +318,7 @@ ENDIF(CONNECT_WITH_MONGO) OPTION(CONNECT_WITH_REST "Compile CONNECT storage engine with REST support" ON) IF(CONNECT_WITH_REST) - MESSAGE(STATUS "=====> REST support is ON") + MESSAGE_ONCE(CONNECT_WITH_REST "REST support is ON") SET(CONNECT_SOURCES ${CONNECT_SOURCES} tabrest.cpp tabrest.h) add_definitions(-DREST_SUPPORT) FIND_PACKAGE(cpprestsdk QUIET) diff --git a/storage/innobase/btr/btr0cur.cc b/storage/innobase/btr/btr0cur.cc index a2364299135..5ff19e9aaf6 100644 --- a/storage/innobase/btr/btr0cur.cc +++ b/storage/innobase/btr/btr0cur.cc @@ -4286,7 +4286,7 @@ btr_cur_optimistic_update( ULINT_UNDEFINED, heap); #if defined UNIV_DEBUG || defined UNIV_BLOB_LIGHT_DEBUG ut_a(!rec_offs_any_null_extern(rec, *offsets) - || trx_is_recv(thr_get_trx(thr))); + || thr_get_trx(thr) == trx_roll_crash_recv_trx); #endif /* UNIV_DEBUG || UNIV_BLOB_LIGHT_DEBUG */ const bool is_metadata = update->info_bits == REC_INFO_METADATA; diff --git a/storage/innobase/buf/buf0buf.cc b/storage/innobase/buf/buf0buf.cc index 9a32f4cbd14..750e9da181f 100644 --- a/storage/innobase/buf/buf0buf.cc +++ b/storage/innobase/buf/buf0buf.cc @@ -4677,7 +4677,7 @@ evict_from_pool: buf_pool->mutex or block->mutex. */ { - bool success = buf_zip_decompress(block, TRUE); + bool success = buf_zip_decompress(block, false); if (!success) { buf_pool_mutex_enter(buf_pool); diff --git a/storage/innobase/buf/buf0flu.cc b/storage/innobase/buf/buf0flu.cc index b116ca919fd..243f3a18019 100644 --- a/storage/innobase/buf/buf0flu.cc +++ b/storage/innobase/buf/buf0flu.cc @@ -1071,10 +1071,8 @@ buf_flush_write_block_low( case BUF_BLOCK_ZIP_DIRTY: frame = bpage->zip.data; - mach_write_to_8(frame + FIL_PAGE_LSN, - bpage->newest_modification); - - ut_a(page_zip_verify_checksum(frame, bpage->size.physical())); + buf_flush_update_zip_checksum(frame, bpage->size.physical(), + bpage->newest_modification); break; case BUF_BLOCK_FILE_PAGE: frame = bpage->zip.data; diff --git a/storage/innobase/buf/buf0lru.cc b/storage/innobase/buf/buf0lru.cc index 40fed0617e7..2baa7ab0780 100644 --- a/storage/innobase/buf/buf0lru.cc +++ b/storage/innobase/buf/buf0lru.cc @@ -1616,27 +1616,6 @@ func_exit: UNIV_MEM_INVALID(((buf_block_t*) bpage)->frame, srv_page_size); - if (b != NULL) { - - /* Compute and stamp the compressed page - checksum while not holding any mutex. The - block is already half-freed - (BUF_BLOCK_REMOVE_HASH) and removed from - buf_pool->page_hash, thus inaccessible by any - other thread. */ - - ut_ad(b->size.is_compressed()); - - const uint32_t checksum = page_zip_calc_checksum( - b->zip.data, - b->size.physical(), - static_cast<srv_checksum_algorithm_t>( - srv_checksum_algorithm)); - - mach_write_to_4(b->zip.data + FIL_PAGE_SPACE_OR_CHKSUM, - checksum); - } - buf_pool_mutex_enter(buf_pool); if (b != NULL) { diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index af849c09729..e3971126761 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -3688,7 +3688,7 @@ static int innodb_init_params() pages, even for larger pages */ if (srv_page_size > UNIV_PAGE_SIZE_DEF && innobase_buffer_pool_size < (24 * 1024 * 1024)) { - ib::info() << "innodb_page_size=" + ib::error() << "innodb_page_size=" << srv_page_size << " requires " << "innodb_buffer_pool_size > 24M current " << innobase_buffer_pool_size; diff --git a/storage/innobase/include/que0que.h b/storage/innobase/include/que0que.h index 66dc00f5d10..b46393e37d2 100644 --- a/storage/innobase/include/que0que.h +++ b/storage/innobase/include/que0que.h @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. -Copyright (c) 2017, 2019, MariaDB Corporation. +Copyright (c) 2017, 2020, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -169,16 +169,6 @@ trx_t* thr_get_trx( /*========*/ que_thr_t* thr); /*!< in: query thread */ -/*******************************************************************//** -Determines if this thread is rolling back an incomplete transaction -in crash recovery. -@return TRUE if thr is rolling back an incomplete transaction in crash -recovery */ -UNIV_INLINE -ibool -thr_is_recv( -/*========*/ - const que_thr_t* thr); /*!< in: query thread */ /***********************************************************************//** Gets the type of a graph node. */ UNIV_INLINE diff --git a/storage/innobase/include/que0que.ic b/storage/innobase/include/que0que.ic index 5b775820df7..1c3ac242bf2 100644 --- a/storage/innobase/include/que0que.ic +++ b/storage/innobase/include/que0que.ic @@ -1,6 +1,7 @@ /***************************************************************************** Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2020, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -36,20 +37,6 @@ thr_get_trx( return(thr->graph->trx); } -/*******************************************************************//** -Determines if this thread is rolling back an incomplete transaction -in crash recovery. -@return TRUE if thr is rolling back an incomplete transaction in crash -recovery */ -UNIV_INLINE -ibool -thr_is_recv( -/*========*/ - const que_thr_t* thr) /*!< in: query thread */ -{ - return(trx_is_recv(thr->graph->trx)); -} - /***********************************************************************//** Gets the first thr in a fork. */ UNIV_INLINE diff --git a/storage/innobase/include/trx0roll.h b/storage/innobase/include/trx0roll.h index d2b873c5647..a23b57ccc3e 100644 --- a/storage/innobase/include/trx0roll.h +++ b/storage/innobase/include/trx0roll.h @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. -Copyright (c) 2015, 2019, MariaDB Corporation. +Copyright (c) 2015, 2020, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -35,15 +35,6 @@ extern bool trx_rollback_is_active; extern const trx_t* trx_roll_crash_recv_trx; /*******************************************************************//** -Determines if this transaction is rolling back an incomplete transaction -in crash recovery. -@return TRUE if trx is an incomplete transaction that is being rolled -back in crash recovery */ -ibool -trx_is_recv( -/*========*/ - const trx_t* trx); /*!< in: transaction */ -/*******************************************************************//** Returns a transaction savepoint taken at this point in time. @return savepoint */ trx_savept_t diff --git a/storage/innobase/row/row0umod.cc b/storage/innobase/row/row0umod.cc index c71bf2643a6..2ac54c4025e 100644 --- a/storage/innobase/row/row0umod.cc +++ b/storage/innobase/row/row0umod.cc @@ -913,7 +913,7 @@ row_undo_mod_upd_del_sec( does not exist. However, this situation may only occur during the rollback of incomplete transactions. */ - ut_a(thr_is_recv(thr)); + ut_a(thr_get_trx(thr) == trx_roll_crash_recv_trx); } else { err = row_undo_mod_del_mark_or_remove_sec( node, thr, index, entry); diff --git a/storage/innobase/row/row0upd.cc b/storage/innobase/row/row0upd.cc index ea08e0c2787..b858a81c294 100644 --- a/storage/innobase/row/row0upd.cc +++ b/storage/innobase/row/row0upd.cc @@ -1884,7 +1884,8 @@ row_upd_changes_ord_field_binary_func( when the server had crashed before storing the field. */ ut_ad(thr->graph->trx->is_recovered); - ut_ad(trx_is_recv(thr->graph->trx)); + ut_ad(thr->graph->trx + == trx_roll_crash_recv_trx); return(TRUE); } diff --git a/storage/innobase/trx/trx0roll.cc b/storage/innobase/trx/trx0roll.cc index c06e181a097..f2b108edf39 100644 --- a/storage/innobase/trx/trx0roll.cc +++ b/storage/innobase/trx/trx0roll.cc @@ -593,19 +593,6 @@ trx_release_savepoint_for_mysql( } /*******************************************************************//** -Determines if this transaction is rolling back an incomplete transaction -in crash recovery. -@return TRUE if trx is an incomplete transaction that is being rolled -back in crash recovery */ -ibool -trx_is_recv( -/*========*/ - const trx_t* trx) /*!< in: transaction */ -{ - return(trx == trx_roll_crash_recv_trx); -} - -/*******************************************************************//** Returns a transaction savepoint taken at this point in time. @return savepoint */ trx_savept_t diff --git a/storage/mroonga/mrn_table.cpp b/storage/mroonga/mrn_table.cpp index 09bac98c153..eedb03544d0 100644 --- a/storage/mroonga/mrn_table.cpp +++ b/storage/mroonga/mrn_table.cpp @@ -932,7 +932,7 @@ MRN_SHARE *mrn_get_share(const char *table_name, TABLE *table, int *error) share->wrap_key_info = NULL; share->wrap_primary_key = MAX_KEY; } - memcpy(wrap_table_share, table->s, sizeof(*wrap_table_share)); + *wrap_table_share= *table->s; mrn_init_sql_alloc(current_thd, &(wrap_table_share->mem_root)); wrap_table_share->keys = share->wrap_keys; wrap_table_share->key_info = share->wrap_key_info; |