Commit graph

89547 commits

Author SHA1 Message Date
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
Olivier Bertrand
da69d41a29 - Make storing and sorting values using less memory allocation
(while doing indexed UPDATE/DELETE)
modified:
  storage/connect/array.cpp
  storage/connect/filamtxt.cpp

- Force unix like line endings
modified:
  storage/connect/tabvct.h
2014-08-25 18:34:51 +02:00
Sergei Golubchik
dd25e7f0ad MDEV-6601 Assertion `!thd->in_active_multi_stmt_transa ction() || thd->in_multi_stmt_transaction_mode()' failed on executing a stored procedure with commit
Don't restore the whole of thd->server_status after a routine invocation,
only restore SERVER_STATUS_CURSOR_EXISTS and SERVER_STATUS_LAST_ROW_SENT,
as --ps --embedded needs.
In particular, don't restore SERVER_STATUS_IN_TRANS.
2014-08-25 16:58:19 +02:00
Jan Lindström
18b307a7d2 MDEV-6590: InnoDB recover ends in signal 11
Analysis: When database is migrated from 5.5 or earlier and
database needs crash recovery, there is possibility that
SYS_DATAFILES system table does not exists, but
crash recovery in function dict_check_tablespaces_and_store_max_id()
assumes that SYS_DATAFILES exists.

Fix: If SYS_DATAFILES does not exists, create it before
we end up to function dict_check_tablespaces_and_store_max_id()
on crash recovery.
2014-08-25 13:35:33 +03:00
Rich Prohaska
a0150feed6 FT-312 fix centos compile 2014-08-24 12:56:35 -04:00
Rich Prohaska
88a7ade688 FT-312 speedup shutdown by parallelizing compression 2014-08-24 08:45:19 -04:00
Olivier Bertrand
22e8ab422c - Fix a compile error on Linux
modified:
  storage/connect/tabmul.cpp
2014-08-24 11:19:02 +02:00
Olivier Bertrand
74a4672622 - Move DataPath from the MYCAT catalog to the ha_connect handler. Indeed
it belongs to each tables and the catalog being share between several
  instances of CONNECT, when a query implied several tables belonging to
  different databases, some where pointing on the wrong database. This
  fix bugs occuring in queries such as:
  INSERT into db1.t1 select * from db2.t2;
  Where the t1 data file was made in db2.
modified:
  storage/connect/catalog.h
  storage/connect/connect.cc
  storage/connect/filamdbf.cpp
  storage/connect/filamdbf.h
  storage/connect/ha_connect.cc
  storage/connect/ha_connect.h
  storage/connect/mycat.cc
  storage/connect/mycat.h
  storage/connect/plgdbsem.h
  storage/connect/plgdbutl.cpp
  storage/connect/reldef.cpp
  storage/connect/reldef.h
  storage/connect/tabfix.h
  storage/connect/tabfmt.cpp
  storage/connect/tabfmt.h
  storage/connect/tabmul.cpp
2014-08-23 19:17:15 +02:00
Rich Prohaska
b5dd1e7f5f FT-586 FT-563 change ft-verify to work with promotion 2014-08-23 10:58:26 -04:00
Harin Vadodaria
b9f2b1c135 Bug#19370676 : YASSL PRE-AUTH BUFFER OVERFLOW WHEN CLIENT
LIES ABOUT SUITE_LEN_
               and
Bug#19355577 : YASSL PRE-AUTH BUFFER OVERFLOW WHEN CLIENT
               LIES ABOUT COMP_LEN_

Description : Updating yaSSL to version 2.3.4.
2014-08-23 08:59:03 +05:30
Olivier Bertrand
f930f4eda9 - Add a new CONNECT global variable allowing to tell whether or not
a temporary file should be used for UPDATE/DELETE of file tables.
  Also use the "sorted" argument of index_init to help decide if
  sorting of positions must be done.
modified:
  storage/connect/checklvl.h
  storage/connect/connect.cc
  storage/connect/connect.h
  storage/connect/filamdbf.cpp
  storage/connect/filamfix.cpp
  storage/connect/filamfix.h
  storage/connect/filamtxt.cpp
  storage/connect/ha_connect.cc
  storage/connect/mysql-test/connect/r/part_table.result
  storage/connect/plgdbsem.h
  storage/connect/plgdbutl.cpp
  storage/connect/reldef.cpp
  storage/connect/tabdos.cpp
  storage/connect/tabdos.h
  storage/connect/tabfix.cpp
  storage/connect/tabfmt.cpp
  storage/connect/tabvct.cpp
  storage/connect/tabvct.h
  storage/connect/xindex.cpp

- Fix a bug in TDBASE::ColDB that caused some special columns not to
  be found in the column list and reallocated without their Value
  causing a crash of some queries.
modified:
  storage/connect/table.cpp

- Fix a bug causing RestoreNrec to be called before closing a table
  causing a wrong value given to Spos
modified:
  storage/connect/tabdos.cpp
  storage/connect/xindex.cpp

- Add a new CONNECT global variable connect_exact_info. Set to ON, it
  tells CONNECT to return exact record numbers on info queries. If OFF
  it just gives an estimate. In version 10.0.13 this was unconditionally
  ON and caused info queries on remote tables to be extremely long and
  was the subject of MDEV-6612.
modified:
  storage/connect/ha_connect.cc
  storage/connect/tabdos.cpp
  storage/connect/tabmysql.cpp
  storage/connect/tabodbc.cpp
2014-08-22 17:30:22 +02:00
Rich Prohaska
61195094c7 FT-584 use trylock inside of the lock tree manager get_status function so that it is non-blocking 2014-08-22 07:57:47 -04:00
Rich Prohaska
ff5a25cca3 FT-584 use trylock inside of the lock tree manager get_status function so that it is non-blocking 2014-08-21 19:21:21 -04:00
John Esmet
4cb144d9fb Add common cmake build directory names to .gitignore 2014-08-21 16:29:50 -04:00
John Esmet
f176b29b5e FT-396 Rename various tokudb-containing functions and comments to
instead refer to tokuft
2014-08-21 15:35:07 -04:00