Commit graph

174239 commits

Author SHA1 Message Date
Sergei Petrunia
84a9e05003 MDEV-10470: main.derived fails, buildbot is broken
- Update test result (checked)
2016-08-01 12:19:29 +03:00
Nirbhay Choubey
67480fc5fd MDEV-10429: sys_vars.sysvars_wsrep fails in buildbot on host 'work' (valgrind builder)
- Fixed the test
- Improved comment for wsrep_drupal_282555_workaround
2016-07-28 15:49:59 -04:00
Nirbhay Choubey
b522c71e4b MDEV-10396: MariaDB does not restart after upgrade on debian 8
During wsrep position recovery, galera_recovery.sh script
redirected mysqld's error log to a temporary file in order
to find the start position. This, however, will not work
if --log-error is configured for the server.

Fixed by using --log-error in command line instead of
redirection.

[Patch contributed by Philippe MARASSE]
2016-07-27 17:38:38 -04:00
Sergei Petrunia
a63ceaeab1 MDEV-10389: Query returns different results on a debug vs non-debug build
The problem was caused by a merged semi-join, which contained a non-merged
semi-join, which used references to the top-level query in the left_expr.

When moving non-merged semi-join from the subquery to its parent, do not
forget to call fix_after_pullout for its Item_subselect. We need to do
that specifically, because non-merged semi-joins do not have their
IN-equality in the WHERE clause at this stage.
2016-07-27 17:06:29 +03:00
Oleksandr Byelkin
a52d3aa831 MDEV-10045: Server crashes in Time_and_counter_tracker::incr_loops
Do not set 'optimized' flag until whole optimization procedure is finished.
2016-07-22 17:35:39 +02:00
Daniel Black
e6a64e8f0e MDEV-10294: MTR using --valgrind-option to specify a tool / fixing callgrind [10.1] (#200)
* MDEV-10294: Put testname into environment as MTR_TEST_NAME during MTR

* MDEV-10294: restructure mtr to allow --valgrind-option=--tool=XXX

* MDEV-10294: mtr valgrind - supressions all tools + feedback
2016-07-22 02:19:35 +03:00
Vladislav Vaintroub
f0386598dd MDEV-10314 : wsrep_client_thread was not set in threadpool.
Fixed threadpool_add_connection to use thd_prepare_connection()
to match thread-per-conection flow.
2016-07-19 20:44:02 +00:00
Daniel Bartholomew
9b668d7c8a bump the VERSION 2016-07-18 11:01:03 -04:00
Elena Stepanova
1168c1a3b9 Fix embedded and 32-bit test results after MDEV-8580 2016-07-14 03:55:33 +03:00
Sergei Petrunia
12ac3ee11e Update test results: make innodb_ext_key test stable 2016-07-13 14:49:05 +03:00
Sergei Golubchik
bebabd68ab Merge branch '10.0-galera' into 10.1 2016-07-13 12:10:07 +02:00
Sergei Golubchik
326a8dcd87 Merge branch '10.0' into 10.1 2016-07-13 12:09:59 +02:00
Sergei Golubchik
64583629ad MDEV-9588 Mariadb client-only build creates a useless mysqld_safe file 2016-07-13 08:55:26 +02:00
Sergei Golubchik
12dc083a45 MDEV-8580 For some BOOLEAN or ENUM sysvars list of valid values is not generated
set the 'typelib' member for plugin boolean sysvars
2016-07-13 08:55:26 +02:00
Sergei Golubchik
0d5583b41b cleanup 2016-07-13 08:55:20 +02:00
Sergei Golubchik
c5d73186c0 MDEV-8227 simple_password_check_minimal_length gets adjusted without a warning 2016-07-12 22:21:49 +02:00
Rik Prohaska
4b88cf33c2 fix sql-bench test-table-elimination view leak. see MDEV-10310 for details 2016-07-12 22:21:49 +02:00
Rik Prohaska
98b1bb0b8e fix MDEV-7225. see https://jira.mariadb.org/browse/MDEV-72225 for details. 2016-07-12 22:21:49 +02:00
Sergei Golubchik
c6fdb92ca8 Merge branch '5.5' into 10.0 2016-07-12 22:20:46 +02:00
Sergei Golubchik
f12ebed0a4 fixes for tokudb_parts --big suite 2016-07-12 22:20:34 +02:00
Rik Prohaska
865ae5d38e MDEV-10261 fix some tokudb partition test result files since the underlying tests have changed. 2016-07-12 22:20:34 +02:00
Sergei Golubchik
79fc519eed json_udf slowdown
don't call strlen() in the loop
2016-07-12 22:20:20 +02:00
Sergei Golubchik
ef125e232d add a test case vcol.charsets
a test case for a broken vcols behavior with different
charsets. this is fixed in 10.2
2016-07-12 22:18:33 +02:00
Sergei Petrunia
8a8ba1949b MDEV-10360: Extended keys: index properties depend on index order
TABLE_SHARE::init_from_binary_frm_image has a rule: if an index
has a partially-covered column (like in "KEY(col(N))" ), then dont
provide "Extended Keys" feature for this index.

The problem was that due to coding error Extended Keys feature was
disabled for *ALL* subsequent indexes. Fixed the error.
2016-07-12 21:49:18 +03:00
Sergei Petrunia
0bb5d95542 MDEV-10325: Queries examines all rows of a tables when it should not
The problem was introduced by 1859caf60b:
  MDEV-10175: range optimizer calls records_in_range() for full extended keys

  Make the range optimizer not call records_in_range() when it would
  not give any benefit.

that patch used an incorrect way to check for full extended key. Now fixing
the check.
2016-07-12 21:49:16 +03:00
Craig Andrews
53e7fcca41 MDEV-10298: Systemd hardening
Add ProtectSystem=full, NoNewPrivileges=true, PrivateDevices=true, and ProtectHome=true to the systemd units.
2016-07-12 19:43:35 +04:00
Vladislav Vaintroub
3e8ae6ef4f MDEV-10211 postfix - in ssl.test, remove remaining SHOW STATUS LIKE 'Ssl_cipher' 2016-07-12 12:36:11 +02:00
Vladislav Vaintroub
31e763ddc5 MDEV-10211 : fix ssl test not to use specific value of ssl_cipher, as it can change between different openssl/yassl version 2016-07-12 12:21:38 +02:00
Sergei Golubchik
4e19aa3864 MDEV-10318 unset params in --ps --embedded
add a test case
2016-07-12 12:13:31 +02:00
Vicențiu Ciorbaru
7d4a7d8c58 [MDEV-9127] Crash reporter often fails to show the query that crashed
Addreses are not necessarily between heap_start && heap_end. Malloc
calls using mmap can place pointers outside these bounds. In this case,
we'll warn the user that the query pointer is potentially invalid.
However, we'll attempt to print the data anyway after we're done
printing everything else.
2016-07-12 11:58:20 +03:00
Vladislav Vaintroub
97ded96a33 MDEV-10318 : Fix crash in embedded, in case prepared statement has parameter placeholders, but does not bind parameters 2016-07-11 22:16:39 +00:00
Vladislav Vaintroub
f280a87c66 MDEV-10318 : Fix crash in embedded, in case prepared statement has parameter placeholders, but does not bind parameters 2016-07-11 17:03:03 +00:00
Sergey Vojtovich
ae511cbe38 MDEV-9363 - Mroonga tests with datetime field fail on Solaris in buildbot
On Solaris mktime() adds one extra day to tm_mday field and returns appropriate
value for dates 1600-01-01 and earlier. That is 1600-01-01 becomes 1600-01-02.

Solaris mktime manual excerpts:
  ...
  The tm_year member must be for year 1901 or later.  Calendar
  times  before  20:45:52  UTC,  December  13,  1901  or after
  03:14:07 UTC,  January 19, 2038 cannot be represented. Port-
  able  applications  should  not  try  to create dates before
  00:00:00 UTC, January 1, 1970 or after 00:00:00 UTC, January
  1, 2038.
  ...
  The  mktime() function assumes Gregorian dates. Times before
  the  adoption  of the Gregorian calendar will not match his-
  torial records.
  ...

According to manual Mroonga only supports dates and datetimes after 1900:
https://mariadb.com/kb/en/mariadb/about-mroonga/

Technically these tests cover unsupported values and should fail on all
platforms. Disable tests until the problem is fixed upstream.
2016-07-08 23:38:05 +04:00
Sergey Vojtovich
ecb27d2650 MDEV-10010 - Recursive call to mysql_rwlock_rdlock for LOCK_system_variables_hash
Avoid recursive LOCK_system_variables_hash acquisition in
intern_sys_var_ptr() by pre-syncing dynamic session variables.
2016-07-08 23:38:05 +04:00
Sergei Golubchik
e81455bb16 MDEV-7973 bigint fail with gcc 5.0
-LONGLONG_MIN is the undefined behavior in C.
longlong2decimal() used to do this:

  int longlong2decimal(longlong from, decimal_t *to) {
    if ((to->sign= from < 0))
      return ull2dec(-from, to);
    return ull2dec(from, to);

and later in ull2dec() (DIG_BASE is 1000000000):

  static int ull2dec(ulonglong from, decimal_t *to) {
    for (intg1=1; from >= DIG_BASE; intg1++, from/=DIG_BASE) {}

this breaks in gcc-5 at -O3. Here ull2dec is inlined into
longlong2decimal. And gcc-5 believes that 'from' in the
inlined ull2dec is always a positive integer (indeed, if it was
negative, then -from was used instead). So gcc-5 uses
*signed* comparison with DIG_BASE.

Fix: make a special case for LONGLONG_MIN, don't negate it
2016-07-06 15:17:38 +04:00
Sergei Petrunia
95c286cedf MDEV-10324: Server crash in get_sel_arg_for_keypart or Assertion
The crash was caused by this problem:
get_best_group_min_max() tries to construct query plans for keys that
are not processed by the range optimizer. This wasn't a problem as long
as SEL_TREE::keys was an array of MAX_KEY elements.
However, now it is a Mem_root_array and only has elements for the used
keys, and get_best_group_min_max attempts to address beyond the end of
the array.

The obvious way to fix the crash was to port (and improve) a part of
96fcfcbd7b5120e8f64fd45985001eca8d36fbfb from mysql-5.7. This makes
get_best_group_min_max not to consider indexes that Mem_root_arrays
have no element for.

After that, I got non-sensical query plans (see MDEV-10325 for details).
Fixed that by making get_best_group_min_max to check if the index is in
table->keys_in_use_for_group_by bitmap.
2016-07-05 16:55:11 +03:00
Alexander Barkov
d1b2589074 Removing class Item_func_integer. It's not used since MySQL-5.0. 2016-07-05 15:23:22 +04:00
Jan Lindström
406fe77763 Add more diagnostic to find out the problem on
innodb_shutdown_for_mysql in ppc64el on test
case innodb_fts.innodb_fts_stopword_charset.
2016-07-04 17:38:47 +03:00
Alexander Barkov
1ec91803ac MDEV-10317 EXCTACT(MINUTE_MICROSECOND) truncates data 2016-07-03 13:52:06 +04:00
Alexander Barkov
3ccf8218bc Partial backporting of 7b50447aa6
(MDEV-9407, MDEV-9408) from 10.1

Needed to fix MDEV-10317 easier.
2016-07-03 11:20:46 +04:00
Alexander Barkov
f832b47833 Removing the "thd" argument from Item::create_field_for_create_select().
"thd" is available through the "table" argument, as table->in_use.

Backporting (partially) from 10.2.
2016-07-03 10:41:16 +04:00
Daniel Bartholomew
ccdd63388a bump the VERSION 2016-07-01 11:30:38 -04:00
Jan Lindström
6a7c73e340 Merge pull request #198 from grooverdan/10.1-cross-compile
Cross Compile HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE change to compile check
2016-07-01 10:24:25 +03:00
Daniel Black
37b08eff90 Cross Compile HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE change to compile check
HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE only needed a compile check
rather than a RUN check so after changing to a compile check there
is one less variable to manually set while cross compiling.
2016-07-01 17:10:46 +10:00
Nirbhay Choubey
10880d67b9 Postfix: memory leak in XtraDB 2016-06-30 10:24:54 -04:00
Sergey Vojtovich
a7814d44fc MDEV-10311 - funcs_1.processlist_priv_no_prot fails sporadically
State column of SHOW PROCESSLIST can have NULL values for being initialized
threads (between new connection was acknowledged and waiting for network data).

Fixed test case to handle such cases by waiting for State to become empty
string.
2016-06-30 12:59:52 +04:00
Nirbhay Choubey
3fd214c8be MDEV-9423: cannot add new node to the cluser: Binlog..
.. file '/var/log/mysql/mariadb-bin.000001' not found in binlog
index, needed for recovery. Aborting.

In Galera cluster, while preparing for rsync/xtrabackup based
SST, the donor node takes an FTWRL followed by (REFRESH_ENGINE_LOG
in rsync based state transfer and) REFRESH_BINARY_LOG. The latter
rotates the binary log and logs Binlog_checkpoint_log_event
corresponding to the penultimate binary log file into the new file.
The checkpoint event for the current file is later logged
synchronously by binlog_background_thread.

Now, since in rsync/xtrabackup based snapshot state transfer methods,
only the last binary log file is transferred to the joiner node; the
file could get transferred even before the checkpoint event for the
same file gets written to it. As a result, the joiner node would fail
to start complaining about the missing binlog file needed for recovery.

In order to fix this, a mechanism has been put in place to make
REFRESH_BINARY_LOG operation wait for Binlog_checkpoint_log_event
to be logged for the current binary log file if the node is part of
a Galera cluster. As further safety, during rsync based state transfer
the donor node now acquires and owns LOCK_log for the duration of file
transfer during SST.
2016-06-29 16:50:53 -04:00
Sergei Golubchik
33492ec8d4 update tests for 32bit 2016-06-29 21:53:56 +02:00
Sergei Golubchik
f10b7db1e2 valgrind.supp: fix a typo 2016-06-29 11:16:26 +02:00
Sergei Golubchik
341e5f4411 MDEV-10054 Secure login fails when CIPHER is required
SSL: do not require client certificate to exist,
if GRANT didn't require that
2016-06-28 22:33:15 +02:00