Commit graph

172819 commits

Author SHA1 Message Date
Daniel Black
ac3fd5acac debian: VCS is on github 2018-02-25 00:19:42 +04:00
Lars Tangvald
873f8c25b6 Bug#27538614 DROP EXTRA CHANGELOG FILE FROM DEB/RPM PACKAGES
Change the file to refer to published git repository directly
2018-02-23 08:47:45 +01:00
Sergei Golubchik
b728641e86 Merge branch '5.5' into 10.0 2018-02-22 09:22:03 +01:00
Sergei Golubchik
88d1c1c551 MDEV-15288 Configure errors when building without INNOBASE 2018-02-21 14:42:56 +01:00
Sergei Golubchik
7bd258c44c fix plugins.server_audit test for --ps 2018-02-15 10:06:14 +01:00
Sergei Golubchik
03de234baf MDEV-13982 Server crashes in in ha_partition::engine_name
use the correct handlerton when looking for TRANSACTIONAL=1 support
2018-02-14 19:12:23 +01:00
Sergei Golubchik
2709380587 MDEV-13748 Assertion `status_var.local_memory_used == 0 || !debug_assert_on_not_freed_memory' failed in virtual THD::~THD after query with INTERSECT
my_safe_alloca()/my_safe_afree() work as alloca() or malloc()/free()
depending on the memory size to allocate, that is, depending on
reclength here. They only work correctly if reclength doesn't
change in the middle.
2018-02-14 18:41:37 +01:00
Karthik Kamath
ddaf0f1470 2018-02-14 09:35:18 +05:30
Marko Mäkelä
c051eaba46 MDEV-14988 innodb_read_only tries to modify files if transactions were recovered in COMMITTED state
lock_trx_release_locks(): Relax a debug assertion to allow
recovered TRX_STATE_COMMITTED_IN_MEMORY transactions.

trx_commit_in_memory(): Add DEBUG_SYNC instrumentation.

trx_undo_insert_cleanup(): Skip persistent changes if innodb_read_only
is set. This should only happen when a recovered committed transaction
would be cleaned up at shutdown.
2018-02-13 14:29:32 +02:00
Arun Kuruvila
e4784703ee Bug#25471090: MYSQL USE AFTER FREE
Description:- Mysql client crashes when trying to connect
to a fake server which is sending incorrect packets.

Analysis:- Mysql client crashes when it tries to read
server version details.

Fix:- A check is added in "red_one_row()".
2018-02-12 15:19:43 +05:30
Sergei Golubchik
c8afe7daac cleanup: remove a duplicated test case 2018-02-11 18:36:54 +01:00
Sergei Golubchik
7c6cf7fefe bug: ha_heap was unilaterally increasing reclength
proper fix replacing the hack from b80fa4000d

don't confuse length of the data area (reclength) with the
offset to the "deleted" mark.
2018-02-11 18:36:54 +01:00
Pavan Naik
e585decb45 BUG#27448061: MYSQLD--DEFAULTS-FILE TEST FAILS FOR NDB RELEASES
PREVIOUS TO MYSQL 8.0

Description :
-------------
The mysqld--defaults-file test fails when the test suite is run from a
non-canonical path, which happens when the current working directory
when mysql-test-run.pl is started contains a symbolic link.

The problem is that this test case uses --replace-result with
$MYSQL_TEST_DIR. This variable is a potentially non-canonical path
based on the current working directory when mtr is started. However,
the path in the expected error message from mysqld contains a
canonical path. This means it does not contain $MYSQL_TEST_DIR if
mtr's working directory is not the canonical path of the working
directory.

Because other tests produce output that may contain non-canonical
paths, making $MYSQL_TEST_DIR always canonical is not a fix.

Fix :
-----
Introduced a new environment variable '$ABS_MYSQL_TEST_DIR' which will
contin the canonical path to the test directory and replaced
$MYSQL_TEST_DIR with the new variable in main.mysqld--defaults-file
test file.

This is a back-port of BUG#24579973.

Change-Id: I3b8df6f2d7ce2b04e188a896d76250cc1addbbc1
2018-02-09 22:08:35 +05:30
Alexander Barkov
b0a92333c0 MDEV-15262 Wrong results for SELECT..WHERE non_indexed_datetime_column=indexed_time_column 2018-02-09 19:47:00 +04:00
Vicențiu Ciorbaru
6f0b316fbe Update wrong xtradb version
The update was lost during merge.
2018-02-08 21:12:11 +02:00
Marko Mäkelä
9216a4f69f Make the test innodb.recovery_shutdown more robust
Before killing the server, we have to FLUSH TABLES in order to
prevent the corruption of any MyISAM system tables.
2018-02-08 13:26:44 +02:00
Marko Mäkelä
5421e3aee7 MDEV-15249 Crash in MVCC read after IMPORT TABLESPACE
PageConverter::adjust_cluster_record(): Instead of writing
the invalid value DB_ROLL_PTR=0, write a value that indicates
a fresh insert, that is, prevents the DB_ROLL_PTR from being
dereferenced in any circumstances.

It can be argued that IMPORT TABLESPACE should actually
update the dict_index_t::trx_id to prevent older transactions
from accessing the table, similar to what I did on table
rebuild in MySQL 5.6.6 in
03f81a55f2
2018-02-08 12:59:32 +02:00
Oleksandr Byelkin
b6455479e5 MDEV-15230: column_json breaks cyrillic in 10.1.31
Use unsigned comparison.
2018-02-07 18:14:45 +01:00
Marko Mäkelä
cb5374801e MDEV-15202 innodb.log_file_size failed in buildbot
Suppress some messages that are emitted rarely
(when the FIL_PAGE_FILE_FLUSH_LSN of the first page of ibdata1
does not match the latest redo log checkpoint).
2018-02-05 09:23:36 +02:00
Vicențiu Ciorbaru
0765caa073 Merge remote-tracking branch 'origin/5.5' into 10.0 2018-02-02 18:14:35 +01:00
Joao Gramacho
3fb2f8db17 BUG#24365972 BINLOG DECODING ISN'T RESILIENT TO CORRUPT BINLOG FILES
Problem
=======

When facing decoding of corrupt binary log files, server may misbehave
without detecting the events corruption.

This patch makes MySQL server more resilient to binary log decoding.

Fixes for events de-serialization and apply
===========================================

@sql/log_event.cc

Query_log_event::Query_log_event: added a check to ensure query length
is respecting event buffer limits.

Query_log_event::do_apply_event: extended a debug print, added a check
to character set to determine if it is "parseable" or not, verified if
database name is valid for system collation.

Start_log_event_v3::do_apply_event: report an error on applying a
non-supported binary log version.

Load_log_event::copy_log_event: added a check to table_name length.

User_var_log_event::User_var_log_event: added checks to avoid reading
out of buffer limits.

User_var_log_event::do_apply_event: reported an sanity check error
properly and added individual sanity checks for variable types that
expect fixed (or minimum) amount of bytes to be read.

Rows_log_event::Rows_log_event: added checks to avoid reading out of
buffer limits.

@sql/log_event_old.cc

Old_rows_log_event::Old_rows_log_event: added a sanity check to avoid
reading out of buffer limits.

@sql/sql_priv.h

Added a sanity check to available_buffer() function.
2018-02-02 11:45:56 +00:00
Oleksandr Byelkin
96cb428b35 MDEV-14862: Server crashes in Bitmap<64u>::merge / add_key_field
Do not unwrap view references to keep table info.
(Row-IN subselect does not unwrap items so it does not need fix)
2018-02-01 16:12:14 +01:00
Sergei Golubchik
d6638586c6 don't crash debug builds on "packets out of order"
only do it in EXTRA_DEBUG builds
2018-01-31 20:28:27 +01:00
Vicențiu Ciorbaru
7a63ffab71 Fix an out of scope bzero 2018-01-30 21:13:24 +02:00
Vicențiu Ciorbaru
5edd129fbf Fix ASAN failure in main.lock (and others)
Whenever one copies an IO_CACHE struct, one must remember to call
setup_io_cache, if not, the IO_CACHE's current_pos and end_pos
self-references will point to the previous struct's memory, which
could go out of scope. Commit 9003869390
fixes this problem in a more general fashion by removing the
self-references altogether, but for 5.5 we'll keep the old behaviour.
2018-01-30 21:13:24 +02:00
Vicențiu Ciorbaru
ded07724ee MDEV-15014 Assertion `m_cache_lock_status == LOCKED_NO_WAIT || m_cache_status == DISABLE_REQUEST' failed in Query_cache::free_cache on startup
The assert guards against not-locked or not-requested query cache
disabling. If during startup we disable query cache, we failed to
request disabling.
2018-01-30 21:13:24 +02:00
Daniel Bartholomew
f4414d4c4e bump the VERSION 2018-01-30 10:54:28 -05:00
Alexey Botchkov
6b4a4a85a7 MDEV-14696 Server crashes in in prep_alter_part_table on 2nd execution of PS.
The thd->lex->part_info should be kept intact during PS
        execution. Or the second execution gets that modified part_info.
        Let's modify ths->work_part_info instead.
2018-01-30 11:28:21 +04:00
Alexander Barkov
c4a908cb56 MDEV-13790 UNHEX() of a somewhat complicated CONCAT() returns NULL 2018-01-30 11:35:27 +04:00
Alexander Barkov
dae4fb0acb MDEV-15118 ExtractValue(xml,something_complex) does not work
Item_xml_str_func::fix_fields() used a local "String tmp" as a buffer
for args[1]->val_str(). "tmp" was freed at the end of fix_fields(),
while Items created during my_xpath_parse() still pointed to its fragments.

Adding a new member Item_xml_str_func::m_xpath_query and store the result
of args[1]->val_str() into it.
2018-01-30 11:07:35 +04:00
Marko Mäkelä
b76881a23c Do not SET DEBUG_DBUG=-d,... in tests
To disable debug instrumentation, save and restore the original value
of the variable DEBUG_DBUG. Assigning -d,... will enable the output of
a lot of unrelated DBUG messages to the server error log.
2018-01-29 16:39:54 +02:00
Marko Mäkelä
a5fcced7d1 Merge 5.5 into 10.0 2018-01-29 16:32:59 +02:00
Marko Mäkelä
547ec8ce27 Do not SET DEBUG_DBUG=-d,... in tests
To disable debug instrumentation, save and restore the original value
of the variable DEBUG_DBUG. Assigning -d,... will enable the output of
a lot of unrelated DBUG messages to the server error log.
2018-01-29 16:25:26 +02:00
Marko Mäkelä
706ed8552d Revert "MDEV-6928: Add trx pointer to struct mtr_t"
This reverts commit 3486135bb5.

The commit comment ended in the words: "This is needed later."
Apparently the "later" never arrived.
2018-01-29 11:05:17 +02:00
Elena Stepanova
d01dbe66a8 List of unstable tests for 10.0.34 release 2018-01-27 20:37:09 +02:00
Vicențiu Ciorbaru
61e2f43e05 Remove ut_win_init_time from innodb
The patch was brought in from 5.6.39 merge and we don't need it in
MariaDB
2018-01-25 19:50:13 +02:00
Sergei Golubchik
a0702dbcda MDEV-11539 test_if_reopen: Assertion `strcmp(share->unique_file_name,filename) || share->last_version' failed upon select from I_S
remove HA_EXTRA_PREPARE_FOR_RENAME - neither OPTIMIZE nor REPAIR need it
(was introduced in b58e79566c when replacing remove_table_from_cache()
with wait_while_table_is_used() even though remove_table_from_cache()
did not have it).
2018-01-25 14:03:24 +01:00
Vicențiu Ciorbaru
1c10b256b3 Port innodb_print_lock_wait_timeout_info_basic from Percona
The test checks the new sys_var added to xtradb from Percona
2018-01-25 12:16:27 +02:00
Vicențiu Ciorbaru
f775ee6006 Fix innodb compilation failure on Windows
We don't need to print an error when loading kernel32.dll. If we can't
load it we'll automatically crash. Reviewed by wlad@mariadb.com
2018-01-25 11:34:56 +02:00
Vicențiu Ciorbaru
12c42bd2c7 Remove xtradb "fragmentation-statistics" patches
The patches are implemented using server changes in THD. We are not
interested in having special code for certain storage engines, if
possible.
2018-01-24 20:21:58 +02:00
Vicențiu Ciorbaru
a82bb5d316 Merge branch 'merge-xtradb-5.6' into 10.0 2018-01-24 20:20:11 +02:00
Vicențiu Ciorbaru
3699a4b5c0 Merge branch 'merge-innodb-5.6' into 10.0 2018-01-24 18:23:25 +02:00
Vicențiu Ciorbaru
d69d488b8c Remove innodb.test "keep away" comment
This was a leftover post 5.5->10.0 merge. It should've been deleted
there.
2018-01-24 17:55:26 +02:00
Vicențiu Ciorbaru
d81e41e773 Update Tokudb Test Results 2018-01-24 17:54:25 +02:00
Vicențiu Ciorbaru
fc3df561d4 Make TokuDB run on 10.0 2018-01-24 17:26:40 +02:00
Vicențiu Ciorbaru
c5f333adb6 Merge branch 'merge-tokudb-5.6' into 10.0 2018-01-24 17:26:15 +02:00
Vicențiu Ciorbaru
1e88e85503 Squashed commit of connect/10.0:
Main additions:

commit 543c2006a70983c2ce75024bce3679b0c20f9ae6
Author: Olivier Bertrand <bertrandop@gmail.com>
Date:   Thu Jan 4 13:51:13 2018 +0100

    - Fix MDEV-9844, MDEV-10179, MDEV-14214
     This is done by removing the tbl table type THREAD option
     that causes a multiple of sporadic bugs.
     This may be temporary depending on whether a real fix is found.
      modified:   storage/connect/mysql-test/connect/disabled.def
      modified:   storage/connect/tabtbl.cpp
      modified:   storage/connect/tabtbl.h

commit 54bc4ea024ca5fb5c137c618084d8cccfba2ee3f
Author: Olivier Bertrand <bertrandop@gmail.com>
Date:   Fri Nov 3 16:21:56 2017 +0100

    - Fix MDEV-13925: Actually this fixes SELECT queries when
      the WHERE clause have single quote.
      modified:   storage/connect/ha_connect.cc

    - Use Windows VirtualAlloc and VirtualFree for the Sarea workspace
      modified:   storage/connect/global.h
      modified:   storage/connect/ha_connect.cc
      modified:   storage/connect/jsonudf.cpp
      modified:   storage/connect/plgdbutl.cpp
      modified:   storage/connect/plugutil.cpp
      modified:   storage/connect/user_connect.cc

    - Change inihandl from c to c++.
      Because it now includes global.h that contains a bool function definition
      that make compile to fail on Linux.
      modified:   storage/connect/CMakeLists.txt
      removed:    storage/connect/inihandl.c
      added:      storage/connect/inihandl.cpp

    - Fix MDEV-13860 CONNECT engine does not build with JDBC without ODBC.
      By including Sergei's patch in connect_assisted_discovery.
      modified:   storage/connect/ha_connect.cc

commit c07064d31a4d7ee0533fec144648d93873c0dd17
Author: Olivier Bertrand <bertrandop@gmail.com>
Date:   Wed Oct 18 00:11:00 2017 +0200

    - Update version number
      modified:   storage/connect/ha_connect.cc

    - Include MONGO in all Java enabled distributions
      Mongo will be enabled only for 10.2 and 10.3
      modified:   storage/connect/CMakeLists.txt

    - Change JDBC_SUPPORT to JAVA_SUPPORT which also replaces MONGO_SUPPORT
      MONGO_SUPPORT is now just used to enable the MONGO table type
      modified:   storage/connect/filter.cpp
      modified:   storage/connect/ha_connect.cc
      modified:   storage/connect/ha_connect.h
      modified:   storage/connect/mongo.cpp
      modified:   storage/connect/mycat.cc
      modified:   storage/connect/plgdbutl.cpp
      modified:   storage/connect/tabjson.cpp
      modified:   storage/connect/tabjson.h

    - Move MakeSelector function from FILTER to mongo.cpp
      modified:   storage/connect/filter.cpp
      modified:   storage/connect/filter.h
      modified:   storage/connect/cmgoconn.cpp
      modified:   storage/connect/jmgoconn.cpp
      modified:   storage/connect/mongo.cpp

    - Do mongo_init only on first use of the MongoDB C Driver
      This will permit to delay load the mongo lib on Windows
      modified:   storage/connect/cmgoconn.cpp
      modified:   storage/connect/cmgoconn.h
      modified:   storage/connect/ha_connect.cc

    - Replace NEW_VAR by a test on MYSQL_VERSION_ID
      modified:   storage/connect/ha_connect.cc

    - Suppress enable_mongo session variable
      modified:   storage/connect/ha_connect.cc
      modified:   storage/connect/mycat.cc

    - Make some function headers identical in .h and .cc file
      (replacing const char* by PCSZ)
      modified:   storage/connect/ha_connect.cc
      modified:   storage/connect/ha_connect.h

    - Change a parameter type from uchar* to const uchar*
      (for ScanRecord and CheckRecord)
      modified:   storage/connect/ha_connect.cc
      modified:   storage/connect/ha_connect.h

    - Changes on LIKE and NOT LIKE does not fix a bug yet
      modified:   storage/connect/ha_connect.cc

    - Suppress PIVOT_SUPPORT (PIVOT type is unconditionnal)
      modified:   storage/connect/ha_connect.cc
      modified:   storage/connect/mycat.cc

    - Change the strz function from inline to static
      modified:   storage/connect/ha_connect.cc
      modified:   storage/connect/ha_connect.h

    - export the JavaConn class and the MgoColumns and IsNum functions
      modified:   storage/connect/javaconn.h
      modified:   storage/connect/json.h
      modified:   storage/connect/mongo.h

    - Fix MDEV-13924
      modified:   storage/connect/jdbconn.cpp

    - Make a temporary fix for the compiler bug in CalculateArray
      modified:   storage/connect/jsonudf.cpp
      modified:   storage/connect/tabjson.cpp

    - Typo
      modified:   storage/connect/jdbccat.h
      modified:   storage/connect/reldef.h
      modified:   storage/connect/tabext.h
      modified:   storage/connect/tabjmg.cpp
      modified:   storage/connect/tabxml.h
      modified:   storage/connect/valblk.h
      modified:   storage/connect/value.h
      modified:   storage/connect/xtable.h

    - Fix a bug in MONGO tests by changing 'MONGO' to $TYPE
      modified:   storage/connect/mysql-test/connect/t/mongo_test.inc

    - Record test results to reflect all changes
      modified:   storage/connect/mysql-test/connect/r/json_java_2.result
      modified:   storage/connect/mysql-test/connect/r/json_java_3.result
      modified:   storage/connect/mysql-test/connect/r/json_mongo_c.result
      modified:   storage/connect/mysql-test/connect/r/mongo_c.result
      modified:   storage/connect/mysql-test/connect/r/mongo_java_2.result
      modified:   storage/connect/mysql-test/connect/r/mongo_java_3.result

commit 3da90fd112e7d5ee6f0bd9c3fc3eeb4529b30e93
Author: Olivier Bertrand <bertrandop@gmail.com>
Date:   Wed Oct 11 12:21:56 2017 +0200

    Fix MDEV-13924 modified: storage/connect/jdbconn.cpp

commit 2566e67da80f291414f02c7dd6a8ca3557161d26
Author: Olivier Bertrand <bertrandop@gmail.com>
Date:   Mon Sep 11 16:38:41 2017 +0200

    Enable MONGO for the C driver. Modified: modified:   storage/connect/CMakeLists.txt

commit 27ae11db830c5d62bbf8b8b13cab976b74efe7dd
Author: Olivier Bertrand <bertrandop@gmail.com>
Date:   Tue Sep 5 19:52:04 2017 +0200

    - Update version number
      modified:   storage/connect/ha_connect.cc

    - Regard columns with binary charset as string (was binary)
      modified:   storage/connect/ha_connect.cc
      modified:   storage/connect/tabmysql.cpp
      modified:   storage/connect/tabutil.cpp

    - Support length 0 for CHAR and VARCHAR
      modified:   storage/connect/ha_connect.cc
      modified:   storage/connect/reldef.cpp
      modified:   storage/connect/value.cpp

    - Add ACCEPT option for void columns in discovery
      modified:   storage/connect/tabjson.cpp

    - Update some tests because of above change
      modified:   storage/connect/mysql-test/connect/r/json_java_2.result
      modified:   storage/connect/mysql-test/connect/r/json_java_3.result
      modified:   storage/connect/mysql-test/connect/r/json_mongo_c.result
      modified:   storage/connect/mysql-test/connect/r/mongo_c.result
      modified:   storage/connect/mysql-test/connect/r/mongo_java_2.result
      modified:   storage/connect/mysql-test/connect/r/mongo_java_3.result
      modified:   storage/connect/mysql-test/connect/r/odbc_oracle.result
      modified:   storage/connect/mysql-test/connect/r/updelx.result
      modified:   storage/connect/mysql-test/connect/t/mongo_test.inc

commit f6ee6cd1d42d861fa50fea8d9a7079347b7ddfd6
Author: Olivier Bertrand <bertrandop@gmail.com>
Date:   Sat Sep 2 16:06:10 2017 +0200

    - Fix MongoDB C Driver adding for CMAKE.
      Requires MongoDB C Driver version 1.7 now available
      modified:   storage/connect/CMakeLists.txt

    - Add more trace to tbl_thread.test (to debug failure)
      modified:   storage/connect/mysql-test/connect/r/tbl_thread.result
      modified:   storage/connect/mysql-test/connect/t/tbl_thread.test
2018-01-24 16:12:52 +02:00
Oleksandr Byelkin
ee8755e3c5 MDEV-15012: ASAN: numerous test failures in PS
First roll back changes, then free Items which can lead to memory freeing.
2018-01-24 14:42:52 +01:00
Vicențiu Ciorbaru
b20f821e07 Fix Innodb ASAN error on init
Backport 7c03edf2fe from xtradb to innodb
2018-01-24 15:18:36 +02:00
Vicențiu Ciorbaru
d833bb65d5 Merge remote-tracking branch '5.5' into 10.0 2018-01-24 12:29:31 +02:00