1. 21 Jan, 2017 3 commits
    • Sergei Petrunia's avatar
      MariaRocks port: put back the assert · 351043ad
      Sergei Petrunia authored
      MyRocks seems to no longer depend on it not being present after the
      merge.
      351043ad
    • Sergei Petrunia's avatar
    • Sergei Petrunia's avatar
      MariaRocks port: Remove handler::init_with_fields · 7fb3b348
      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.
      7fb3b348
  2. 11 Jan, 2017 6 commits
  3. 08 Jan, 2017 1 commit
  4. 07 Jan, 2017 2 commits
    • Sergei Petrunia's avatar
      MariaRocks port: fix rocksdb.rocksdb_row_stats test · 93d3a39b
      Sergei Petrunia authored
      Make rocksdb_rows_XXX counters to work
      93d3a39b
    • Sergei Petrunia's avatar
      MariaRocks port: fix rocksdb.bloomfilter3 test · ebbe59fa
      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.
      ebbe59fa
  5. 06 Jan, 2017 1 commit
  6. 02 Jan, 2017 5 commits
  7. 01 Jan, 2017 3 commits
  8. 31 Dec, 2016 4 commits
  9. 30 Dec, 2016 10 commits
    • Marko Mäkelä's avatar
      MDEV-11687 innodb_use_fallocate has no effect · b727213d
      Marko Mäkelä authored
      Deprecate the variable in MariaDB 10.2, saying
      that it will be removed in 10.3.
      b727213d
    • Marko Mäkelä's avatar
      MDEV-11690 Remove UNIV_HOTBACKUP · 63574f12
      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.
      63574f12
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.2 · 9ebd7673
      Marko Mäkelä authored
      9ebd7673
    • Marko Mäkelä's avatar
      MDEV-11687 innodb_use_fallocate has no effect · 1ab3866d
      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.
      1ab3866d
    • Marko Mäkelä's avatar
      Remove dead references to NO_FALLOCATE. · d4342702
      Marko Mäkelä authored
      d4342702
    • Marko Mäkelä's avatar
      cbf80b0d
    • Marko Mäkelä's avatar
      MDEV-11556 InnoDB redo log apply fails to adjust data file sizes · 8451e090
      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.
      8451e090
    • Marko Mäkelä's avatar
      f493e395
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.2 · 970f17cb
      Marko Mäkelä authored
      970f17cb
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.2 · 341c375d
      Marko Mäkelä authored
      341c375d
  10. 29 Dec, 2016 5 commits
    • Sergei Petrunia's avatar
      MariaRocks port: remove target_lsn parameter of rocksdb_flush_wal · d379963d
      Sergei Petrunia authored
      - It's from a webscalesql feature that we dont have
      - MyRocks ignores it anyway
      d379963d
    • Marko Mäkelä's avatar
      MDEV-11679 Remove redundant function fsp_header_get_crypt_offset() · f2fe6510
      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;
      +		}
      +	}
       }
      
       /**********************************************************************//**
      f2fe6510
    • Marko Mäkelä's avatar
      7bcae22b
    • Sergei Golubchik's avatar
      enable tests that were skipped because of have_xtradb · ab89359d
      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
      ab89359d
    • Sergei Golubchik's avatar
      cleanup: binlog.binlog_killed_simulate · b3d6cbc2
      Sergei Golubchik authored
      b3d6cbc2