Commit graph

175284 commits

Author SHA1 Message Date
Sergei Petrunia
4faa9da81c MariaRocks port: Make SQL layer allow errors in start_consistent_snapshot().
rocksdb.cons_snapshot_read_committed test used to crash.
This happened, because
- MyRocks produces an error when one attempts to do a START TRANSACTION
  WITH CONSISTENT SNAPSHOT with @@tx_isolation=REPEATABLE_READ
- MariaDB's SQL layer didn't assume that errors are possible inside
  hton->start_constistent_snapshot() call.
2016-12-27 01:55:05 +03:00
Sergei Petrunia
8f2d58b26b MariaRocks port: run rocksdb.rpl_row_stats with binlog_format=row only
The test still fails but at least we do not try to run it with
wrong binlog_format.
2016-12-26 22:31:46 +03:00
Sergei Petrunia
122bc4b54c MariaRocks port: Remove ifdef MARIAROCKS_NOT_YET in rocksdb_start_tx_and_assign_read_view
Looked though the code: MariaDB's method of doing START TRANSACTION
WITH CONSISTENT SNAPSHOT doesn't require mysql_bin_log_lock_commits
calls.
2016-12-26 19:12:16 +00:00
Sergei Petrunia
9f7dc2bbf5 MariaRocks port: make rocksdb.rpl_savepoint pass
Run it only with binlog_format=row, update test result
2016-12-15 20:56:27 +03:00
Sergei Petrunia
24224839d8 MariaRocks port: make rocksdb.rpl_statement_not_found work 2016-12-15 19:25:32 +03:00
Sergei Petrunia
0d3d2a5747 MariaRocks port: mark rocksdb.rpl_statement to be run only in statement mode. 2016-12-15 16:11:22 +03:00
Sergei Petrunia
73c702eae5 MariaRocks port: fix rocksdb.rpl_row_rocksdb test
The 'combinations' system in MTR ignores settings from $testname.cnf,
and tries to run RBR test with binlog_format=mixed.

Fixed by using "source include/have_binlog_format_row.inc" which tells
MTR to only run the test with binlog_format=ROW.
The test still needs its $testname.cnf to include suite/rpl/my.cnf. This
is necessary to setup replication

(Using "source include/master-slave.inc" will have MTR set up replication
for the test, but only as long as the testsuite doesn't have its own
suite/rocksdb/my.cnf.  We do have that file (and it doesn't set up
replication), so we need to have $testname.cnf to setup replication).
2016-12-15 15:34:56 +03:00
Sergei Petrunia
8e2cfde953 MariaRocks port: fix rocksdb.collation, rocksdb.collation_exception
- port Regex_list_handler from facebook/mysql-5.6/sql/handler.cc
  put it into a separate file in storage/rocksdb directory

- Adjust the build process so that the main library is build with
  Regex_list_handler (which has dependencies on the server),
  while RocksDB tools are built without it.

- Un-comment @@rdb_collation_exceptions handling in ha_rocksdb.cc
- Also adjust rocksdb_set_collation_exception_list() to free the
  old variable value and alloc the new one.
2016-12-04 23:55:54 +03:00
Sergei Petrunia
34b66fcc98 MariaRocks port: get rocksdb.locking_issues test to work
Also update test results (MariaDB's dialect changes)
2016-12-04 14:27:10 +00:00
Sergei Petrunia
7b708ee3ed MDEV-11329: MariaRocks: rocksdb.add_index_inplace fails
- Make ha_rocksdb::check_if_supported_inplace_alter() take into
  account the Alter_inplace_info::ALTER_PARTITIONED flag

- Adjust the testcase to work in MariaDB
2016-12-04 09:28:51 +00:00
Sergei Petrunia
05a593dfc9 MariaRocks: temporary disable read-free replication
Making read-free replication to work is filed as MDEV-10976
2016-12-04 08:28:34 +00:00
Sergei Petrunia
81c05c5931 MariaRocks port: disable rocksdb.select_for_update_skip_locked_nowait 2016-12-03 20:56:40 +00:00
Sergei Petrunia
9a49210ec3 MariaRocks port: disable rocksdb.slwo_query_log test (MDEV-11480) 2016-12-03 20:37:45 +00:00
Sergei Petrunia
aecc95a15c MariaRocks port: fix rocksdb.autoinc_vars 2016-12-03 18:29:36 +00:00
Sergei Petrunia
044ad5d3d9 MariaRocks port: make rocksdb.show_table_status test pass
The test relies on having userstat enabled, which is not ON
by default in MariaDB.
2016-12-03 18:17:21 +00:00
Sergei Petrunia
4f90605a3d MariaRocks port: make datetime-aware tests work in any timezone
This fixes
- rocksdb.col_opt_not_null
- rocksdb.col_opt_null
- rocksdb.type_date_time
2016-12-03 14:56:38 +00:00
Sergei Petrunia
00e3869a66 MariaRocks port: get rocksdb.checksum_table to work
MariaDB has a different checksumming algorithm. Old one
can be used by setting @@old=1
2016-12-03 14:00:23 +00:00
Sergei Petrunia
8018bb737c MariaRocks port: use correct MTR command separators
Failure to do so caused the command not to be run, and test failed
2016-12-03 12:52:34 +00:00
Sergei Petrunia
b504c56bff MariaRocks: test result MariaDB-fication
The test stopped giving deadlock errors after the previous cset.
2016-12-03 12:46:05 +00:00
Sergei Petrunia
e6afa256e7 MariaRocks port: Make ha_rocksdb::index_flags() return HA_CLUSTERED_INDEX for PK
Failure to do so caused a failure in rocksdb.rocksdb test.
When test_if_cheaper_ordering computes is_covering= ...,
- MySQL calls table->file->primary_key_is_clustered()
- MariaDB calls (table->file->index_flags(nr, 0, 1) &
                          HA_CLUSTERED_INDEX)

The first produces true, the second used to produce false.
2016-12-03 12:42:30 +00:00
Sergei Petrunia
0d5257215a MariaRocks port: update test results 2016-12-03 06:21:31 +00:00
Sergei Petrunia
ec58a1cca8 MariaRocks port: update test results
MariaDB produces warnings when INSERT IGNORE hits a duplicate (this
was introduced in MEV-5168)
2016-12-03 06:17:57 +00:00
Sergei Petrunia
d903396c18 MDEV-11321: MariaRocks: type_binary_indexes, type_blob_indexes fail
... due to different index statistics
Make statistics calculations in MariaRocks produce the same values
that MyRocks produces.

Added a comment in rdb_datadic.cc
2016-12-02 21:08:08 +00:00
Sergei Petrunia
7f43f736ac MDEV-11477: MariaRocks: rocksdb.type_varchar failure
Update the test results (checked)
2016-12-02 20:53:08 +00:00
Sergei Petrunia
097bd3049c MariaRocks port: update test results
- EXPLAIN result differences are due to MariaDB's MDEV-11172
- Don't print the value of rocksdb_supported_compression_types
  to .result file
- The rest is trivial Maria-fication
2016-12-02 20:49:10 +00:00
Sergei Petrunia
9c083cd355 MariaRocks port: update test result for rocksdb.rocksdb_parts
- EXPLAIN is different
- error message is
- the output order is different, because MySQL knows when to use
  ha_partition::handle_unordered_scan_next_partition.
  Reading the table data without any ordering happens to produce
  MariaDB uses  ha_partition::handle_ordered_index_scan for this index
  scan (this is a deficiency), which causes it to produce the row with
  pk=1 first.


  MariaDB uses
2016-12-02 17:25:51 +00:00
Sergei Petrunia
59d76665ee MariaRocks port: Return correct value of HA_PRIMARY_KEY_IN_READ_INDEX flag
This cset just re-uses the approach from facebook/mysql-5.6 (Perhaps we
will have something different for MariaDB in the end).

For now this is:
Port this fix
  dd7eeae69503cb8ab6ddc8fd9e2fef451cc31a32
  Issue#250: MyRocks/Innodb different output from query with order by on table with index and decimal type
  Summary:
  Make open_binary_frm() set TABLE_SHARE::primary_key before it computes

Also add the patch for
  https://github.com/facebook/mysql-5.6/issues/376
2016-12-02 15:35:36 +00:00
Sergei Petrunia
f2219fe94d MDEV-11462: MariaRocks: rocksdb.type_float_indexes fails
Also do similar result updates for:
- rocksdb.type_date_time_indexese
- rocksdb.type_fixed_indexes
2016-12-02 13:59:31 +00:00
Sergei Petrunia
9668b705f9 MDEV-11462: MariaRocks: rocksdb.type_float_indexes fails
Upadte test results (see jira entry for investigation about
the source of the differences)
2016-12-02 13:52:12 +00:00
Sergei Petrunia
6fb94c3e43 MDEV-11320: MariaRocks: rocksdb.type_text_indexes fails
Backport the fix for BUG#81810 from facebook/mysql-5.6 tree.
Added the original testcase.

rocksdb.type_text_indexes still fails due to another problem.
2016-11-21 10:33:09 +00:00
Sergei Petrunia
3876f461a8 MariaRocks port: MDEV-11318: rocksdb.rocksdb test fails
- MariaDB produces a warning instead of error when the key
  length is too long
- Trivial test results updates
- rocksdb.rocksdb still fails but this commit makes some progress.
2016-11-20 20:54:36 +00:00
Sergei Petrunia
a4c1b5bba8 MariaRocks port: make rocksdb.alter_table work
The warning
"ORDER BY ignored as there is a user-defined clustered index in the table 't1'
was missing.

The reason is different condition in copy_data_between_tables():
MariaDB has a change, it uses

  to->file->ha_table_flags() & HA_TABLE_SCAN_ON_INDEX

while MySQL uses:

  to->file->primary_key_is_clustered()).

For some reason, MyRocks didn't have HA_TABLE_SCAN_ON_INDEX flag.
It should have one, will raise that with upstream, too.
2016-11-18 23:18:56 +00:00
Sergei Petrunia
c12a1bb9c2 MariaRocks port: more testcase fixes
rocksdb.lock: LOCK TABLE t1 LOW_PRIORITY WRITE does not produce a
  warining in MariaDB

rocksdb.unique_check:
- MariaDB's mtr prints connection actions
- New (but temporary) ER_LOCK_WAIT_TIMEOUT text

rocksdb.allow_pk_no_concurrent_insert:
- Fix path

rocksdb.locking_issues
- Fix path
- The test still fails but for a different reason now
2016-11-18 21:08:44 +00:00
Nirbhay Choubey
c82f573879 Use https instead of ssh(git@) for rocksdb submodule. 2016-11-15 10:00:19 -05:00
Sergei Petrunia
e370d0a9ae MariaRocks port: Make rocksdb.compression_zstd test skip itself when ZSTD is not supported
- Introduce @@rocksdb_supported_compression_types read-only variable.
  It has a comma-separated list of compiled-in compression algorithms.

- Make rocksdb.compression_zstd test skip itself when ZSTD support
  is not compiled in
2016-11-13 18:31:09 +00:00
Sergei Petrunia
75f00a3388 MariaRocks port: move --ignore-db-dirs back to suite.opt
I've moved it to storage/rocksdb/mysql-test/rocksdb/my.cnf,
but replication tests do not include that file?

Will need to get back to this when getting replication to work
2016-11-13 11:40:13 +00:00
Sergei Petrunia
826753942f MariaRocks port: temporarily? update ER_LOCK_WAIT_TIMEOUT error messages
facebook/mysql-5.6 has error messages with extra info, MariaDB doesn't
have extra info:
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction: Timeout on index: test.t1.PRIMARY
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction

This patch updates .result files so that differences do not get in the
way; if we decide to use new error message text in MariaDB, this patch
can be applied in reverse.
2016-11-12 09:20:36 +00:00
Sergei Petrunia
a5f72fb3c2 MariaRocks port: put MyRocks options into rocksdb/my.cnf
- Before this, one had to provide appropriate --mysqld=.... options to
  mysql-test-run.

- Also moved one option from rocksdb/suite.opt to rocksdb/my.cnf.
2016-11-12 06:56:39 +00:00
Sergei Petrunia
c4270952b7 MariaRocks port: fix rocksdb.rocksdb_checksums to work for MariaDB in the mornings
MySQL's log entries start with log entries like
YYYY-MM-DD 08:25:04 ...
while MariaDB
YYYY-MM-DD  8:25:04 ...

note that '08' turns into ' 8'.
Made grep pattern to account for this.
2016-11-12 06:09:13 +00:00
Sergei Petrunia
0f1821db19 MariaRocks port: make rocksdb.rocksdb_cf_options test pass
Copy mysql-test/include/restart_mysqld_with_option.inc from
facebook/mysql-5.6
2016-11-12 05:15:06 +00:00
Sergei Petrunia
183ab78bab MariaRocks port: more test result updates, again
- Make the same changes as in the previous cset and in
  a cset changing rocksdb.col_opt_null a few csets before.

- MySQL 5.6.11 has fixes for Bug #68472, Bug #16394472, MariaDB doesn't.
  adjust the testcase accordingly.
2016-11-12 04:48:47 +00:00
Sergei Petrunia
223c14e706 MariaRocks port: more test result updates
Make the same changes as with rocksdb.col_opt_null a few csets before:
- MariaDB doesn't provide a default value for non-NULL columns
- Wording in error messages is different
- limits for DECIMAL columns are different
- YEAR(2) is deprecated but still supported

- Also added a --sorted_result for an I_S query.
2016-11-10 22:50:01 +00:00
Sergei Petrunia
792aaedb42 MariaRocks port: Use another way to handle --force-restart
Based on discussion at maria-developers@:
- Remove 'Support --force-restart "pseudo-argument"'
  that was added a few csets before
- Instead, use "source include/restart_mysqld.inc" in the
  testcases that need a freshly-started server
2016-11-10 21:32:31 +00:00
Sergei Petrunia
8014a942b7 MariaRocks port: update results for rocksdb.col_opt_null test.
The differences are due:
- MariaDB 10.1+ assigns different DEFAULT values
  = in some cases, MariaDB's table has no default value, while
    MySQL's has '' as default.
  = BLOB/TEXT can have a default value.
- MariaDB's MTR runs tests with diffferent timezone (affects result of
  FROM_UNIXTIME())
- MySQL has removed YEAR(2). MariaDB produces warning but still creates
  the column of this type.
- Different wording in warning/error messages.
2016-11-10 20:36:24 +00:00
Sergei Petrunia
ce9aeb888e MariaRocks port: Support --force-restart "pseudo-argument", part#2 2016-11-07 02:49:49 +03:00
Sergei Petrunia
600a2075b5 MariaRocks port: more of testcase Maria-fication 2016-11-06 22:18:11 +00:00
Sergei Petrunia
f246829e2f MariaRocks port: Support --force-restart "pseudo-argument"
testcases can specify it in *.opt files, it causes the server(s)
to be restarted before running the testcase.

MTRv1 supported this, this patch adds support for MTRv2
2016-11-07 01:05:55 +03:00
Sergei Petrunia
df407fca0b MariaRocks port: fix a few more testcases 2016-11-05 23:19:09 +00:00
Sergei Petrunia
0ab7cb236e MariaRocks port: More of testcase Maria-fication 2016-11-05 22:29:02 +00:00
Sergei Petrunia
a42b9003f4 MariaRocks port: more of testcase Maria-fication
- Adjust paths to MyRocks tests
- s/@@dbug/@@debug_dbug/
- etc
2016-11-05 19:23:18 +00:00