summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-13439: Database permissions are not enough to run a subquery with GROUP ↵bb-10.2-MDEV-13439Oleksandr Byelkin2017-08-094-4/+52
| | | | | | | BY within a view The bug is result adding ability to have derived tables inside views. Fixed checks should be a switch between view/derived or select derived and information schema.
* MDEV-13037: wsrep_sst_mysqldump checking wrong version of mysql clientJan Lindström2017-08-091-2/+2
| | | | | | | | | | | This happens because on line 59 of /usr/bin/wsrep_sst_mysqldump we have a check : "if ! $MYSQL_CLIENT --version | grep 'Distrib 10.1' >/dev/null" but the client is 10.2 so it doesnt match the grep expression. Fixed check to be: "if ! $MYSQL_CLIENT --version | grep 'Distrib 10.' >/dev/null" so that every 10. version is accepted.
* A followup to MDEV-13470: remove the code that is now uselessSergei Petrunia2017-08-091-3/+0
|
* Fix a random result mismatch of encryption.innodb_encrypt_logMarko Mäkelä2017-08-092-0/+6
| | | | | | Disable change buffering, so that some data that was previously written to the encrypted redo log will not end up being copied to the unencrypted redo log due to change buffer merge.
* MDEV-13472 rpl.rpl_semi_sync_wait_point crashes because of thd_destructor_proxyMarko Mäkelä2017-08-091-2/+4
| | | | | | | | | | | | | | | The thd_destructor_proxy detects that no transactions are active and starts srv_shutdown_bg_undo_sources(), but fails to take into account that new transactions can still start, especially be slave but also by other threads. In addition there is no mutex when checking for active transaction so this is not safe. We relax the failing InnoDB debug assertion by allowing the execution of user transactions after the purge thread has been shut down. FIXME: If innodb_fast_shutdown=0, we should somehow guarantee that no new transactions can start after thd_destructor_proxy observed that trx_sys_any_active_transactions() did not hold.
* Follow-up to MDEV-11487: Remove InnoDB internal temporary tablesMarko Mäkelä2017-08-083-26/+6
| | | | | | row_update_for_mysql(): Remove the wrapper function and rename the function from row_update_for_mysql_using_upd_graph(). Remove the unused parameter mysql_rec.
* Add DBUG "trx" instrumentation that was used for catching MDEV-13470Marko Mäkelä2017-08-082-2/+14
|
* MDEV-13470 DELETE IGNORE should not ignore deadlocks (again)Marko Mäkelä2017-08-081-0/+6
| | | | | | | | | | | | | | | | | | | | | This is basically a duplicate or a reincarnation of MDEV-117. For some reason, the test innodb.mdev-117 started failing in 10.2. It is uncertain when this test started failing. The test is nondeterministic, because there is a race condition between the concurrently executing DELETE IGNORE and DELETE statements. When a deadlock is reported for DELETE IGNORE, the SQL layer would call handler::print_error() but then proceed to the next row, as if no error had happened (which is the purpose of DELETE IGNORE). So, when it proceeded to handler::ha_rnd_next(), InnoDB would hit an assertion failure, because the transaction no longer exists, and we are not executing at the start of a statement. handler::print_error(): If thd_mark_transaction_to_rollback(thd, true) was called, clear the ME_JUST_WARNING and ME_JUST_INFO errflags, so that a note or warning will be promoted to an error if the transaction was aborted by a storage engine.
* MDEV-12789 JSON_KEYS returns duplicate keys twice.Alexey Botchkov2017-08-083-4/+57
| | | | Check for duplicating keys added.
* MDEV-12732 json.json_no_table fails with valgrind in buildbot andAlexey Botchkov2017-08-081-1/+2
| | | | | | | outside. The result_limit variable wasn't always initialized in Item_func_json_array::fix_length_and_dec().
* MDEV-12604 Comparison of JSON_EXTRACT result differs with Mysql.Alexey Botchkov2017-08-086-13/+138
| | | | | Comparison fixed to take the actual type of JSON value into account. Bug in escaping handling fixed.
* Remove wait_innodb_all_purged.incMarko Mäkelä2017-08-0810-168/+83
| | | | | | The file wait_innodb_all_purged.inc waited for InnoDB purge in a way that only worked in debug builds. The file wait_all_purged.inc provides a better mechanism.
* Deterministically wait for purge using wait_all_purged.incMarko Mäkelä2017-08-082-22/+31
|
* Backport MDEV-13430 recovery improvement to MariaDB 10.2Marko Mäkelä2017-08-081-21/+24
| | | | | | | | | | | | | | | | | | | | | | | | If the latest InnoDB redo log checkpoint was stored in the first checkpoint slot and not the second one, InnoDB would incorrectly set log_sys->log.lsn to the previous checkpoint. It is possible that this logic error did not exist before commit 86927cc712b6589f15fb1306a5fc42bb705c5302, which removed traces of multiple InnoDB redo logs, to prepare for MDEV-12548 (Mariabackup for MariaDB 10.2). In the worst case, this error could mean that InnoDB unnecessarily fails to recover from redo log when the last-but-one checkpoint was overwritten, but the last checkpoint is intact. recv_find_max_checkpoint(), recv_find_max_checkpoint_0(): Do not overwrite the fields of log_sys->log with the information of an older checkpoint. recv_find_max_checkpoint(): Do not return DB_SUCCESS on an error. recv_recovery_from_checkpoint_start(): Return early if the log is in a version-tagged format but not in the latest format. (In this case, the log must be logically empty, and there is nothing to apply.)
* MDEV-11939: innochecksum mistakes a file for an encrypted one (page 0 invalid)Jan Lindström2017-08-0821-656/+923
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always read full page 0 to determine does tablespace contain encryption metadata. Tablespaces that are page compressed or page compressed and encrypted do not compare checksum as it does not exists. For encrypted tables use checksum verification written for encrypted tables and normal tables use normal method. buf_page_is_checksum_valid_crc32 buf_page_is_checksum_valid_innodb buf_page_is_checksum_valid_none Modify Innochecksum logging to file to avoid compilation warnings. fil0crypt.cc fil0crypt.h Modify to be able to use in innochecksum compilation and move fil_space_verify_crypt_checksum to end of the file. Add innochecksum logging to file. univ.i Add innochecksum strict_verify, log_file and cur_page_num variables as extern. page_zip_verify_checksum Add innochecksum logging to file and remove unnecessary code. innochecksum.cc Lot of changes most notable able to read encryption metadata from page 0 of the tablespace. Added test case where we corrupt intentionally FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION (encryption key version) FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION+4 (post encryption checksum) FIL_DATA+10 (data)
* MDEV-11937: InnoDB flushes redo log too oftenKristian Nielsen2017-08-075-38/+42
| | | | | | | | | | | Problem was introduced with the InnoDB 5.7 merge, the code related to avoiding extra fsync at the end of commit when binlog is enabled. The MariaDB method for this was removed, but the replacement MySQL method based on thd_get_durability_property() is not functional in MariaDB. This commit reverts the offending parts of the merge and adds a test case, to fix the problem for InnoDB. But other storage engines are likely to have a similar problem.
* Attempt to make rocksdb.rocksdb_parts stableSergei Petrunia2017-08-072-1/+11
|
* Make rocksdb.rocksdb_icp test stableSergei Petrunia2017-08-072-4/+4
|
* Merge branch '10.2' of github.com:MariaDB/server into 10.2Sergei Petrunia2017-08-0711-13/+118
|\
| * MDEV-13452 Assertion `!recv_no_log_write' failed in log_reserve_and_open()Marko Mäkelä2017-08-072-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | The debug flag recv_no_log_write prohibits writes of redo log records for modifying page data. The debug assertion was failing when fil_names_clear() was writing the informative MLOG_FILE_NAME and MLOG_CHECKPOINT records which do not modify any data. log_reserve_and_open(), log_write_low(): Remove the debug assertion. log_pad_current_log_block(), mtr_write_log(), mtr_t::Command::prepare_write(): Add the debug assertion.
| * MDEV-13451 Assertion `!recv_no_ibuf_operations' failed in ibuf_page_low()Marko Mäkelä2017-08-071-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | During InnoDB startup, change buffer merge operations are prohibited before recv_apply_hashed_log_recs(true), which performs the last phase of redo log apply. Before this call, ibuf_init_at_db_start() would be invoked, and it could trigger the debug assertion. ibuf_init_at_db_start(): Do not declare the mini-transaction as "inside change buffer", because nothing is being written in the mini-transaction. The purpose of this function is only to initialize the memory data structures from the persistent data structures.
| * MDEV-12324 Wrong result (phantom array value) on JSON_EXTRACT.Alexey Botchkov2017-08-073-1/+13
| | | | | | | | Fixed the path comparison.
| * MDEV-12181 ST_AsGeoJSON argument does not limit decimals.Alexey Botchkov2017-08-075-8/+100
| | | | | | | | Options handling implemented for ST_AsGeoJSON.
* | MDEV-13374: Server crashes in first_linear_tab / st_select_lex::set_explain_typeSergei Petrunia2017-08-073-2/+29
|/ | | | - Support first_linear_tab() traversal for degenerate joins
* travis: add clang-5.0Daniel Black2017-08-072-6/+5
| | | | | | Also removed clang-3.9 Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
* Merge branch '10.2' of github.com:MariaDB/server into bb-10.2-mariarocksSergei Petrunia2017-08-065-32/+83
|\
| * MDEV-12180 ST_GeomFromGeoJSON option argument appears to have no effect.Alexey Botchkov2017-08-065-32/+83
| | | | | | | | Implement the 'option' argument for the ST_GeomFromGeoJSON.
* | Merge branch '10.2' of github.com:MariaDB/server into bb-10.2-mariarocksSergei Petrunia2017-08-065-5/+227
|\ \ | |/
| * Support for server error messages in HindiSergey Vojtovich2017-08-041-0/+1
| | | | | | | | Include Hindi error messages to debian packages.
| * Support for server error messages in HindiSergey Vojtovich2017-08-031-2/+2
| | | | | | | | Fixed plugins.locales failure.
| * Support for server error messages in HindiSergey Vojtovich2017-08-031-2/+3
| | | | | | | | This is an addition to original patch: activate hi_IN error messages.
| * Support for server error messages in Hindi.Nirbhay Choubey2017-08-032-1/+221
| |
* | Backport to 10.2: Make rocksdb.type_varchar test stableSergei Petrunia2017-08-062-12/+12
| | | | | | | | | | | | | | | | It may produce test failures like this because of non-deterministic cost calculations: -1 SIMPLE t1 # col1 col1 259 NULL # Using where +1 SIMPLE t1 # col1 NULL NULL NULL # Using where
* | More commentsSergei Petrunia2017-08-051-0/+1
| |
* | Make "SET @@rocksdb_bulk_load=0" return an error instead of crashing the serverSergei Petrunia2017-08-034-15/+30
| | | | | | | | | | - This is more in line with MariaDB environment - And help with rocksdb.bulk_load_errors test, too
* | Make rocksdb.prefix_extractor_override work on WindowsSergei Petrunia2017-08-011-1/+3
| |
* | Use proper #include'sSergei Petrunia2017-08-011-0/+1
| |
* | Post-merge fix: Rdb_io_watchdog doesn't support windowsSergei Petrunia2017-08-012-11/+6
| | | | | | | | Part #2.
* | Post-merge fix: Rdb_io_watchdog doesn't support windowsSergei Petrunia2017-07-313-3/+26
| | | | | | | | So disable it there for now.
* | MDEV-13413: After the merge rocksdb.drop_table fails with warningsSergei Petrunia2017-07-312-40/+0
| | | | | | | | | | | | - Fix the bad merge in drop_table.test - Remove the obsolete rocksdb_info_log_level=info_level option which caused warnings to be found in the error log.
* | Disable rocksdb.issue243_transactionStatusSergei Petrunia2017-07-301-0/+1
| | | | | | | | It uses SHOW ENGINE TRANSACTION STATUS, which is not supported in MariaDB
* | Update test result for rocksdb.tbl_opt_data_index_dirSergei Petrunia2017-07-301-6/+6
| | | | | | | | | | See MDEV-12279, MariaDB is still not able to produce nice error messages in this case.
* | Fixes for a few more post-merge test failuresSergei Petrunia2017-07-305-17/+22
| |
* | Fix rocksdb.duplicate_table testSergei Petrunia2017-07-301-1/+1
| |
* | Mark all tests that are derived from rocksdb.bulk_load as "big".Sergei Petrunia2017-07-303-0/+6
| | | | | | | | (Could we just put the mark into bulk_load.inc ?)
* | MDEV-13404: MyRocks upstream uses I_S.table_statistics.row_lock_deadlocksSergei Petrunia2017-07-302-46/+15
| | | | | | | | Comment out a part of testcase that uses it.
* | Follow the upstream MyRocks: provide details in the ER_LOCK_DEADLOCK messageSergei Petrunia2017-07-301-2/+9
| | | | | | | | | | This fixes result mismatches in rocksdb.issue111, rocksdb.hermitage, rocksdb.rocksdb_locks
* | Fix the merge of rocksdb_sys_vars test suiteSergei Petrunia2017-07-292-8/+2
| |
* | Merge branch 'bb-10.2-mariarocks' of github.com:MariaDB/server into ↵Sergei Petrunia2017-07-291-0/+3
|\ \ | | | | | | | | | bb-10.2-mariarocks
| * | Post-merge fix: fix compilationSergei Petrunia2017-07-291-0/+3
| | |