- 21 Jan, 2017 3 commits
-
-
Sergei Petrunia authored
MyRocks seems to no longer depend on it not being present after the merge.
-
Sergei Petrunia authored
-
Sergei Petrunia authored
- It turns out, ha_rocksdb::table_flags() can return HA_PRIMARY_KEY_IN_READ_INDEX for all kinds of tables (as its meaning is "if there is a PK, PK columns contribute to the secondary index tuple". There is no assumption that a certain PK column can be decoded from the secondary index. (Should probably be fixed in the upstream, too, but I was unable to construct a testcase showing this is necessary). - Following the above, we can undo the init_with_fields() changes in table.cc. MyRocks calls init_with_fields() from ha_rocksdb::open() which sets index-only read capabilities properly.
-
- 11 Jan, 2017 6 commits
-
-
Sergei Petrunia authored
-
Sergei Petrunia authored
mariadb_connector_c fetches all submodules in the tre. Invoke it betfore the CONFIGURE_PLUGINS(). This is generally useful, as one can imagine many plugins have submodules.
-
Sergei Petrunia authored
-
Sergei Petrunia authored
- Use rocksdb_sys_vars/my.cnf so that one can run tests from that suite by just "./mtr rocksdb_sys_vars.$TESTNAME" - Add rocksdb and rocksdb_sys_vars to the set of default test suites. Don't run with embedded server, yet.
-
Sergei Petrunia authored
"Userstat" feature in MariaDB does not have I_S.table_statistics.rows_requested column. We'll use I_S.table_statistics.rows_read instead. The testcase doesn't do anything where rows_requested != rows_read.
-
Sergei Petrunia authored
MariaDB doesn't have NO_CLEAR_EVENT support in DEBUG_SYNC facility. Luckily, the test can be re-written to use two different sync points instead. (I've checked that the modified test fails with fb/mysql-5.6 without the fix for e004fd9f (PR #394)
-
- 08 Jan, 2017 1 commit
-
-
Sergei Petrunia authored
- Fix the test cases to not use userstat counters specific to facebook/mysql-5.6 - Make testcase also check MariaDB's ICP counters - Remove ha_rocksdb::check_index_cond(), call handler_index_cond_check instead.
-
- 07 Jan, 2017 2 commits
-
-
Sergei Petrunia authored
Make rocksdb_rows_XXX counters to work
-
Sergei Petrunia authored
In MySQL 5.6, QUICK_SELECT_DESC calls handler->set_end_range() to inform the storage engine about the bounds of the range being scanned. MariaDB doesn't have that (handler::set_end_range call was back-ported but it is not called from QUICK_SELECT_DESC). Instead, it got prepare_*scan() methods from TokuDB. Implement these methods so that MyRocks has information about the range end.
-
- 06 Jan, 2017 1 commit
-
-
Sergei Petrunia authored
-
- 02 Jan, 2017 5 commits
-
-
Sergei Petrunia authored
- Need to manually enable userstat - MariaDB has a lot fewer columns in table_statistics table.
-
Sergei Petrunia authored
and a few trivial test result updates
-
Sergei Petrunia authored
- rocksdb.tmpdir works (however @@rocksdb_tmpdir has no effect yet!) - trx_info_rpl is only run in RBR mode - type_char_indexes_collation now works = take into account that characters with the same weight can have any order after sorting (and they do in MariaDB) = MariaDB doesn't use index-only for extended keys that have partially- covered columns.
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
- 01 Jan, 2017 3 commits
-
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sachin Setiya authored
Problem:- In replication if slave has extra persistent column then these column are not computed while applying write-set from master. Solution:- While applying row events from server, we will generate values for extra persistent columns.
-
- 31 Dec, 2016 4 commits
-
-
Sergei Petrunia authored
-
Sergei Petrunia authored
commit f6ed777697db4ad7aee1e98c53243dced2b5891c Author: Chenyu Yan <seayan@outlook.com> Date: Thu Dec 29 16:10:25 2016 -0800 Fix BIG_TIMEOUT constant Summary: Update the constant to reflect what the comments indicates. Reviewed By: gunnarku Differential Revision: D4374476 fbshipit-source-id: dd7f484
-
Sergei Petrunia authored
We expose @@rocksdb_skip_unique_check_tables anyway, so it's not really disabled.
-
Sergei Petrunia authored
- Fix include paths, add suite.opt - Add a test for @@rocksdb_supported_compression_types Now all tests pass, except rocksdb_sysvars.rocksdb_rpl_skip_tx_api_basic
-
- 30 Dec, 2016 10 commits
-
-
Marko Mäkelä authored
Deprecate the variable in MariaDB 10.2, saying that it will be removed in 10.3.
-
Marko Mäkelä authored
The InnoDB source code contains quite a few references to a closed-source hot backup tool which was originally called InnoDB Hot Backup (ibbackup) and later incorporated in MySQL Enterprise Backup. The open source backup tool XtraBackup uses the full database for recovery. So, the references to UNIV_HOTBACKUP are only cluttering the source code.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The configuration parameter innodb_use_fallocate, which is mapped to the variable srv_use_posix_fallocate, has no effect in MariaDB 10.2.2 or MariaDB 10.2.3. Thus the configuration parameter and the variable should be removed.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
fil_space_t::recv_size: New member: recovered tablespace size in pages; 0 if no size change was read from the redo log, or if the size change was implemented. fil_space_set_recv_size(): New function for setting space->recv_size. innodb_data_file_size_debug: A debug parameter for setting the system tablespace size in recovery even when the redo log does not contain any size changes. It is hard to write a small test case that would cause the system tablespace to be extended at the critical moment. recv_parse_log_rec(): Note those tablespaces whose size is being changed by the redo log, by invoking fil_space_set_recv_size(). innobase_init(): Correct an error message, and do not require a larger innodb_buffer_pool_size when starting up with a smaller innodb_page_size. innobase_start_or_create_for_mysql(): Allow startup with any initial size of the ibdata1 file if the autoextend attribute is set. Require the minimum size of fixed-size system tablespaces to be 640 pages, not 10 megabytes. Implement innodb_data_file_size_debug. open_or_create_data_files(): Round the system tablespace size down to pages, not to full megabytes, (Our test truncates the system tablespace to more than 800 pages with innodb_page_size=4k. InnoDB should not imagine that it was truncated to 768 pages and then overwrite good pages in the tablespace.) fil_flush_low(): Refactored from fil_flush(). fil_space_extend_must_retry(): Refactored from fil_extend_space_to_desired_size(). fil_mutex_enter_and_prepare_for_io(): Extend the tablespace if fil_space_set_recv_size() was called. The test case has been successfully run with all the innodb_page_size values 4k, 8k, 16k, 32k, 64k.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 29 Dec, 2016 5 commits
-
-
Sergei Petrunia authored
- It's from a webscalesql feature that we dont have - MyRocks ignores it anyway
-
Marko Mäkelä authored
fsp_header_get_crypt_offset(): Remove. xdes_arr_size(): Remove. fsp_header_get_encryption_offset(): Make this an inline function. The correctness of this change was ensured with the following patch that ensures that the two functions returned the same value, only differing by FSP_HEADER_OFFSET (38 bytes): diff --git a/storage/innobase/fsp/fsp0fsp.cc b/storage/innobase/fsp/fsp0fsp.cc index f2a4c6bf218..e96c788b7df 100644 --- a/storage/innobase/fsp/fsp0fsp.cc +++ b/storage/innobase/fsp/fsp0fsp.cc @@ -850,6 +850,7 @@ fsp_parse_init_file_page( return(ptr); } +static ulint fsp_header_get_encryption_offset(const page_size_t&); /**********************************************************************//** Initializes the fsp system. */ void @@ -868,6 +869,31 @@ fsp_init(void) #endif /* Does nothing at the moment */ + + for (ulint sz = 4096; sz <= 65536; sz *= 2) { + ulint m; + if (sz <= 16384) { + for (ulint ph = 1024; ph <= sz; ph *= 2) { + const page_size_t ps(ph, sz, true); + ulint maria = fsp_header_get_crypt_offset(ps, &m), + oracle = fsp_header_get_encryption_offset(ps); + if (maria != oracle + 38) { + ib::error() << "zip size mismatch: " + << maria << "!=" << oracle + << "(" << ph <<","<<sz<<")" + << m; + } + } + } + const page_size_t p(sz, sz, false); + ulint maria = fsp_header_get_crypt_offset(p, &m), + oracle = fsp_header_get_encryption_offset(p); + if (maria != oracle + 38) { + ib::error() << "size mismatch: " + << maria << "!=" << oracle + << "(" <<sz<<")" << m; + } + } } /**********************************************************************//**
-
Marko Mäkelä authored
-
Sergei Golubchik authored
* some of these tests run just fine with InnoDB: -> s/have_xtradb/have_innodb/ * sys_var tests did basic tests for xtradb only variables -> remove them, they're useless anyway (sysvar_innodb does it better) * multi_update had innodb specific tests -> move to multi_update_innodb.test
-
Sergei Golubchik authored
-