Commit graph

89530 commits

Author SHA1 Message Date
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
John Esmet
7316bacdeb FT-396 Rename TokuDB to TokuFT in each license header 2014-08-21 15:35:06 -04:00
John Esmet
d569f7a4c0 FT-513 Remove some windows cruft 2014-08-21 15:35:06 -04:00
John Esmet
a57387dfa7 FT-512 Remove the majority of the remaining BDB artifacts 2014-08-21 15:35:06 -04:00
John Esmet
feb5b70c26 FT-582 Remove remaining artifacts from the ICC days 2014-08-21 15:35:06 -04:00
John Esmet
1a34a1315b FT-581 Remove dead rdtsc code 2014-08-21 15:35:06 -04:00
John Esmet
addd9c3c59 FT-580 Remove unused scripts 2014-08-21 15:35:06 -04:00
John Esmet
674454b0f7 FT-583 Remove sub_block_map.h, dead code from old format verisons 2014-08-21 15:35:06 -04:00
John Esmet
9b0047636b FT-585 Move serialize and compression size calculations around so we can malloc
one large buffer to serialize a node instead of many smaller ones, which
should hopefully put less pressure on jemalloc during checkpoints etc.
2014-08-21 15:34:22 -04:00
John Esmet
effa06ec47 Clean up toku_ft_handle_close 2014-08-21 15:34:18 -04:00
John Esmet
5a18a1b046 FT-440 Use a scoped malloc during garbage collection and for checkpoint
cachefiles, also clean up some formatting.
2014-08-21 15:34:14 -04:00
Sergei Golubchik
57a43b8435 MDEV-6625 SHOW GRANTS for current_user_name@wrong_host_name 2014-08-21 21:25:22 +02:00
Tor Didriksen
ab727cec04 Bug#18928848 II. MALLOC OF UNINITIALIZED MEMORY SIZE
Several string functions have optimizations for constant
sub-expressions which lead to setting max_length == 0.

For subqueries, where we need a temporary table to holde the result,
we need to ensure that we use a VARCHAR(0) column rather than a
CHAR(0) column when such expressions take part in grouping.
With CHAR(0) end_update() may write garbage into the next field.
2014-08-21 16:42:04 +02:00
Rich Prohaska
1826cca4c5 Tokutek/mariadb-5.5#71 run part_index_scan on mariadb 2014-08-20 11:22:26 -04:00
Rich Prohaska
56ed8eb5cf #261 run multiple queries in part_index_scan 2014-08-20 11:21:35 -04:00
Balasubramanian Kandasamy
c2fc7d39b2 Add my.cnf.d to regular rpm for EL7 build 2014-08-20 09:46:38 +02:00
Rich Prohaska
91207143d3 DB-708 move test scripts 2014-08-19 17:09:28 -04:00
Rich Prohaska
e502d3e45d DB-504 test replace select triggers for bulk fetch 2014-08-19 17:09:11 -04:00