Commit graph

165110 commits

Author SHA1 Message Date
Oleksandr Byelkin
0d7bc1edf3 32 bit test fix 2015-03-16 21:01:58 +01:00
Sergey Vojtovich
fec94a6b44 MDEV-7728 - Improve xid cache scalability by using lock-free hash
This is an addition to original patch. Some platforms are strict about atomic
op argument signedness.
2015-03-16 22:54:43 +04:00
Alexander Barkov
e6f67c64cd MDEV-6572 "USE dbname" with a bad sequence erroneously connects to a wrong database 2015-03-16 21:55:10 +04:00
Sergey Vojtovich
4cb86b79dd MDEV-7728 - Improve xid cache scalability by using lock-free hash
Spider support for new xid cache implementation.
2015-03-16 19:07:52 +04:00
Sergey Vojtovich
6bd24deab4 MDEV-7728 - Improve xid cache scalability by using lock-free hash
XID cache is now based on lock-free hash.
Also fixed lf_hash_destroy() to call alloc destructor.

Note that previous implementation had race condition when thread was accessing
XA owned by different thread. This new implementation doesn't fix it either.
2015-03-16 19:07:51 +04:00
Kristian Nielsen
be1c5660f4 MDEV-6981: feature request MASTER_GTID_WAIT status variables
Missing .result file update.
2015-03-16 15:02:05 +01:00
Kristian Nielsen
1f8efee584 Merge MDEV-7198: status variable for Slave_skipped_errors 2015-03-16 14:54:16 +01:00
Kristian Nielsen
ef4d8db5ec MDEV-6981: feature request MASTER_GTID_WAIT status variables
Review fixes:
 - Coding style
 - Fix bad .result file
 - Fix test to be tolerant of different timing.
 - Fix test to give better info in case of unexpected timing.
2015-03-16 14:40:29 +01:00
Kristian Nielsen
0e717c5bf4 Merge branch 'mdev-6981-master_gtid_wait-status-variables' of https://github.com/openquery/mariadb-server into danblack
Conflicts:
	sql/mysqld.cc
2015-03-16 13:41:11 +01:00
Daniel Black
9362dd43ff additional slave_skip_errors status 2015-03-16 23:15:36 +11:00
Daniel Black
51ea3939b4 Complete test for status slave_skipped_errors 2015-03-16 23:06:30 +11:00
Sergey Vojtovich
18e9c314e4 MDEV-6650 - LINT_INIT emits code in non-debug builds
Replaced all references to LINT_INIT with UNINIT_VAR and LINT_INIT_STRUCT.
Removed LINT_INIT macro.
2015-03-16 14:48:22 +04:00
Jan Lindström
e7b1d7350f Introduce only one combinations file and and rule for aes_ctr to
suite.pm so that it is not used if not available.
2015-03-16 12:47:32 +02:00
Kristian Nielsen
2e82a8233c MDEV-7785: errorneous -> erroneous spelling mistake 2015-03-16 10:54:47 +01:00
Alexey Botchkov
10554ca6cb Test results fixed. 2015-03-16 12:02:21 +04:00
Alexander Barkov
f48dc5ccc7 Moving the conversion code from String::well_formed_copy()
to my_convert_fix() - a new function in /strings.
2015-03-16 12:14:31 +04:00
Jan Lindström
c4b268add0 InnoDB cleanup. Remove empty statements i.e. extra ; characters. 2015-03-16 09:14:13 +02:00
Alexey Botchkov
da4b52432a MDEV-7512 GIS: ST_ synonyms for functions are not consistent.
Checked for missing synonims, added those found.
2015-03-15 23:00:05 +04:00
Alexey Botchkov
874f0d7759 Test result fixed. 2015-03-15 22:27:45 +04:00
Alexey Botchkov
37345bd9dd MDEV-7529 GIS: ST_Relate returns unexpected results for POINT relations.
Problem was that we considered the point itself as the 'border' object. Instead
of that the 'border' of a POINT is an empty set, and the point is the 'interior'.
Another error fixed by the way - not all operations of the resulting function were properly
allocated.
2015-03-15 22:20:38 +04:00
Alexey Botchkov
ca30418837 MDEV-7514 GIS: PointOnSurface returns NULL instead of the point.
Need to take into account cases of a polygon shaped as a very thin line.
2015-03-15 11:17:50 +04:00
Oleksandr Byelkin
a21ef88d2a MDEV-6954: SET STATEMENT rand_seedX = ...FOR ... makes the next rand() to return 0
The variables now return real values. They can't be made usual variables because they do not have DEFAULT value.
2015-03-14 08:41:43 +01:00
Oleksandr Byelkin
41106b229e MDEV-6997: SET STATEMENT last_insert_id FOR ... does not affect the value written to the binlog
Problem was in reinitialization of first_successful_insert_id_in_prev_stmt_for_binlog after setting variables.
2015-03-13 20:42:30 +01:00
Kristian Nielsen
184f718fef MDEV-7249: Performance problem in parallel replication with multi-level slaves
Parallel replication (in 10.0 / "conservative" mode) relies on binlog group
commits to group transactions that can be safely run in parallel on the
slave. The --binlog-commit-wait-count and --binlog-commit-wait-usec options
exist to increase the number of commits per group. But in case of conflicts
between transactions, this can cause unnecessary delay and reduced througput,
especially on a slave where commit order is fixed.

This patch adds a heuristics to reduce this problem. When transaction T1 goes
to commit, it will first wait for N transactions to queue up for a group
commit. However, if we detect that another transaction T2 is waiting for a row
lock held by T1, then we will skip the wait and let T1 commit immediately,
releasing locks and let T2 continue.

On a slave, this avoids the unfortunate situation where T1 is waiting for T2
to join the group commit, but T2 is waiting for T1 to release locks, causing
no work to be done for the duration of the --binlog-commit-wait-usec timeout.

(The heuristic seems reasonable on the master as well, so it is enabled for
all transactions, not just replication transactions).
2015-03-13 14:01:52 +01:00
Alexander Barkov
197afb413f MDEV-6566 Different INSERT behaviour on bad bytes with and without character set conversion 2015-03-13 16:51:36 +04:00
Jan Lindström
7c21ea9f50 MDEV-7772: SIGSEGV on my_aes_encrypt_cbc when -DWITH_SSL=bundled
Two problems:
- Read/Write outside of buffer at memcpy() because of incorrect parameters
. OPENSSL_assert(EVP_CIPHER_CTX_iv_length(&ctx.ctx) == iv_length); // ECB does not use IV, thus incorrect assertion

Added:
    mysql-test/include/have_file_key_management_plugin.combinations ( to run with aes_cbc and aes_ecb)
    mysql-test/include/have_openssl_ctr.combinations ( to run with aes_cbc, aes_ecb and aes_ctr)
2015-03-13 14:18:07 +02:00
Alexander Barkov
bc902a2bfc MDEV-7387 [PATCH] Alter table xxx CHARACTER SET utf8, CONVERT TO CHARACTER SET latin1 should fail
A contribution from Daniel Black, with minor additional enhancements.
2015-03-13 16:12:54 +04:00
Alexey Botchkov
702fba1511 MDEV-7510 GIS: IsRing returns false for a primitive triangle.
The problem is in the IsSimple function. If the first and the last points
of a curve coincide it's and exception and the line is still 'simple'.
2015-03-13 16:10:31 +04:00
Alexander Barkov
75d65b5f4e MDEV-6989 BINARY and COLLATE xxx_bin comparisions are not used for optimization in some cases 2015-03-13 15:48:39 +04:00
Alexander Barkov
bd2105855a Adding "const" qualifier to Item::compare_collation() 2015-03-13 13:52:07 +04:00
Jan Lindström
4d0e52189c MDEV-7770: Online DDL progress output contains incorrectly printed index names
Index names were not formatted correctly.
2015-03-13 09:38:08 +02:00
Jan Lindström
702fdc52fa MDEV-7714: Make possible to get innodb internal primary key for wrapper
type storage engine.

Authored by: Kentoku Shiba
2015-03-12 18:37:32 +02:00
Alexander Barkov
bb3115b256 MDEV-6990 GROUP_MIN_MAX optimization is not applied in some cases when it could 2015-03-12 18:12:15 +04:00
Alexey Botchkov
129c82bb59 MDEV-7334 valgrind warning "unitialized bytes" in 10.1.
The 'srid' field's copying was missing in the copying Create_field::Create_field() constructor.
2015-03-12 17:50:23 +04:00
Jan Lindström
8249dcaaeb MDEV-6858: enforce_storage_engine option
Merge from Percona Server enforced use of a specific storage engine
authored by Stewart Smith.

Modified to be session variable and modifiable only by SUPER. Use
similar implementation as default_storage_engine.
2015-03-12 12:17:14 +02:00
Alexander Barkov
ba3573cae8 Clean-up:
- Renaming Item::is_bool_func() to is_bool_type(), to avoid assumption
  that the item is an Item_func derivant.
- Deriving Item_func_spatial_rel from Item_bool_func rather than Item_int_func
2015-03-12 13:40:52 +04:00
Oleksandr Byelkin
a71e2d23bd MDEV-7006 MDEV-7007: SET STATEMENT and slow log
fixed embedded server tests
MDEV-7009: SET STATEMENT min_examined_row_limit has no effect
MDEV-6948:SET STATEMENT gtid_domain_id = ... FOR has no effect (same for gtid_seq_no and server_id)

old values of SET STATENENT variables now saved in its own Query_arena and restored later
2015-03-12 10:19:32 +01:00
Oleksandr Byelkin
dab12366b1 MDEV-6956:SET STATEMENT default_master_connection = ... has no effect
the problem was in assigning default value during parsing.
2015-03-12 09:47:36 +01:00
Alexander Barkov
e91bc2e91d MDEV-7759 NULLIF(x,y) is not equal to CASE WHEN x=y THEN NULL ELSE x END 2015-03-12 11:40:37 +04:00
Daniel Black
fa5809ce10 Add Master_gtid_wait_{count,time,timeouts} status
MASTER_GTID_WAIT function needs some status to evaluate its use.

master_gtid_wait_count indicates how many times the function is called.
master_gtid_wait_time indicates how much time in microseconds occurred
waiting (or timing out)
master_gtid_timeouts indicates how many time times this function timed
out rather than all successful gtids events being available.
2015-03-12 06:43:38 +11:00
Daniel Black
eac71ced18 Add Slave_skipped_errors to global status
This counts the number of times a replication event is ignored
due to slave_skip_errors.
2015-03-12 05:23:05 +11:00
Oleksandr Byelkin
80f03abcca MDEV-7671: Cache VIEW definitions in the TDC
(changes of backported patch are very small: strlen removed, error processing fixed, view open statistics added)
2015-03-11 17:39:15 +01:00
Oleksandr Byelkin
3aa1a600bb Merge branch '10.1' of github.com:MariaDB/server into 10.1 2015-03-11 15:15:43 +01:00
Oleksandr Byelkin
be73c7ee44 MDEV-6951: Erroneous SET STATEMENT produces two identical errors
Double error reporting removed.
2015-03-11 14:57:30 +01:00
Alexey Botchkov
52a1b5a8c2 MY_CHECK_AND_SET_COMPILER_FLAG changes
* watch for "redefined macro" warning
* don't enable -D_FORTIFY_SOURCE=2 in debug builds (it requires -O)
2015-03-11 13:05:03 +04:00
Alexander Barkov
190858d996 Removing duplicate code: adding Item_func_bool_predicate as a
common parent class for Item_func_isnull and Item_func_isnotnull
2015-03-11 12:40:35 +04:00
Kristian Nielsen
ed04c40b01 MDEV-5289: master server starts slave parallel threads
Delay spawning parallel replication worker threads until a slave SQL
thread is running, and de-spawn them when the last SQL thread stops.

This is especially useful to avoid needless threads on a master in a
setup where same my.cnf is used on masters and slaves.
2015-03-11 09:18:16 +01:00
Jan Lindström
9f4ee16bf3 MDEV-7619: Improve long semaphore wait output
Add holder thread_id, file_name and line to output.
2015-03-11 07:31:57 +02:00
Alexey Botchkov
ba43735c68 Check for the openssl-dev so the build doesn't fail without it. 2015-03-10 22:34:57 +04:00
Vicențiu Ciorbaru
0ed57e34c7 MDEV-7025 ANALYZE SELECT/INSERT/UPDATE/DELETE from a view does not check access permissions on the view
Added access checking for the ANALYZE statement command.
2015-03-10 14:11:02 +02:00