Commit graph

173,429 commits

Author SHA1 Message Date
Sergei Golubchik
f4faac4d6a Merge branch '10.0' into 10.1 2016-01-25 22:58:57 +01:00
Sergei Golubchik
2ff65ba531 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-01-25 22:57:56 +01:00
Sergei Golubchik
ed4fb9b248 MDEV-9259 Add missing mroonga files to Debian packaging in 10.1 2016-01-25 22:57:55 +01:00
Sergei Golubchik
5da7c346c7 MDEV-9428 NO_AUTO_VALUE_ON_ZERO is ignored when a trigger before insert is defined
Don't compare "field == table->next_number_field" because the field
can be special nullable field copy created by the trigger.
Compare field_index values instead.
2016-01-25 22:57:54 +01:00
Sergei Golubchik
68910e7092 MDEV-9273 ERROR 1819 on grant statment for existing user
Cannot do password validation in fix_lex_user(), we don't know
there what "GRANT ... TO user" means - creating a new user with
an empty password (need validation) or granting privileges
to an existing user (no validation needed).

Move validation down into replace_user_table(). And copy into
check_change_password().
2016-01-25 22:57:53 +01:00
Sergei Golubchik
d14c4c7874 cleanup: move all password validation logic into one function 2016-01-25 22:57:53 +01:00
Sergei Golubchik
d5b1b1ac60 stack too small on labrador (again!)
increase the thread stack a bit for main.signal_demo3
and sys_vars.max_sp_recursion_depth_func to stop failing
2016-01-25 22:57:47 +01:00
Sergei Golubchik
666b9663f9 update test results 2016-01-25 19:03:33 +01:00
Sergei Golubchik
c37107380a cleanup: LEX_USER::pwtext and LEX_USER::pwhash
Was:
* LEX_USER::password was storing sometimes
  plaintext password and sometimes password hash
* LEX_USER::auth was storing sometimes password hash and
  sometimes plugin authentication string

Now:
* LEX_USER::pwtext stores the password in plain-text
* LEX_USER::pwhash stores the password hash
* LEX_USER::auth stores the plugin authentication string
2016-01-25 17:04:15 +01:00
Sergei Golubchik
1fea7e785f cleanup: create LEX_USER::reset_auth()
as this is used quite often
2016-01-25 17:04:14 +01:00
Sergei Golubchik
b01e2ff1cd MDEV-9385 Devel package wants ownership of /usr/share/pkgconfig on CentOS/RHEL
add /usr/share/pkgconfig to the rpm ignored list
2016-01-25 17:04:14 +01:00
Sergei Golubchik
5a5f18f3f7 MDEV-9205 PAM user map plugin does not work with LDAP groups
allow more characters in a valid user/group name:
* POSIX allows dashes '-' and dots '.'
* also the name may end with a dollar sign '$'

for our purposes it's enough to allow [-.$] anywhere in the name
2016-01-25 17:04:14 +01:00
Sergei Golubchik
a2330c820a MDEV-8208 Sporadic SEGFAULT on startup
different fix. remove old ones, wait for THD to be fully
initialized before continuing with the server startup process.

This reverts commits db2e21b, 13615c5, 3f515a0, 70113ee.
2016-01-25 17:04:09 +01:00
Sergei Golubchik
744e605de0 cleanup: wsrep helper to create a thread 2016-01-25 16:38:24 +01:00
Sergei Golubchik
0fab28cedd cmake: better auto *.i targets in Makefiles 2016-01-25 16:38:23 +01:00
Alexey Botchkov
1793646d78 Merge branch '5.5' into 10.0
Conflicts:
	plugin/server_audit/server_audit.c
2016-01-25 16:37:08 +04:00
Alexey Botchkov
da0991c6da MDEV-7875 Duplicate maria_add_gis_sp script in the sources.
Now both are generated by the cmake from the
        scripts/maria_add_gis_sp.sql.in
2016-01-25 11:32:19 +04:00
Sergei Petrunia
ff8d4009a7 MDEV-9457: Poor query plan chosen for ORDER BY query by a recent 10.1
Undo the change in test_if_skip_sort_order() that set ref_key=-1 when
a variant of index_merge is used (was made in fix for MDEV-9021).

It turned out that test_if_cheaper_ordering() call below assumes that
ref_key=-1 means "no index is used", that is, "an inefficient full table
scan is done".
This is not the same as index_merge, index_merge can actually be quite
efficient. So, ref_key=MAX_KEY denotes the fact that some index is used,
not any given index.
2016-01-24 16:59:41 +03:00
Oleksandr Byelkin
825f51d1aa MDEV-9118 ANALYZE TABLE for Engine independent status fetchs blob/text columns without use
Do not include BLOB fields by default.
2016-01-22 18:07:11 +01:00
Vladislav Vaintroub
45920d3d4a Merge pull request #151 from frozencemetery/my_name
Fix spelling of my name
2016-01-20 21:29:37 +01:00
Robbie Harwood
42d9f3d87b Fix spelling of my name 2016-01-20 13:24:30 -05:00
Vladislav Vaintroub
4bb62e91f6 Do not require server RPM for client plugins 2016-01-20 14:35:11 +01:00
Vladislav Vaintroub
67cf76ad9b MDEV 4691- address review comments 2016-01-19 11:59:32 +01:00
Jan Lindström
059c0c8b37 Merge pull request #149 from grooverdan/10.1-static-analysis-innodbchecksum
innodbchecksum: add fclose and handle errors
2016-01-19 07:59:02 +02:00
Daniel Black
f602c3938c innodbchecksum: add fclose and handle errors 2016-01-19 14:19:31 +11:00
Vicențiu Ciorbaru
e7a89b46d4 Revert "[Code cleanup] Refactor duplicate code within myisam and maria sort.cc"
This reverts commit 727f92fe00.
2016-01-17 22:57:37 +02:00
Vicențiu Ciorbaru
acc837981f Revert "Fixed compilation failure on MacOSX"
This reverts commit df32495c85.
2016-01-17 22:57:27 +02:00
Vicențiu Ciorbaru
275f7d7d82 Remove warning in my_addr_resolve
ISO C90 does not allow mixed declarations and code.
2016-01-17 22:33:36 +02:00
Vicențiu Ciorbaru
b2bd10d4d6 [MDEV-9427] Server does not build on OpenSUSE 42.1
Changed code to comply to C90 standard.
2016-01-17 22:26:22 +02:00
Vicențiu Ciorbaru
6d3ffd2e3a Fixed a crash during stacktrace printing if addr2line failed to start.
In order to get all the input from addr2line we must read in a loop,
until the response is complete. Also, in case that the response is
malformed, we must not end up reading invalid memory.
2016-01-17 14:20:09 +02:00
Vicențiu Ciorbaru
df32495c85 Fixed compilation failure on MacOSX
Due to a hack that has propagated to the maria storage engine, undefined
behaviour would result by bypassing the initialization code of variables
after my_thread_init().

By refactoring the nested logic into a separate function, this problem
is resolved.
2016-01-17 14:20:08 +02:00
Vicențiu Ciorbaru
727f92fe00 [Code cleanup] Refactor duplicate code within myisam and maria sort.cc
Setting read and write methods for the SORT_PARAM struct based on
variable length key is done within a single function.
2016-01-17 14:20:08 +02:00
Kristian Nielsen
38bcb4464e After-merge fix. 2016-01-15 14:24:11 +01:00
Kristian Nielsen
2f88b14acd Merge branch 'tmp' into tmp-10.1
Conflicts:
	sql/slave.cc
2016-01-15 13:01:19 +01:00
Kristian Nielsen
74b1af19e9 Merge branch 'tmp' into tmp-10.0
Conflicts:
	sql/slave.cc
2016-01-15 12:50:23 +01:00
Kristian Nielsen
06b2e327fc Fix error handling for GTID and domain-based parallel replication
This occurs when replication stops with an error, domain-based parallel
replication is used, and the GTID position contains more than one domain.
Furthermore, it relates to the case where the SQL thread is restarted
without first stopping the IO thread.

In this case, the file/offset relay-log position does not correctly
represent the slave's multi-dimensional position, because other domains may
be far ahead of, or behind, the domain with the failing event. So the code
reverts the relay log position back to the start of a relay log file that is
known to be before all active domains.

There was a bug that when the SQL thread was restarted, the
rli->relay_log_state was incorrectly initialised from @@gtid_slave_pos. This
position will likely be too far ahead, due to reverting the relay log
position. Thus, if the replication fails again after the SQL thread restart,
the rli->restart_gtid_pos might be updated incorrectly. This in turn would
cause a second SQL thread restart to replicate from the wrong position, if
the IO thread was still left running.

The fix is to initialise rli->relay_log_state from @@gtid_slave_pos only
when we actually purge and re-fetch relay logs from the master, not at every
SQL thread start.

A related problem is the use of sql_slave_skip_counter to resolve
replication failures in this kind of scenario. Since the slave position is
multi-dimensional, sql_slave_skip_counter can not work properly - it is
indeterminate exactly which event is to be skipped, and is unlikely to work
as expected for the user. So make this an error in the case where
domain-based parallel replication is used with multiple domains, suggesting
instead the user to set @@gtid_slave_pos to reliably skip the desired event.
2016-01-15 12:48:14 +01:00
Alexey Botchkov
9c9d10b441 MDEV-9106 Audit plugin not working with MySQL 5.7.
fixing Windows crash.
2016-01-15 09:50:27 +04:00
Vladislav Vaintroub
55d61ec878 MDEV-4961 SSPI/GSSAPI/Kerberos authentication plugin 2016-01-14 13:31:08 +01:00
Alexey Botchkov
fe4823d28e MDEV-9106 Audit plugin doesnt run with MySQL 5.7.
updata thread_pool_server_audit test result.
2016-01-13 18:02:44 +04:00
Alexey Botchkov
cdc9aa5b5b MDEV-9106 Audit Plugin doesn't run with MySQL 5.7.
MariaDB 5.5 built in debug gets unhappy with mutexes.
    Although everything is correct, some DBUG_ASSERT can happen.
    So this patch keeps safe_mutex silent.
2016-01-13 15:27:53 +04:00
Alexey Botchkov
c9552533c9 MDEV-9106 Audit plugin compiled with MariaDB can't install on MySQL 5.7.
The audit API was seriously changed in MySQL 5.7.
        so we had to adapt the plugin's code to that.
2016-01-12 18:43:55 +04:00
Vladislav Vaintroub
3730d8a225 MDEV-9366 : do_shutdown_server fails to detect server shutdown on Windows.
Fix test whether process is alive in mysqltest.

Also fix SHUT_RD definition on Windows to be SD_RECEIVE.
SD_BOTH  was used instead prior to this patch, and this would
occasionally make mysql_shutdown()  fail - when the socket for the current connection
is not able send the COM_SHUTDOWN response anymore.
2016-01-07 17:27:08 +01:00
Vladislav Vaintroub
1236333333 Fix annoying repetitive tokudb build warning, if MariaDB is build on non-Linux x64 system 2016-01-07 17:24:57 +01:00
Vladislav Vaintroub
5f48b61509 MDEV-9298 : Build failure when linking libmysql.
If GCC or CLang compile with link time optimization (-flto),
they throw an error during link , when lto sees a
function (e.g mysql_real_connect) is redeclared as "external void *"
in libmysql_exports.cc

The fix disables -flto for generated libmysql_exports.cc
2016-01-07 14:45:40 +01:00
Jan Lindström
111acb721f MDEV-9359: encryption.create_or_replace fails sporadically in buildbot: failing assertion: mutex->magic_n == MUTEX_MAGIC_N
Make sure that encryption threads mutex is initialized before starting
encryption threads.
2016-01-05 18:50:54 +02:00
Monty
8fcc0bfefa Fixed bug in semi_sync replication tests.
The problem was that wait_for_slave_io_to_start reported that the io thread
was ready, when it was still initializing. This caused test suite to
continue too early, for example before the semi sync plugin was properly
enabled.

Fixed by introducing a new internal stage: "Preparing". Slave_IO_Running is
now set to "Yes" only when all initializing is done and the IO thread is
ready to read things from the master.

The only test affected by this change is rpl_flsh_tbls, which got stuck in
the preparing phase while trying to read the GTID position from a table.
Fixed by having this test waiting for Preparing instead of Yes.
2016-01-03 13:27:59 +02:00
Monty
661a6d8906 Cleanup of slave code:
- Added testing if connection is killed to shortcut reading of connection data
  This will allow us later in 10.2 to do a cleaner shutdown of slaves (less errors in the log)
- Add new status variables: Slaves_connected, Slaves_running and Slave_connections.
- Use MYSQL_SLAVE_NOT_RUN instead of 0 with slave_running.
- Don't print obvious extra warnings to the error log when slave is shut down normally.
2016-01-03 13:20:07 +02:00
Monty
4b4777ab63 Backported fix for ccache
Fixed compiler warnings
Added --big-test to tokudb change_column_char & change_column_bin
2016-01-03 12:48:55 +02:00
Vladislav Vaintroub
56e0de0411 Merge branch '10.0' into 10.1 2015-12-30 20:56:52 +01:00
Vladislav Vaintroub
ae7b39a13a Merge branch '5.5' into 10.0 2015-12-30 20:55:12 +01:00