Commit graph

171240 commits

Author SHA1 Message Date
Sergei Golubchik
906f97d310 MDEV-8481 mysql-test - main.func_crypt fails if FIPS=1
disable the test when crypt(3) doesn't work
2016-04-24 18:15:20 +02:00
Sergei Golubchik
78989b67d1 MDEV-9168 altering a column comment does a full copy
add a test case
2016-04-24 18:15:20 +02:00
Sergei Golubchik
b233b15ccd MDEV-9868 Altering a partitioned table comment does a full copy
let handler::check_if_supported_inplace_alter()
(that detects frm-only changes) to work for partitioned
tables too.
2016-04-24 18:15:20 +02:00
Sergei Golubchik
97728e107a comment
clarify Alter_inplace_info::ALTER_PARTITIONED
2016-04-24 18:15:20 +02:00
Sergei Golubchik
d821dd106a MDEV-9580 SHOW GRANTS FOR <current_user> fails
use get_current_user() to distinguish user name without
a hostname and a role name.

move privilege checks inside mysql_show_grants() to remove
duplicate get_current_user() calls
2016-04-24 18:15:20 +02:00
Andrew McDonnell
23b1b69b10 Comment from https://github.com/MariaDB/server/pull/153 2016-04-24 18:15:20 +02:00
Andrew McDonnell
6651005e62 Fix for MDEV-8206, as per Jira comments of 2015-11-16 and 2015-11-30 2016-04-24 18:15:20 +02:00
Sergei Golubchik
011497bd60 MDEV-9869 INSTALL SONAME 'ha_connect'
make storage engine RPMs require the exact server
version RPM: "MariaDB = %{version}-%{release}",
other plugins require simply "MariaDB", as before.
2016-04-24 18:15:20 +02:00
Sergey Vojtovich
250a89cfec MDEV-9283 - Debian: the Lintian complains about "shlib-calls-exit" in
ha_oqgraph.so

exit() was called by Judy error handler. This patch overrides Judy error handler
so that it calls abort() instead of exit().
2016-04-22 15:30:10 +04:00
Sergey Vojtovich
994030c0e2 MDEV-8889 - Assertion `next_insert_id == 0' failed in handler::ha_external_lock
There was a race condition between delayed insert thread and connection thread
actually performing INSERT/REPLACE DELAYED. It was triggered by concurrent
INSERT/REPLACE DELAYED and statements that flush the same table either
explicitely or implicitely (like FLUSH TABLE, ALTER TABLE, ...).

This race condition was caused by a gap in delayed thread shutdown logic,
which allowed concurrent connection running INSERT/REPLACE DELAYED to change
essential data consequently leaving table in semi-consistent state.

Specifically query thread could decrease "tables_in_use" reference counter in
this gap, causing delayed insert thread to shutdown without releasing auto
increment and table lock.

Fixed by extending condition so that delayed insert thread won't shutdown
until there're locked tables.

Also removed volatile qualifier from tables_in_use and stacked_inserts since
they're supposed to be protected by mutexes.
2016-04-22 13:01:15 +04:00
Jan Lindström
298e1d3f71 Improve error diagnostics on I/O errors. If node->name is NULL
try to use space->name instead.
2016-04-22 11:36:10 +03:00
Jan Lindström
628bc576b3 MDEV-9918: [ERROR] mysqld got signal 11 during ALTER TABLE name COLUMN ADD
Problem was that in-place online alter table was used on a table
that had mismatch between MySQL frm file and InnoDB data dictionary.
Fixed so that traditional "Copy" method is used if the MySQL frm
and InnoDB data dictionary is not consistent.
2016-04-22 08:57:07 +03:00
Igor Pashev
e5410da190 SEGFAULT in get_column_grant()
Due to a typo, the wrong grant_table was used when fetching privileges
for roles.

Signed-off-by: Vicențiu Ciorbaru <vicentiu@mariadb.org>
2016-04-21 08:18:54 -07:00
Sergey Vojtovich
072ca71d26 MDEV-9281 - Debian: the Lintian complains about "shlib-calls-exit" in handlersocket.so
MDEV-9278 - Debian: the Lintian complains about "shlib-calls-exit" in ha_spider.so

Handlersocket handles errors in a way that it aborts program execution. In most
cases it is done via abort(). One exception was host/service resolution failure,
which was aborted with exit().

As a workaround replaced this exit() with abort() for symmetry with other error
handling.
2016-04-20 18:20:31 +04:00
Elena Stepanova
f8adeccd78 MDEV-9713 Sporadic test failure: sys_vars.innodb_buffer_pool_load_now_basic
Previous fix using wait condition did not work because of MDEV-9867, so
we have to use conditional sleep instead. Sleep will only happen if the test
is executed after another one which also ran buffer pool dump without
server restart between two tests
2016-04-04 17:04:14 +03:00
Oleksandr Byelkin
f6d99a0d8a MDEV-9773: Memory corruption in mariadb_dyncol_unpack
Fixed calculating pointer to memory allocated for names in numeric format in unpacking procedure.
2016-03-24 08:57:41 +01:00
Sergei Golubchik
22ebf3cb45 MDEV-9527 build FAILs with GCC 5.1 with release supported "-std=c+11"
10.0 part of the fix
2016-03-21 11:55:03 +01:00
Sergei Golubchik
98ea806207 Merge branch '5.5' into 10.0 2016-03-21 11:54:45 +01:00
Sergei Golubchik
b9e571882b MDEV-9679 main.delayed fails sporadically
update main.delayed test after 38b89a61
ALTER TABLE ... COMMENT is no longer blocking,
use a different ALTER TABLE variant.
2016-03-21 11:43:19 +01:00
Sergei Golubchik
d158ba62f7 ASAN error in OQGraph engine
Fixed more cases for MDEV-6282
2016-03-21 11:43:19 +01:00
Sergei Golubchik
a2de604309 ASAN error in CONNECT engine
don't strcpy a string to itself
2016-03-21 11:43:19 +01:00
Sergei Golubchik
2ed882f9c4 update tests and results
s/Execute/Query/ to account for --ps-protocol
2016-03-21 11:43:19 +01:00
Sergei Golubchik
620d975ecd typo in a comment 2016-03-21 11:43:19 +01:00
Sergei Golubchik
7baff9f687 fix extension_based_table_discovery for partitioned tables
typo. the code was not matching the comment
2016-03-21 11:43:19 +01:00
Sergei Golubchik
8b9432ffac MDEV-9698 Buffer overflow in extension_based_table_discovery()
fix a buffer overflow in extension_based_table_discovery
(that only happens in debug builds)
2016-03-21 11:43:19 +01:00
Bernard Spil
ee687771ee Use /bin/sh
Remove Linuxism. 

Works fine with a POSIX-compat shell
2016-03-21 11:43:19 +01:00
Sergei Golubchik
e69c6e81a8 MDEV-9560 Mariadb 10.1 Crashes when replicating from 10.0
don't crash in debug builds. issue an error message on corrupt event
2016-03-21 11:43:19 +01:00
Sergei Golubchik
11b77e9b18 MDEV-9527 build FAILs with GCC 5.1 with release supported "-std=c+11"
5.5 part of the fix
2016-03-18 16:55:11 +01:00
Elena Stepanova
96a7e74ed3 Extra space in the result file 2016-03-18 00:28:18 +02:00
Sergei Golubchik
fc2c1e4385 MDEV-9733 Server crashes in lf_pinbox_real_free on replication slaves
don't allocate all the stack, leave some stack for
function calls.

To test I added the following line:
  alloca_size = available_stack_size() - X
at X=4096 or less mysqld crashed, at 8192 mtr test passed.
2016-03-17 21:30:33 +01:00
Sergei Golubchik
0b9fb9aea9 MDEV-9568 mysqlcheck crashes with nonexistent table name
remove erroneous free() call
2016-03-17 11:04:40 +01:00
Sergey Vojtovich
3badfe005c Merge pull request #164 from iangilfillan/10.0
Update sponsors
2016-03-16 12:21:38 +04:00
iangilfillan
497800ee64 Update sponsors 2016-03-15 14:41:29 +02:00
Elena Stepanova
0125e588f3 MDEV-9713 Sporadic test failure: sys_vars.innodb_buffer_pool_load_now_basic
It could have happened that one of previous tests already executed
buffer pool dump and set the status variable value, so when it's been
checked, the check passes too early, before the dump starts and
the dump file is created. See more detailed explanation in MDEV-9713.

Fixed by waiting for the current time to change in case it equals
to the timestamp in the status variable, and then checking that
the status variable not only matches the expected pattern, but also
differs from the previous value, whatever it was.
2016-03-12 17:50:57 +02:00
Jan Lindström
8103526b38 MDEV-9667: Server hangs after select count(distinct name) from t2 where a=8366 and b>=5 and b<=5;
In row_search_for_mysql function on XtraDB there was a old logic
where null bytes were inited. This caused server to think that
key value is null and continue on incorrect path.
2016-03-11 13:36:29 +02:00
Sergey Vojtovich
8942824a53 Fixed false errors returned by logrotate script
Logrotate script assumed an error if mysqladmin failed to connect to server
and there's mysqld process exists. However there can be non-system instance of
mysqld running (e.g. in docker) making this assumption wrong.

Check pid file existance instead.
2016-03-10 13:08:34 +04:00
Sergey Vojtovich
d7721fcf6c Merge pull request #162 from iangilfillan/10.0
Update AskMonty and Atlassian references to MariaDB
2016-03-09 09:55:13 +04:00
iangilfillan
6befd84202 Update AskMonty and Atlassian references to MariaDB 2016-03-08 15:24:01 +02:00
Sergey Vojtovich
3c37f35f05 Merge pull request #159 from ottok/ok-debpkg-10.0
Fix spelling: occurred, execute, which etc
2016-03-07 14:25:02 +04:00
Otto Kekäläinen
1777fd5f55 Fix spelling: occurred, execute, which etc 2016-03-04 02:09:37 +02:00
Kristian Nielsen
f8251911a4 MDEV-9595: Shutdown takes forever with many replication channels
There was a race between end_slave() and cleanup code at the end of
handle_slave_sql(). This could cause access to master_info_index and
global_rpl_thread_pool after they had been freed.

Fix by skipping that cleanup if server shutdown is in progress, as is done
in other parts of the code as well (the cleanup, which stops worker threads
that are not needed anymore, is redundant anyway when the server is shutting
down).
2016-03-03 08:53:42 +01:00
Sergey Vojtovich
c3071af5f0 Merge pull request #158 from ottok/ok-debpkg-10.0
MDEV-9643: Don't emit any "deb-systemd-helper not found" warnings
2016-03-01 10:45:33 +04:00
Otto Kekäläinen
802843eda0 MDEV-9643: Don't emit any "deb-systemd-helper not found" warnings 2016-02-29 23:02:53 +02:00
Elena Stepanova
c29e450e37 MDEV-4070 sys_vars.secure_file_priv fails sporadically if it's executed with --mem
The test created a file in location relative to the datadir
(a few levels above datadir).
The file was created by MariaDB server (via INTO OUTFILE), and
later removed by mysqltest (via remove_file). The problem is that
when the vardir is a symlink, MariaDB server and mysqltest can
resolve such paths differently. MariaDB server would return back
to where the symlink is located, while mysqltest would go above
the real directory. For example, if the test is run with --mem,
and /bld/5.5/mysql-test/var points at /dev/shm/var_auto_X, then
SELECT INTO OUTFILE created a file in /bld/5.5/mysql-test , but
remove_file would look for it in /dev/shm/.

The test is re-written so that all paths are resolved in perl,
the logic itself hasn't changed.
2016-02-26 03:02:07 +02:00
Elena Stepanova
e7d50efc45 MDEV-7907 tokudb.cluster_filter_unpack_varchar_hidden fails sporadically in buildbot
Index access becomes range every once in a while. Masked the value in addition
to other already masked columns
2016-02-26 00:25:55 +02:00
Sergei Golubchik
5f2f3c4fa8 connect engine compiler warnings 2016-02-18 09:22:41 +01:00
Sergei Golubchik
a4b2714968 Merge branch 'bb-10.0-serg' into 10.0 2016-02-17 21:42:57 +01:00
Sergei Golubchik
3eb8b1125f fix InnoDB on Windows 2016-02-17 21:42:48 +01:00
Sergei Golubchik
ceba41c095 MDEV-9299 Test main.events_2 incompatible with Debian reproducibility testing framework
Debian tests are run in 2017, update the test to
use 2027 as a "future".
2016-02-17 20:58:32 +01:00
Sergei Golubchik
289fe3720e MDEV-9350 Fix jemalloc detection for FreeBSD
on FreeBSD 10 jemalloc is in libc, no separate libjemalloc is needed
2016-02-17 15:16:19 +01:00