Commit graph

89561 commits

Author SHA1 Message Date
Olivier Bertrand
4aac44d257 - Fix MDEV-6686 (buffer overflow in MakeRecord)
modified:
  storage/connect/ha_connect.cc
2014-09-05 14:18:31 +02:00
Murthy Narkedimilli
7a4a0bf1c9 Applying the patch to remove WL#7219 which was by mistake included by the dev team. 2014-09-05 08:37:21 +02:00
BohuTANG
ef579d8921 DB-310 add tokudb_support_xa variable
this variable scope is Global, Session
type is boolean and default value is TRUE
2014-09-05 13:17:54 +08:00
Alexander Barkov
9392d0e280 - MDEV-6695 Bad column name for UCS2 string literals
The Item_string constructors called set_name() on the source string,
  which was wrong because in case of UCS2/UTF16/UTF32 the source value
  might be a not well formed string (e.g. have incomplete leftmost character).
  Now set_name() is called on str_value after its copied 
  (with optionally left zero padding) from the source string.
- MDEV-6694 Illegal mix of collation with a PS parameter
  Item_param::convert_str_value() did not set repertoire.
  Introducing a new structure MY_STRING_METADATA to collect
  character length and repertoire of a string in a single loop,
  to avoid two separate loops. Adding a new class Item_basic_value::Metadata
  as a convenience wrapper around MY_STRING_METADATA, to reuse the
  code between Item_string and Item_param.
2014-09-04 21:58:48 +04:00
Alexander Barkov
bf4347eba0 Creating a new class in_string::Item_string_for_in_vector
and moving set_value() from Item_string to Item_string_for_in_vector,
as set_value() updates the members incompletely
(e.g. does not update max_length),
so it was dangerous to have set_value() available in Item_string.
2014-09-04 12:43:41 +04:00
Alexander Barkov
c9d3b27d29 Using more Item_string_sys 2014-09-04 12:15:05 +04:00
Alexander Barkov
58eb51d1cf MDEV-6044 MySQL BUG#12735829 - SPACE() FUNCTION WARNING REFERS TO REPEAT() IN ER_WARN_ALLOWED_PACKET_OVERFLOWED
Merged from 5.6
2014-09-04 08:50:06 +04:00
John Esmet
cf3dae3b8d FT-273 Be more specific about why memcmp magic is interesting 2014-09-03 14:52:48 -04:00
John Esmet
40165a1083 FT-273 Prevent setting the memcmp magic on db handles for which a FT is already open. Improve comments. Add a test. 2014-09-03 14:38:04 -04:00
Alexander Barkov
1e66871713 Adding Item_string_sys and Item_string_ascii to reduce duplicate code 2014-09-03 18:24:31 +04:00
Alexander Barkov
e42f4e3199 MDEV-6688 Illegal mix of collation with bit string B'01100001' 2014-09-03 16:31:47 +04:00
Rich Prohaska
507da246c8 DB-718 test case for broken error handling in tokudb_fractal_tree_info info schema plugin 2014-09-03 08:13:49 -04:00
Rich Prohaska
b7feee730c Merge branch 'master' of github.com:Tokutek/tokudb-engine 2014-09-03 07:50:03 -04:00
Rich Prohaska
f7c43e4b9c DB-718 handle errors in tokudb info schema plugins 2014-09-03 07:49:52 -04:00
Jan Lindström
454037b794 MDEV-6682 innodb.innodb_simulate_comp_failures_small is too slow
if it's run on a real disk
  
  Made test smaller.
2014-09-03 07:37:13 +03:00
Rich Prohaska
ddc9e7488a DB-717 add iterations limit to tokustat 2014-09-02 16:23:32 -04:00
Rich Prohaska
d4fb687de3 Merge branch 'master' of github.com:Tokutek/tokudb-engine 2014-09-02 15:44:49 -04:00
Rich Prohaska
561edb14e8 DB-717 add iterations limit to tokustat 2014-09-02 15:44:40 -04:00
Rich Prohaska
6ee0e1c22e DB-716 use jemalloc 3.6.0 in tokudb builds 2014-09-02 13:01:56 -04:00
Rich Prohaska
9d28e3a6cf FT-548 fix dirty upgrade build on osx problem 2014-09-02 12:29:55 -04:00
Rich Prohaska
2f04fc27c8 FT-548 fix dirty upgrade build on osx problem 2014-09-02 11:53:49 -04:00
Rich Prohaska
ed9df111a5 FT-548 support upgrade after dirty shutdown of versions 25 through 27 2014-09-02 09:55:24 -04:00
Kristian Nielsen
36f50be970 MDEV-6462: Slave replicating using GTID doesn't recover correctly when master crashes in the middle of transaction
If the slave gets a reconnect in the middle of a GTID event group, normally
it will re-fetch that event group, skipping the first part that was already
queued for the SQL thread.

However, if the master crashed while writing the event group, the group is
incomplete. This patch detects this case and makes sure that the
transaction is rolled back and nothing is skipped from any following
event groups.

Similarly, a network proxy might cause the reconnect to end up on a
different master server. Detect this by noticing a different server_id,
and similarly in this case roll back the partially received group.
2014-09-02 14:07:01 +02:00
Alexander Barkov
fbaaf3688d Moving Item::str_value from public to protected. 2014-09-03 01:56:21 +04:00
Alexander Barkov
658a1e9420 MDEV-6683 A parameter and a string literal with the same values are not recognized as equal by the optimizer 2014-09-03 01:47:39 +04:00
Alexander Barkov
c70cacacfe MDEV-6679 Different optimizer plan for "a BETWEEN 'string' AND ?" and "a BETWEEN ? AND 'string'"
Item_string::eq() and Item_param::eq() in string context behaved differently.
Introducing a new class Item_basic_value to share the eq() code between
literals (Item_int, Item_double, Item_string, Item_null) and Item_param.
2014-09-02 22:04:48 +04:00
Jan Lindström
e2bf60276c MDEV-6682 innodb.innodb_simulate_comp_failures_small is too slow
if it's run on a real disk

Made test smaller.
2014-09-02 17:50:09 +03:00
Alexander Barkov
b088609a62 A clean-up for the previous patch 2014-09-02 17:34:29 +04:00
Olivier Bertrand
7c1af793fc - Initialise min/max buffer to 0 to avoid valgrind complaining
that uninitialised characters be written in op file.
modified:
  storage/connect/tabdos.cpp

- Typo
modified:
  storage/connect/filamap.cpp
  storage/connect/filamdbf.cpp
  storage/connect/filamdbf.h
  storage/connect/valblk.cpp
  storage/connect/xindex.cpp
2014-09-02 01:40:15 +02:00
Alexander Barkov
1427e1db99 MDEV-6661 PI() does not work well in UCS2/UTF16/UTF32 context
MDEV-6666 Malformed result for CONCAT(utf8_column, binary_string)

Item_static_string_func::safe_charset_converter() and 
Item_hex_string::safe_charset_converter() did not
handle character sets with mbminlen>1 properly, as well as
did not handle conversion from binary to multi-byte well.

Introducing Item::const_charset_converter(), to reuse it in a number
of Item_*::safe_charset_converter().
2014-09-01 20:57:32 +04:00
Sergei Golubchik
6389fd3c79 MDEV-6673 I_S.SESSION_VARIABLES shows global values
only look at lex->option_type if it's a SHOW command, not a SELECT
2014-08-31 19:55:11 +02:00
Rich Prohaska
6827d3bd51 FT-312 compile big-shutdown on osx 2014-08-30 06:35:59 -04:00
Olivier Bertrand
16de35114e - Avoid uninitialised warning from valgrind
modified:
  storage/connect/tabdos.cpp
2014-08-29 14:22:25 +02:00
Sergey Vojtovich
c01c819209 Backport from 10.0:
MDEV-6483 - Deadlock around rw_lock_debug_mutex on PPC64

This problem affects only debug builds on PPC64.

There are at least two race conditions around
rw_lock_debug_mutex_enter and rw_lock_debug_mutex_exit:

- rw_lock_debug_waiters was loaded/stored without setting
  appropriate locks/memory barriers.
- there is a gap between calls to os_event_reset() and
  os_event_wait() and in such case we're supposed to pass
  return value of the former to the latter.

Fixed by replacing self-cooked spinlocks with system mutexes.
These days system mutexes offer much better performance. OTOH
performance is not that critical for debug builds.
2014-08-29 16:14:11 +04:00
Sergey Vojtovich
40497577ff Backport from 10.0:
MDEV-6450 - MariaDB crash on Power8 when built with advance tool
            chain

InnoDB mutex_exit() function calls __sync_test_and_set() to release
the lock. According to manual this function is supposed to create
"acquire" memory barrier whereas in fact we need "release" memory
barrier at mutex_exit().

The problem isn't repeatable with gcc because it creates
"acquire-release" memory barrier for __sync_test_and_set().
ATC creates just "acquire" barrier.

Fixed by creating proper barrier at mutex_exit() by using
__sync_lock_release() instead of __sync_test_and_set().
2014-08-29 16:02:46 +04:00
Leif Walsh
31a941185b MX-1217 fix TokuMergeLibs to handle empty libs 2014-08-28 16:25:14 -04:00
Rich Prohaska
f7ee3d4a26 DB-712 fix tokudb locks info schema test results due to new schema 2014-08-28 15:11:55 -04:00
Rich Prohaska
967fcd6177 Merge branch 'db703' of github.com:Tokutek/tokudb-engine into db703 2014-08-28 06:19:59 -04:00
Rich Prohaska
08eb88eec4 DB-712 split locks and lock_waits dname into schema, table, and dictionary 2014-08-28 06:19:32 -04:00
Rich Prohaska
8c5cd26053 DB-703 DB-704 split dname into schema, table, and dictionary 2014-08-28 06:19:32 -04:00
Rich Prohaska
b585b4f71b DB-713 separate some long running tokudb tests so that valgrind runs without --big-test can exclude them 2014-08-27 18:00:57 -04:00
Rich Prohaska
5c4c580ef1 DB-713 separate some long running tokudb tests so that valgrind runs without --big-test can exclude them 2014-08-27 18:00:19 -04:00
Rich Prohaska
f704ecb91e DB-712 split locks and lock_waits dname into schema, table, and dictionary 2014-08-27 14:49:11 -04:00
Rich Prohaska
aed2c264b7 DB-703 DB-704 split dname into schema, table, and dictionary 2014-08-27 14:07:16 -04:00
Rich Prohaska
66504277bf DB-702 print upgrade failed clean shutdown required error message 2014-08-27 10:31:45 -04:00
Olivier Bertrand
86a3343191 - Fix a bug in DOSFAM::OpenTableFile. Bin was not set to TRUE for blocked
tables. This caused a CR character to be left in the line and in
  particular caused the updelx test to fail on Windows.
modified:
  storage/connect/filamtxt.cpp
2014-08-27 14:56:20 +02:00
Olivier Bertrand
66ffa09491 - Fix a test failure. Due to mmap on void file being accepted on Windows
while returning an error on Linux. Now accepted on linux.
modified:
  storage/connect/maputil.cpp

- Fix a BUG in the XHUGE class. lseek64 was wrongly regarded as in error
  when returning 0 instead of -1. This produced wrong index files.
modified:
  storage/connect/filamfix.cpp
  storage/connect/maputil.cpp
  storage/connect/xindex.cpp

- Fix length mismatch (tab instead of blanks?)
modified:
  storage/connect/mysql-test/connect/r/updelx.result
2014-08-27 00:49:07 +02:00
John Esmet
8db687e6c7 FT-590 Calculate a node's weight using a 64 bit integer to prevent
overflow
2014-08-26 14:28:16 -04:00
Murthy Narkedimilli
b142bfd087 Renaming the enterprise packages to commercial 2014-08-26 14:01:38 +02:00
Olivier Bertrand
8f0e75285e - Adding a test for indexed UPDATE/DELETE
added:
  storage/connect/mysql-test/connect/r/updelx.result
  storage/connect/mysql-test/connect/t/updelx.inc
  storage/connect/mysql-test/connect/t/updelx.test
2014-08-25 18:51:53 +02:00