Commit graph

8362 commits

Author SHA1 Message Date
Michael Widenius
bbda717e93 Fixed compiler errors and warnings
extra/jemalloc/src/ctl.c:
  Fixed compiler warning
include/mysql/service_logger.h:
  Fixed compile failure with clang compiler
storage/maria/ma_check.c:
  Fixed compiler warning
support-files/compiler_warnings.supp:
  Suppressed warnings in jemalloc
tests/bug25714.c:
  Fixed compiler warning
2013-12-02 22:22:43 +02:00
Elena Stepanova
f130443707 Fixes for storage_engine tests 2013-11-28 20:02:51 +04:00
Elena Stepanova
253ed701e9 A fix for MySQL#65146 introduced a new warning.
Minor wording changes in skip messages.
2013-11-28 19:54:07 +04:00
Jan Lindström
a5e236db54 Add additional srv_use_fallocate guard for completing the IO with
read.
2013-11-28 11:34:43 +02:00
Jan Lindström
57a70a635a MDEV-5355: InnoDB assertion at shutdown if posix_fallocate is used in ut_a(node->n_pending == 0 || node->space->stop_new_ops);
Analysis: When filespace is extended there is first prepare for IO. But if
posix_fallocate is used there was no complete IO causing assertion
at shutdown indicating that all IO is not finished.

Fix: If posix_fallocate is used to extend the filespace, there
is no need to wait for IO to complete, thus we treat this
operation as a read operation. We need to mark IO as
completed or there would be assertion on shutdown at
fil_node_close_file() because all pending IO is not finished.
2013-11-27 20:24:52 +02:00
Sergei Golubchik
af2848a423 Percona-Server-5.5.34-rel32.0 merge 2013-11-19 15:43:22 +01:00
Sergei Golubchik
ff41edab6c merge with ft-engine and ft-index up to tag:tokudb-7.1.0 2013-11-19 15:35:31 +01:00
Sergei Golubchik
fa3f8a18b2 mysql-5.5.34 merge
(some patches reverted, test case added)
2013-11-19 13:16:25 +01:00
Sergei Golubchik
efab095c7f MDEV-5236 Status variables are not all listed alphabetically
sort xtradb status variables
2013-11-19 13:11:42 +01:00
Jan Lindström
e730c91688 Added test case for new system variable innodb_use_stacktrace and made sure that it can be used only on startup. Fixed compiler problems on solaris and other platforms that do not contain necessary headers and functions. 2013-11-15 15:24:42 +02:00
Jan Lindström
338587d2f4 MDEV-5247: DB locked up at btr0cur.c line 568. Additional fixes to inconsistent usage of have_LRU_mutex and added additional debug assertions to guard incorrect usage of this mutex. Fixes issues found on additional testing and mysql test suite. 2013-11-15 11:32:02 +02:00
Rich Prohaska
466b63aa48 #146 add debug trace to tokudb info schema tables 2013-11-14 21:32:38 -05:00
Jan Lindström
10467ec7b3 Fix compiler error introduced on revision 3937, make sure that stackdump is compiled only on __linux__. 2013-11-14 14:27:46 +02:00
Jan Lindström
5d1ec1b951 MDEV-5247: DB locked up at btr0cur.c line 568. There is inconsistent and non logical usage of have_LRU_mutex and incorrect value on ha_innodb.cc when buf_LRU_free_block is called. Additionally, for future long semaphore wait cases added a new configuration variable innodb_use_stacktrace. If this variable is true a signal handler for SIGUSR2 is installed when InnoDB server starts and when a long semaphore wait is detected at sync/sync0array.c we send SIGUSR2 signal to waiting thread and thread that has acuired RW-latch. For both threads a full stacktrace is produced as well as its is possible. 2013-11-14 12:57:28 +02:00
Sergei Golubchik
ea78785b8b MDEV-4723 "State" column of SHOW PROCESSLIST returns wrong values (non-ascii chars) for some states
allocate thd_proc_info string in thd memroot, not on the stack, so that it
won't be overwritten while another thread might be printing it
2013-11-11 22:53:40 +01:00
Sergei Golubchik
fb46f35f05 mark ft-index cmake variables as advanced 2013-11-11 17:20:10 +01:00
Sergei Golubchik
db635ab590 MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined
2013-11-11 09:30:48 +01:00
Sergei Golubchik
3d57c343e5 MDEV-5038 put tokudb into the server package 2013-11-11 09:30:35 +01:00
Rich Prohaska
fb6d749f2f start port of tokudb to mariadb 10 2013-11-10 16:45:11 -05:00
Rich Prohaska
b8d7ee9795 basic tokudb running in mysql 5.7 2013-11-09 16:55:12 -05:00
Elena Stepanova
700397a8e2 Fix for overlayed include files on Windows and a test case 2013-11-10 14:37:32 +04:00
Michael Widenius
afa49d7919 Fixed core dump when doing "SET GLOBAL innodb_buffer_pool_evict='uncompressed'"
storage/xtradb/handler/ha_innodb.cc:
  Fixed wrong last argument to buf_LRU_free_block(): The LRU chain is already locked by this function.
2013-11-05 20:28:24 +02:00
Rich Prohaska
76a9489f9b Tokutek/mysql56#5 optimize read only transactions 2013-11-04 09:45:42 -05:00
unknown
52dea41052 Merge 5.3->5.5 2013-10-29 18:50:36 +02:00
unknown
f4cf756204 Testcase i_innodb.innodb-alter-restart.test fails on some Windows platforms
possibly since it was introduced in the patch for Bug#16720368 around 
2013-04-30.  This fix is simply to adjust the mtr.add_suppression() lines
in the testcase and to add a missing "\n" in the error message.

Approved by Marko in RB 3746
2013-10-29 11:39:04 -05:00
unknown
5ce11d8b4c MariaDB made be compiled by gcc 4.8.1
There was 2 problems:
  1) coping/moving of the same type (usually casting) as sizeof() (solved in different ways depends on the cause);
  2) using 'const' in SSL_CTX::getVerifyCallback() which return object (not reference) and so copy of the object will be created and 'const' has no sens.
2013-10-29 17:50:13 +02:00
Mattias Jonsson
6d483cf3ab post-push fix for bug#17565888/bug#14621190 2013-10-28 17:08:31 +01:00
Rich Prohaska
97f1989efb compile when tokudb row format compression types are not defined 2013-10-24 08:30:19 -04:00
Rich Prohaska
a8af167fe3 tokutek/mysql56#23 turn on extended keys for tokudb 2013-10-23 12:30:07 -04:00
Zardosht Kasheff
62abb74a6c refs Tokutek/mongo#645, fix call to hot_optimize 2013-10-21 16:22:01 -04:00
Mattias Jonsson
7a524cee32 post-push fix for bug17565888. 2013-10-19 15:29:51 +02:00
Mattias Jonsson
a91fcaf460 post-push fix for bug17565888.
Too restrictive assertion, failing during purge
2013-10-18 23:49:35 +02:00
Mattias Jonsson
e6a734a7cf post-push fix for bug17565888.
Too restrictive assertion, can fail during purge
2013-10-18 23:39:15 +02:00
Rich Prohaska
43dec55024 #131 make fast and small aliases for quicklz and lzma 2013-10-18 15:25:37 -04:00
Mattias Jonsson
20f579ea16 Bug#17565888: UP TO 75% INCREASE IN DBT3 QUERY (Q7) EXECUTION TIME
Regression from bug#14621190 due to disabled optimistic restoration
of cursor, which required full key lookup instead of verifying
if previously positioned btree cursor could be reused.

Fixed by enable optimistic restore and adjust cursor afterward.

rb#3324 approved by Marko.
2013-10-18 19:25:59 +02:00
Rich Prohaska
dc4e26d618 #131 make small and fast aliases for quicklz and lzma 2013-10-18 13:01:59 -04:00
Rich Prohaska
09ce3fad57 #128 change the comment on the lock timeout session variable 2013-10-17 11:50:57 -04:00
Anil Toshniwal
7c3d3f192e Bug#17513737 INTRODUCE CHECK TABLE...QUICK
--Implemented CHECK TABLE...QUICK.
  Introduce CHECK TABLE...QUICK that would skip the btr_validate_index()
  and btr_search_validate() call, and count the no. of records in each index.

Approved by Marko and Kevin. (rb#3567).
2013-10-17 18:09:04 +05:30
Rich Prohaska
056b8ee352 #127 make tokudb_loader_memory_size a session variable 2013-10-15 10:29:48 -04:00
Rich Prohaska
d7e467295e #128 change tokudb_lock_timeout to session variable 2013-10-10 16:25:57 -04:00
Praveenkumar Hulakund
c66a037dca Bug#17474166 - EXECUTING STATEMENT LIKE 'SHOW ENGINE INNODB'
AND 'KILL SESSION' LEAD TO CRASH               

Analysis:
--------
This situation occurs when the connection executes query 
"show engine innodb status" and this connection is killed by
executing statement "kill <con>" by another connection.

In function "innodb_show_status", function "stat_print"
is called to print the status but return value of function
is not checked.  After killing connection, if write to 
connection fails then error is returned and same is set
in Diagnostic area. Since FALSE is returned from
"innodb_show_status" now, assert to check no error
is set in function "set_eof_status" (called from
my_eof) is failing. 

Fix:
----
Changed code to check return value of function "stat_print"
in "innodb_show_status".
2013-10-09 13:32:31 +05:30
Rich Prohaska
ef6add4cac #122 change default compression to zlib and add a session variable to control create info row format 2013-10-07 09:11:51 -04:00
rich prohaska
1e46d54027 tokutek/ft-engine#94 tokutek/ft-index#80 configure an upper bound on loader memory reservations
Merge branch 'loadermem80'
2013-10-07 08:38:50 -04:00
Yasufumi Kinoshita
f071aca09f Merge mysql-5.1 to mysql-5.5. 2013-10-07 15:17:56 +09:00
Yasufumi Kinoshita
4db0c831a5 Bug#17431533 : FAILING ASSERTION: INDEX->PAGE != 0XFFFFFFFF AFTER DISCARDING TABLESPACE
ha_innobase::records_in_range() should return HA_POS_ERROR for the table during discarded without requesting pages.
The later other handler method should treat the error correctly.

Approved by Sunny in rb#3433
2013-10-07 15:16:31 +09:00
Rich Prohaska
36737f6c36 tokutek/ft-index#76 add US Patent 8,489,638 2013-10-04 16:44:43 -04:00
Rich Prohaska
e0ecc3f2f5 #121 change default basement node size to 64KB from 128KB 2013-10-04 16:05:34 -04:00
Rich Prohaska
26ccf76d45 tokutek/ft-index#80 tokutek/ft-engine#94 add tokudb_loader_memory_size system variable that controls the size of each loader memory size 2013-10-03 13:56:57 -04:00
Rich Prohaska
2277254793 #90 set tokudb_last_lock_timeout to a string parsable by the python json module 2013-10-02 12:14:14 -04:00
Mattias Jonsson
6ca4be9c03 Bug#14621190: HA_INNOBASE::INDEX_NEXT SKIPS A RECORD IF PREVIOUS
INDEX_READ_MAP HAD NO MATCH

If index_read_map is called for exact search and no matching records
exists it will position the cursor on the next record, but still having the
relative position to BTR_PCUR_ON.
This will make a call for index_next to read yet another next record,
instead of returning the record the cursor points to.

Fixed by setting pcur->rel_pos = BTR_PCUR_BEFORE if an exact
[prefix] search is done, but failed.

Also avoids optimistic restoration if rel_pos != BTR_PCUR_ON,
since btr_cur may be different than old_rec.

rb#3324, approved by Marko and Jimmy
2013-10-01 10:05:45 +02:00
Rich Prohaska
e9084aaaf2 tokutek/ft-engine#111 tokutek/ft-index#74 merge the tokumx error message for transparent huge pages into tokudb 2013-09-30 13:18:07 -04:00
Rich Prohaska
c8fc4d662b #80 default compress tokudb bulk loader temp files 2013-09-30 11:08:53 -04:00
Yasufumi Kinoshita
d4800a57ba Adjustment for fix for Bug#11758196
log_buffer_extend() should fill the new buffer with 0.
2013-09-30 15:02:54 +09:00
Yasufumi Kinoshita
e64b9e1250 Bug#11758196 : INNODB ASSERTION FAILURE WHEN CONVERTING FROM MYISAM TO INNODB
Changed to try to extend log buffer instead of crash, when log size is too large for the size.

Approved by Marko in rb#3229
2013-09-30 13:41:48 +09:00
Rich Prohaska
e99cb96b9d #86 tokudb lock tree info schema 2013-09-27 13:43:43 -04:00
Rich Prohaska
a9caa21f48 remove cruft 2013-09-27 13:14:23 -04:00
Rich Prohaska
f79b8486a2 #104 default capture lock timeout conflict info into tokudb_last_lock_timeout variable 2013-09-27 09:43:39 -04:00
Satya Bodapati
436fd04b02 Merge fix for BUG#17446090 from mysql-5.1 to mysql-5.5
The testcase for this bug fails randomly due to two reasons.
1. Due to ibuf merge happening background
2. Due to dict stats update which brings the evicted page back into
   buffer pool.

Fix ibuf_contract_ext() to not do any merges with ibuf_debug enabled and
also changed dict_stats_update() to return fake statistics without
bringing the secondary index pages into buffer pool.

Approved by Marko. rb#3419
2013-09-27 18:32:13 +05:30
Rich Prohaska
3152434eeb #92 add compiler and cmake checks from mariadb 2013-09-26 12:05:54 -04:00
Rich Prohaska
9e67557d89 #104 write frm for existing tables before the txn is committed 2013-09-26 09:53:50 -04:00
Rich Prohaska
bb1fdf7ddd #92 use parent txn in ::delete_or_rename_table. this removes error messages when running dict_leak_3518 test 2013-09-24 14:27:27 -04:00
Rich Prohaska
c939c606e8 #97 use ${ZLIB_LIBRARY} 2013-09-24 10:26:27 -04:00
Rich Prohaska
55ef63ac00 #99 reduce analyze time to 5 seconds (from 60 seconds). this will probably allow > 1M rows to be in the cardinality computation 2013-09-23 16:13:40 -04:00
Rich Prohaska
935f78acc2 #92 add key_is_clustering accessor 2013-09-23 14:32:48 -04:00
Rich Prohaska
f0629146c3 #92 remove memcpy_fixed (no longer necessary) 2013-09-23 13:45:07 -04:00
Rich Prohaska
5cf85b79cd #92 simplify my_free calls 2013-09-23 13:42:48 -04:00
Michael Widenius
5f0c91998a TokuDB fixes:
- Better error message when using huge pages
- Fixed link error
- Test suite should run even on system with huge pages

storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake:
  Fixed that linking works on systems that uses lib64
storage/tokudb/ft-index/portability/huge_page_detection.cc:
  Better error message
storage/tokudb/mysql-test/rpl/suite.pm:
  Test suite should run even on system with huge pages
storage/tokudb/mysql-test/tokudb/suite.pm:
  Test suite should run even on system with huge pages
2013-09-23 20:17:03 +03:00
Zardosht Kasheff
577470e05a refs #94, for keys with strings, add a memcmp at the end of the comparison
function if we are doing comparisons in the fractal tree, so that case-insensitivities
get resolved. Comparisons done inside the handlerton are unaffected.
2013-09-20 11:22:39 -04:00
Rich Prohaska
9c47f41e3b #81 cleanup thread variables a bit 2013-09-20 09:53:15 -04:00
Rich Prohaska
002d451e7c #81 denormalize dname in tokudb_file_map 2013-09-19 14:24:13 -04:00
Rich Prohaska
9f5293de5b #81 cleanup thread variables 2013-09-19 13:34:55 -04:00
Leif Walsh
a4f82b7d99 added -flto -fuse-linker-plugin to RelWithDebInfo #77 2013-09-17 13:02:58 -04:00
unknown
28a8d40c22 Tokudb made compilig. 2013-09-23 12:17:18 +03:00
Sergei Golubchik
43f4e364f0 MDEV-5021 tokudb ft-index libraries are build with -DWITHOUT_TOKUDB=1 2013-09-19 20:19:10 +02:00
Sergey Vojtovich
8e9cead365 Fixed tokudb with ccache build failure. 2013-09-17 17:37:03 +04:00
Rich Prohaska
de7b04efff refs #82 delete the user data information schemas 2013-09-17 08:04:02 -04:00
Rich Prohaska
770533e2dd refs #83 cond compile gdb on error feature 2013-09-17 07:43:22 -04:00
Rich Prohaska
53c7335563 refs #71 basic lock tree visualization 2013-09-15 09:58:19 -04:00
Satya Bodapati
87d5dc1388 Fix FreeBSD build failure due to BUG#16752251 (only in 5.5) 2013-09-12 17:59:14 +05:30
Sergei Golubchik
adf637dff6 tokudb buildbot fixes
BUILD/compile-solaris-amd64:
  * call cmake directly, don't go through three layers of wrappers
    (but preserve the compile-solaris-amd64 file - buildbot uses it for 5.1 and 5.5)
  * disable jemalloc, it doesn't compile on our sol10-64 box
storage/federated/ha_federated.cc:
  clang warning
storage/tokudb/CMakeLists.txt:
  * require cmake-2.8.9, because 2.8.8 doesn't add -fPIC for POSITION_INDEPENDENT_CODE
    property that ft-index CMakeLists.txt files are using
2013-09-12 10:10:09 +02:00
Satya Bodapati
64a845e0a6 Additional Fix to BUG#16755251 for 5.1 build failure and
disable testcase due to BUG#17446090
2013-09-12 12:28:16 +05:30
Satya Bodapati
59402fe0a7 Bug#16752251 - INNODB DOESN'T REDO-LOG INSERT BUFFER MERGE OPERATION IF
IT IS DONE IN-PLACE

With change buffer enabled, InnoDB doesn't write a transaction log
record when it merges a record from the insert buffer to an secondary
index page if the insertion is performed as an update-in-place.

Fixed by logging the 'update-in-place' operation on secondary index
pages.

Approved by Marko. rb#2429
2013-09-11 16:57:02 +05:30
Sergei Golubchik
62643f81e6 merge with 5.5-tokudb tree. In particular:
* add TokuDB, together with the ft-index library
* cmake support, auto-detecting whether tokudb can be built
* fix packaging - tokudb-engine.rpm, deb
* remove PBXT
* add jemalloc
* the server is built with jemalloc by default even if TokuDB is not built
* documentation files in RPM are installed in the correct location
* support for optional deb packages (tokudb has specific build requirements)
* move plugins from mariadb-server deb to appropriate debs (server/test/libmariadbclient)
* correct mariadb-test.deb to be not architecture-independent
* fix out-of-tree builds to never modify in-tree files
* new handler::prepare_index_scan() method
2013-09-10 23:02:25 +02:00
Sergei Golubchik
265bbf5fe1 introduce sysconf2dir, install tokudb.conf there, both in rpm and deb 2013-09-10 22:59:18 +02:00
Sergei Golubchik
3de5613445 INSTALL_DOCUMENTATION function for CMakeLists.txt
It puts files in the correct location for rpm/deb packages.
2013-09-10 22:53:44 +02:00
Rich Prohaska
60a4370f9a refs #71 rearrange IS code 2013-09-10 06:22:25 -04:00
Satya Bodapati
a88bac6c66 Merge fix for BUG#16752251 from mysql-5.1 to mysql-5.5 2013-09-11 17:02:18 +05:30
Sergei Golubchik
42f56557f5 MDEV-4941 make: AIX fails with 'Identifier not allowed in cast'; syntax error in include/my_global.h
C++ comments in C files, and a typo in my_global.h
2013-09-09 19:31:29 +02:00
Sergei Golubchik
3e5b21067b MariaDB-tokudb-engine.rpm
cmake/plugin.cmake:
  * auto-create an rpm for a plugin, if it places itself in a new component
storage/tokudb/CMakeLists.txt:
  install tokudb in COMPONENT tokudb-engine.
  this automatically creates a separate rpm for it.
2013-09-09 14:09:09 +02:00
Sergei Golubchik
5b2e3b01f0 fixes for buildbot
* disable jemalloc on windows (cannot run ./configure)
* disable jemalloc on ancient cmake (ExternalProject does not work)
* rewrite TokuDB compiler test to check for features, not versions (to work on cmake before 2.8.11)
* fix ft-index to not add VALGRIND_INCLUDE_DIR to includes, if no valgrind was found
* correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)
* disable ft-index tests by default (faster compilation and they aren't used anyway)
* don't build ft-index with valgrind by default (otherwise it *requires* valgrind, it doesn't auto-detect)
* use --loose-tokudb in the .opt file
2013-09-09 14:02:42 +02:00
Sergei Golubchik
3a52826183 remove symlinks from the tree
(otherwise one cannot even pull on windows)
2013-09-09 14:00:48 +02:00
Sergei Golubchik
c03f0cf28c fixes for out-of-source builds
mysql-test/CMakeLists.txt:
  don't generate collection fules. we don't use them
  and they break out-of-source builds
2013-09-09 14:00:40 +02:00
Sergei Golubchik
642aa4366d clustering == covering
tell the optimizer that every TokuDB "clustering" index is the "covering" index
in the MariaDB optimizer sense.
2013-09-09 14:00:06 +02:00
Sergei Golubchik
9a3b9a5416 tokudb test suites 2013-09-09 13:59:38 +02:00
Sergei Golubchik
d29f874db1 Mark tokudb plugin as "Alpha" in MariaDB.
While it is stable on itself, the MariaDB integration
within 5.5 series is rather new.
2013-09-09 13:58:27 +02:00
Sergei Golubchik
043099a6e8 chmod a-x *.test *.result 2013-09-09 13:58:05 +02:00
Sergei Golubchik
00686e6d0e cmake fixes for tokudb
cmake/jemalloc.cmake:
  for dependencies to work, LIBJEMALLOC should be the target name, not the path
storage/tokudb/CMakeLists.txt:
  * check the preconditions
  * disable bdb tests (compilation errors)
  * set variable, instead of SET_PROPERTY. same effect,
    but doesn't fail when a plugin is disabled (that is, a target does not exist)
storage/tokudb/ft-index/CMakeLists.txt:
  cmake should not look into examples/ directory,
  there is hand-crafted examples/Makefile that
  cmake will overwrite
storage/tokudb/ft-index/buildheader/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/cmake_modules/TokuMergeLibs.cmake:
  Libraries must be specified in the specific order,
  REMOVE_DUPLICATES cannot be used, because it destroys this order.
  
  (when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
  makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake:
  * 'which' might print errors to stderr, they are not important, shut them up
  * we don't have TOKUDB_DATA, no need to warn about it
  * don't configure_file into itself (with input=output)
storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake:
  jemalloc is built externally to tokudb/ft-index
storage/tokudb/ft-index/ft/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/ft/tests/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/locktree/tests/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/portability/CMakeLists.txt:
  s/jemalloc/libjemalloc/
storage/tokudb/ft-index/portability/os_malloc.cc:
  unnecessary include file
storage/tokudb/ft-index/portability/tests/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/src/tests/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/util/tests/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/utils/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
2013-09-09 13:57:22 +02:00
Sergei Golubchik
9fdac1ae90 tokudb: temporary 5.5-only hack to let the frm-only ALTER TABLE to work 2013-09-09 13:35:09 +02:00
Sergei Golubchik
bac94d097e tokudb: COMPRESSION = { DEFAULT | TOKUDB_UNCOMPRESSED |
TOKUDB_ZLIB | TOKUDB_QUICKLZ |
                TOKUDB_LZMA | TOKUDB_FAST |
                TOKUDB_SMALL }
syntax for tables
2013-09-09 13:35:00 +02:00
Sergei Golubchik
86bc6b6ae8 tokudb: CLUSTERING=YES syntax for indexes 2013-09-09 13:34:50 +02:00
Sergei Golubchik
f2b5f1fdc6 tokudb: auto-increment not on the first keypart 2013-09-09 13:34:38 +02:00
Sergei Golubchik
36a22c1447 tokudb: extended keys support 2013-09-09 13:34:28 +02:00
Sergei Golubchik
c8a5da9676 tokudb: configure features, available in mariadb 5.5 2013-09-09 13:34:06 +02:00
Rich Prohaska
3ac574c06b refs Tokutek/ft-engine#30 trace all txn begin calls 2013-09-09 07:04:45 -04:00
Sergei Golubchik
905c9815f7 merge with git://github.com/Tokutek/ft-index.git up to tokudb-7.0.4 2013-09-09 11:32:39 +02:00
Sergei Golubchik
9b933e3be9 merge with git://github.com/Tokutek/ft-engine.git up to tokudb-7.0.4 2013-09-09 11:12:52 +02:00
Sergei Golubchik
1e24cdc85b fix for xtradb to compile on windows 2013-09-08 11:36:34 +02:00
Sergei Golubchik
dfc452217d fix xtradb to compile in both debug and optimized builds 2013-09-07 22:36:34 +02:00
Sergei Golubchik
1904a5d0cc Percona-Server-5.5.33-rel31.1.tar.gz 2013-09-07 13:49:15 +02:00
Sergei Golubchik
b838d081ad mysql-5.5.33 merge 2013-09-06 22:31:30 +02:00
Sergei Golubchik
6755944d08 remove PBXT 2013-08-30 11:25:49 +02:00
Rich Prohaska
529d5b2f5b Tokutek/mysql56#26 fix crash on alter table of partitioned tokudb table 2013-08-29 17:21:29 -04:00
Rich Prohaska
25000cfdd5 refs #26 fix inplace_alter_table for tokudb partitions 2013-08-29 17:08:52 -04:00
Rich Prohaska
e3ab3d17dd rebase to mysql 5.6.13 2013-08-27 17:19:08 -04:00
Rich Prohaska
b2b90975a6 start port to mysql 5.6.13 2013-08-26 15:54:34 -04:00
Sergei Golubchik
a73972bfea don't decide on extended keys by DB_TYPE_INNODB, use hton->flags 2013-08-26 21:13:17 +04:00
Rich Prohaska
1af29d2786 Tokutek/mysql56#2 get tokudb storage engine to build on mysql 5.6 2013-08-25 12:38:49 -04:00
Rich Prohaska
d46b4cfce2 #69 run create unique index with MDL shared no write (not hot WRT writes) 2013-08-21 10:15:47 -04:00
Marko Mäkelä
1676823e01 Merge mysql-5.1 to mysql-5.5. 2013-08-21 08:48:04 +03:00
Marko Mäkelä
ec2389dce6 Bug#12560151 61132: infinite loop in buf_page_get_gen() when handling
compressed pages

After loading a compressed-only page in buf_page_get_gen() we allocate a new
block for decompression. The problem is that the compressed page is neither
buffer-fixed nor I/O-fixed by the time we call buf_LRU_get_free_block(),
so it may end up being evicted and returned back as a new block.

buf_page_get_gen(): Temporarily buffer-fix the compressed-only block
while allocating memory for an uncompressed page frame.
This should prevent this form of the infinite loop, which is more likely
with a small innodb_buffer_pool_size.

rb#2511 approved by Jimmy Yang, Sunny Bains
2013-08-21 08:22:05 +03:00
Jan Lindström
c97ae6b56f MDEV-4923 Incorrect merge on XtraDB os0file.c. Function os_file_set_atomic_writes returns TRUE when successfull and FALSE at failure. 2013-08-20 16:05:34 +03:00
Zardosht Kasheff
a8c9af2786 closes #66, have may_table_be_empty call use the same transaction that opens and possibly creates the table, otherwise it may block behind that transaction's lock tree locks 2013-08-17 18:23:48 -04:00
Marko Mäkelä
553988a26e Merge mysql-5.1 to mysql-5.5. 2013-08-16 15:49:13 +03:00
Marko Mäkelä
fb2a2d2562 Bug#17312846 CHECK TABLE ASSERTION FAILURE
DICT_TABLE_GET_FORMAT(CLUST_INDEX->TABLE) >= 1

The function row_sel_sec_rec_is_for_clust_rec() was incorrectly
preparing to compare a NULL column prefix in a secondary index with a
non-NULL column in a clustered index.

This can trigger an assertion failure in 5.1 plugin and later. In the
built-in InnoDB of MySQL 5.1 and earlier, we would apparently only do
some extra work, by trimming the clustered index field for the
comparison.

The code might actually have worked properly apart from this debug
assertion failure. It is merely doing some extra work in fetching a
BLOB column, and then comparing it to NULL (which would return the
same result, no matter what the BLOB contents is).

While the test case involves CHECK TABLE, this could theoretically
occur during any read that uses a secondary index on a column prefix
of a column that can be NULL.

rb#3101 approved by Mattias Jonsson
2013-08-16 15:45:41 +03:00
Rich Prohaska
8fe18b9488 #64 get hot text and blob column expansion working 2013-08-15 14:28:34 -04:00
Marko Mäkelä
49ffda0969 Merge mysql-5.1 to mysql-5.5. 2013-08-15 15:34:12 +03:00
Marko Mäkelä
318096074e Bug#17302896 DOUBLE PURGE ON ROLLBACK OF UPDATING A DELETE-MARKED RECORD
There was a race condition in the rollback of TRX_UNDO_UPD_DEL_REC.

Once row_undo_mod_clust() has rolled back the changes by the rolling-back
transaction, it attempts to purge the delete-marked record, if possible, in a
separate mini-transaction.

However, row_undo_mod_remove_clust_low() fails to check if the DB_TRX_ID of
the record that it found after repositioning the cursor, is still the same.
If it is not, it means that the record was purged and another record was
inserted in its place.

So, the rollback would have performed an incorrect purge, breaking the
locking rules and causing corruption.

The problem was found by creating a table that contains a unique
secondary index and a primary key, and two threads running REPLACE
with only one value for the unique column, so that the uniqueness
constraint would be violated all the time, leading to statement
rollback.

This bug exists in all InnoDB versions (I checked MySQL 3.23.53).
It has become easier to repeat in 5.5 and 5.6 thanks to scalability
improvements and a dedicated purge thread.

rb#3085 approved by Jimmy Yang
2013-08-15 15:23:23 +03:00
Marko Mäkelä
60e1a532e5 Merge mysql-5.1 to mysql-5.5. 2013-08-14 10:24:36 +03:00
Marko Mäkelä
300ac936be Bug#16971045 ASSERTION FAILURES ON ROLLBACK OF AN INSERT AFTER A
FAILED BLOB WRITE

btr_store_big_rec_extern_fields(): Relax a debug assertion so that
some BLOB pointers may remain zero if an error occurs.

btr_free_externally_stored_field(), row_undo_ins(): Allow the BLOB
pointer to be zero on any rollback.

rb#3059 approved by Jimmy Yang, Kevin Lewis
2013-08-14 09:43:21 +03:00
Zardosht Kasheff
c4f88637d2 refs Tokutek/mongo#399, make handlerton fix for TokuDB 2013-08-13 15:04:13 -04:00
Zardosht Kasheff
9baa37146c refs Tokutek/ft-index/#26 have ha_tokudb use new XXX_multiple API 2013-08-12 17:11:45 -04:00
Mattias Jonsson
8808c6b350 Bug#17228383: VALGRIND WARNING IN IBUF_DELETE_REC
Since the mtr_t struct is marked as invalid in DEBUG_VALGRIND build
during mtr_commit, checking mtr->inside_ibuf will cause this warning.
Also since mtr->inside_ibuf cannot be set in mtr_commit (assert check)
and mtr->state is set to MTR_COMMITTED, the 'ut_ad(!ibuf_inside(&mtr))'
check is not needed if 'ut_ad(mtr.state == MTR_COMMITTED)' is also
checked.
2013-08-12 10:52:08 +02:00
Elena Stepanova
b9f61c14b7 Deliberate change in behavior introduced in MySQL 5.5.31 along with the
partitioning enhancement for Bug#14521864
2013-08-05 20:31:29 +04:00
Elena Stepanova
f596d28df6 Deliberate change in behavior introduced along with the fix for MDEV-4310 2013-08-05 18:30:12 +04:00
Rich Prohaska
a43124c1e5 #58 #62 ignore key block size settings for tokudb. use session variables instead. 2013-08-05 10:07:47 -04:00
Sergey Petrunya
6fb1786584 Automatic merge 2013-07-31 13:37:01 +04:00
Rich Prohaska
d58b0523c8 #57 error our unpack_blobs if the blobs input buffer can not be parsed 2013-07-30 11:15:40 -04:00
zkasheff
ac2c1a4a31 Merge branch 'bugs/61' 2013-07-29 11:13:04 -04:00
zkasheff
9be800a47d refs #61, make blob expansion a non-hot operation 2013-07-29 11:11:47 -04:00
Vladislav Vaintroub
3ef0157daa MDEV-4815 - allow multiple mysql_server_init() / mysql_server_end() in the same process, for embedded library.
- Reset  static variables that are used to signal "init done"  for DBUG, in dbug_end()
- Set string server variables to NULL after memory for the value is freed - avoids double free()
- fix DBUG_ASSERTs that happened during reinitialization.
2013-07-29 16:03:41 +02:00
Aditya A
1c4a3c52fd Bug#13417564 SKIP SLEEP IN SRV_MASTER_THREAD WHEN
SHUTDOWN IS IN PROGRESS 

PROBLEM
-------
 In the background thread srv_master_thread() we have a 
 a one second delay loop which will continuously monitor
 server activity .If the server is inactive (with out any
 user activity) or in a shutdown state we do some background
 activity like flushing the changes.In the current code
 we are not checking if server is in shutdown state before
 sleeping for one second.

FIX
---
If server is in shutdown state ,then dont go to one second
sleep.
2013-07-29 14:45:06 +05:30
Sergey Petrunya
9a780a59d5 MDEV-4687: impossible where with < operation, but =-5 return one row
- Let _ma_record_pos() set SEARCH_PART_KEY when doing a search on
  a prefix of a [unique] key.  Otherwise, _ma_search_pos() would 
  find the first key equal to search key, and assume it is also 
  the last one, which will make a wrong estimate of key's position.

  A wrong key position may cause min_pos > max_pos and records_in_range()
  will return 0, which will make the optimizer think it's an impossible 
  range while in fact it is not.
2013-07-25 22:42:26 +04:00
Annamalai Gurusami
b89e6ccfc4 Merge from mysql-5.1 to mysql-5.5 2013-07-25 15:31:06 +05:30
Annamalai Gurusami
a1ccfcf84d Bug #17076737 DUPLICATE CONSTRAINTS DISPLAYED WHEN NAME INCLUDES "_IBFK_"
Problem:

When the user specified foreign key name contains "_ibfk_", InnoDB wrongly
tries to rename it. 

Solution:

When a table is renamed, all its associated foreign keys will also be renamed,
only if the foreign key names are automatically generated.  If the foreign key
names are given by the user, even if it has _ibfk_ in it, it must not be
renamed.

rb#2935 approved by Jimmy, Krunal and Satya
2013-07-25 14:53:23 +05:30
Praveenkumar Hulakund
03940a7bd8 Bug#16865959 - PLEASE BACKPORT BUG 14749800.
Since log_throttle is not available in 5.5. Logging of
error message for failure of thread to create new connection
in "create_thread_to_handle_connection" is not backported.

Since, function "my_plugin_log_message" is not available in 
5.5 version and since there is incompatibility between
sql_print_XXX function compiled with g++ and alog files with
gcc to use sql_print_error, changes related to audit log
plugin is not backported.
2013-07-24 15:44:41 +05:30
unknown
9e13011efb Revert reverted patch (as workaround) to have no problem with ongoing fix. 2013-07-19 13:21:23 +03:00
Yoni Fogel
73ce418e2d Merge branch '6712' 2013-07-17 15:18:12 -07:00
Yoni Fogel
4780c8bbf7 Refs Tokutek/ft-engine#40 Rename c_restrict_to_range to c_set_bounds, delete c_pre_acquire_range_lock 2013-07-17 15:16:11 -07:00
Yoni Fogel
85a164fb09 Refs Tokutek/ft-engine/#40 Use c_restrict_to_range function to force cursor to keep track of prelocked range 2013-07-17 15:16:11 -07:00
unknown
c7973615e7 Revert of marko.makela@oracle.com-20130430103950-j353faze84zzk9xf for xtradb
(fix of http://bugs.mysql.com/bug.php?id=69623)
2013-07-17 17:03:59 +03:00
Sergei Golubchik
a5b534a08e merge Percona-Server-5.5.32-rel31.0.tar.gz 2013-07-16 19:30:39 +02:00
Sergei Golubchik
005c7e5421 mysql-5.5.32 merge 2013-07-16 19:09:54 +02:00
Sergey Petrunya
47c1b04079 MDEV-4778: Incorrect results from Aria/MyISAM SELECT using index with prefix length on TEXT column
Backport the fix olav.sandstaa@sun.com-20101102184747-qfuntqwj021imy9r:
"Fix for Bug#52660 Perf. regr. using ICP for MyISAM on range queries on an index containing TEXT" 
(together with further fixes in that code) into MyISAM and Aria.
2013-07-16 10:56:42 +04:00
Jimmy Yang
5d95304c05 Fix Bug #16710923 - FALSE REPORTS OF DB_FOREIGN_EXCEED_MAX_CASCADE
rb://2582 approved by Inaam
2013-07-10 14:00:30 +08:00
Annamalai Gurusami
0d71a36d46 Bug #14017206 WITH CONSISTENT SNAPSHOT DOES NOT WORK WITH ISOLATION LEVEL
SERIALIZABLE

Problem:

The documentation claims that WITH CONSISTENT SNAPSHOT will work for both
REPEATABLE READ and SERIALIZABLE isolation levels.  But it will work only
for REPEATABLE READ isolation level.  Also, the clause WITH CONSISTENT
SNAPSHOT is silently ignored when it is not applicable to the given isolation
level.  

Solution:

Generate a warning when the clause WITH CONSISTENT SNAPSHOT is ignored.

rb#2797 approved by Kevin.

Note: Support team wanted to push this to 5.5+.
2013-07-10 10:49:17 +05:30
Yoni Fogel
4279e16c5a Refs Tokutek/ft-index#28 attach gdb to the running process and extract information on fatal signal. 2013-07-05 14:11:31 -07:00
Aditya A
eee10f381a Bug#17033706 SINCE 5.5.32 & 5.6.12, INNODB CANT START WITH OWN
MULTI-FILE TABLESPACE

ANALYSIS
--------

When a tablespace has multiple data files, InnoDB fails to 
open the tablespace.  This is because for each ibd file, 
the first page is checked.But the first page of all ibd file
need not be the first page of the tablespace.  Only the first
page of the tablespace contains the tablespace header. When 
we check the first page of an ibd file that is not the first
page of the tablespace, then the "tablespace flags" is not
really available.This was wrongly used to check if a page is
corrupt or not.

FIX
---
Use the tablespace flags only if the page number is 0 
in a tablespace.  

[Approved by Inaam rb#2836 ]
2013-07-05 14:30:15 +05:30
unknown
3684c2b182 Bug 16876388 - PLEASE BACKPORT BUG#16208542 TO 5.5
Straight forward backport.

Approved by Jimmy, rb#2656
2013-06-25 09:42:54 +08:00
Zardosht Kasheff
e69e0cff9a refs #42, exit gracefully from ha_tokudb::create if we notice a field that is invalid 2013-06-24 15:07:20 -04:00
Aditya A
09d03ff35f Bug#11829813 UNUSED MUTEX COMMIT_THREADS_M
[Merge from 5.1]
2013-06-19 14:55:46 +05:30
Aditya A
b3e74a0798 Bug#11829813 UNUSED MUTEX COMMIT_THREADS_M
Analysis
--------
The pthread_mutex commit_threads_m was initiliazed but never
used. 

Fix
---
Removing the commit_threads_m mutex from the code base.

[ Approved by Marko rb#2475]
2013-06-19 14:43:15 +05:30
Vasil Dimov
9696ca9d87 Fix Bug#16907783 5.5 STILL CRASHES IN DICT_UPDATE_STATISTICS WITH CONCURRENT
DDL AND I_S QUERIES

Skip partially created indexes (ones whose name starts with TEMP_INDEX_PREFIX)
from stats gathering.

Because InnoDB reports HA_INPLACE_ADD_INDEX_NO_WRITE to MySQL, the latter
allows parallel execution of ha_innobase::add_index() and ha_innobase::info().

Reviewed by:	Inaam (rb:2613)
2013-06-18 17:12:28 +03:00
Sergei Golubchik
10be9160c1 MDEV-4466 Partitioned Aria table created by a previous version is recognized as TEST_SQL_DISCOVERY
Partitioning didn't store the name of default storage engine for partitions
in the frm file - it only store the typecode. Typecodes aren't stable, and
might vary depending on the order in which storage engines are loaded (can
be changed even from my.cnf without recompilation).

As a temporary workaround for 5.5, we hard-code Aria's typecode, to make sure it
never changes.
2013-06-15 16:02:43 +02:00
unknown
e0c68b1504 Bug#16914007-INNODB: CHECK TABLE SHOULD MARK AN INDEX AS CORRUPTED
IF IT HAS A WRONG COUNT

If CHECK TABLE finds that a secondary index contains the wrong
number of entries, it used to report an error but not mark the
index as corrupt. The error means that the index should be rebuilt,
which can be done with ALTER TABLE DROP INDEX and ALTER TABLE ADD
INDEX.  But just in case the DBA does not pay any attention to the
output of CHECK TABLE, the secondary index should be marked as
corrupted so that it is not used again.

Approved by Inaam in RB:2607
2013-06-14 13:33:37 -05:00
Tor Didriksen
c94ccb237e Bug#16729109: FIX COMPILATION WARNINGS WITH GCC 4.8
Backport to 5.5
(external Bug#69407 Build warnings with mysql)


support-files/build-tags:
  Run etags on sql_yacc.yy, ignore other .yy files
unittest/mysys/explain_filename-t.cc:
  NO_PLAN seems to fail on some platforms, use the actual number instead.
2013-06-14 10:52:23 +02:00
Sergei Golubchik
3ddfab5e3c MDEV-4444 Server crashes with "safe_mutex: Trying to destroy a mutex share->mutex that was locked" on attempt to recover an archive table 2013-06-13 15:13:13 +02:00
Annamalai Gurusami
d9a71d5cbe Bug #16417635 INNODB FAILS TO MERGE UNDER-FILLED PAGES DEPENDING
ON DELETION ORDER

Problem:

When a InnoDB index page is under-filled, we will merge it with either
the left sibling node or the right sibling node.  But this checking is
incorrect.  When the left sibling node is available, even if merging
is not possible with left sibling node, we do not check for the 
possibility of merging with the right sibling node.  

Solution:

If left sibling node is available, and merging with left sibling node
is not possible, then check if merge with right sibling node is
possible.

rb#2506 approved by jimmy & ima.
2013-06-13 11:14:13 +05:30
Murthy Narkedimilli
b292b5d2e3 Fixing the bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-10 22:29:41 +02:00
Murthy Narkedimilli
af23963e64 Bug 16919882 - WRONG FSF ADDRESS IN LICENSES HEADERS 2013-06-11 01:13:07 +05:30
Sergei Golubchik
d0ce9cb832 MDEV-4468 Assertion `error != 0' fails or timeout occurs on select from a FEDERATED table which points at a non-existent table
Federated uses SHOW TABLE STATUS LIKE for ::info().
For nonexisting remote table it doesn't fail, but returns an empty result set.
We need to fake the error in the handler.
2013-06-07 15:35:13 +02:00
Michael Widenius
5730786041 Fixed some cache variables that could be set to higher value than what the code supported (size_t)
Fixed some cases that didn't work with > 4G buffers.
Fixed compiler warnings


include/mysql_com.h:
  Avoid compiler warning with strncmp()
sql-common/client.c:
  Fixed long comment; Added ()
sql/filesort.cc:
  Fix code to get filesort to work with big buffers
sql/sys_vars.cc:
  Fixed some cache variables that could be set to higher value than the size_t
  Limit query cache to ULONG_MAX as the query cache buffer variables are ulong
storage/federatedx/ha_federatedx.cc:
  Remove not used variable
storage/maria/ha_maria.cc:
  Fix that bulk_insert() works with big buffers
storage/maria/ma_write.c:
  Fix that bulk_insert() works with big buffers
storage/myisam/ha_myisam.cc:
  Fix that bulk_insert() works with big buffers
storage/myisam/mi_write.c:
  Fix that bulk_insert() works with big buffers
storage/sphinx/snippets_udf.cc:
  Fixed compiler warnings
2013-06-06 15:14:23 +03:00
Rich Prohaska
d081cd6732 strip carriage returns 2013-05-29 13:35:50 -04:00
Rich Prohaska
1200ca6dad svn #6706 add GPL headers to the tokudb handlerton 2013-05-28 08:33:07 -04:00
Rich Prohaska
d3f4822885 remove overactive assert in ha_tokudb::external_lock 2013-05-24 11:23:52 -04:00
Rich Prohaska
1b737dfda0 support upsert x=x+values(x) expressions 2013-05-24 11:01:40 -04:00
Rich Prohaska
ef67626331 #20 cleanup some static analysis issues 2013-05-24 10:59:07 -04:00
Rich Prohaska
a998803825 compile on mysql 5.6 2013-05-24 10:59:07 -04:00
Rich Prohaska
f239e32078 handle cardinality with alter add drop 2013-05-24 10:59:07 -04:00
Rich Prohaska
1b0261cc5c try to retain cardinality data after add/drop index 2013-05-24 10:59:07 -04:00
Marko Mäkelä
90f3f080af Bug#16859867 INNODB_BUG14529666 FAILS SPORADICALLY IN VALGRIND
i_s_innodb_buffer_page_get_info(): Do not read the buffer block frame
contents of read-fixed blocks, because it may be invalid or
uninitialized. When we are going to decompress or read a block, we
will put it into buf_pool->page_hash and buf_pool->LRU, read-fix the
block and release the mutexes for the duration of the reading or
decompression.

rb#2500 approved by Jimmy Yang
2013-05-24 13:58:42 +03:00
Vladislav Vaintroub
7ba2ff93ac MDEV-4548 - compile sphinx.so/dll and include into packages
replaced snippets_udf.cc with the latest version (2.0.8 from sphinxsource.com), fixed trivial errors on Windows.
It will be compiled and installed into plugins directory now.
2013-05-22 16:44:44 +02:00
Sergei Golubchik
d6315e29c8 MDEV-388 Creating a federated table with a non-existing server returns a random error code
(part 2)
2013-05-21 13:03:37 +02:00
Sergei Golubchik
62ab6982a4 MDEV-388 Creating a federated table with a non-existing server returns a random error code 2013-05-20 23:58:44 +02:00
Sergei Golubchik
d7a6c801ac 5.3 merge.
change maria.distinct to use a function that doesn't require ssl-enabled  builds
2013-05-20 12:36:30 +02:00
Sergei Golubchik
639a766096 5.2 merge 2013-05-20 11:13:07 +02:00
Sergei Golubchik
4ee5ae3e7f 5.1 merge 2013-05-20 10:53:04 +02:00
Ashish Agarwal
0c4f4ff015 Bug#16194302: SUPPORT FOR FLOATING-POINT SYSTEM VARIABLES
USING THE PLUGIN INTERFACE.

ISSUE: No support for floating-point plugin
       system variables.

SOLUTION: Allowing plugins to define and expose floating-point
          system variables of type double. MYSQL_SYSVAR_DOUBLE
          and MYSQL_THDVAR_DOUBLE are added.

ISSUE: Fractional part of the def, min, max values of system
       variables are ignored.

SOLUTION: Adding functions that are used to store the raw
          representation of a double in the raw bits of unsigned
          longlong in a way that the binary representation
          remains the same.
2013-05-19 23:38:06 +05:30
Annamalai Gurusami
5ca36b3b46 Bug #12762377 FOREIGN KEYS NOT CONSTRUCTED WHEN APOSTROPHES ARE
ESCAPED WITH BACKSLASH

Problem:

When the CREATE TABLE statement used COMMENTS with escape sequences like
'foo\'s', InnoDB did not parse is correctly when trying to extract the
foreign key information.  Because of this, the foreign keys specified
in the CREATE TABLE statement were not created.

Solution:

Make the InnoDB internal parser aware of escape sequences. 

rb#2457 approved by Kevin.
2013-05-18 10:20:56 +05:30
Rich Prohaska
51088922fb implement tokudb_fsync_log_period 2013-05-16 13:58:08 -04:00
Annamalai Gurusami
9904193de2 Fixing a compiler warning issue. At the end of the function
ibuf_insert_to_index_page_low() add a DBUG_RETURN(NULL).
2013-05-16 16:56:02 +05:30
Annamalai Gurusami
59b43c7965 Bug #16806366 BOGUS CALL TO LOCK_REC_RESTORE_FROM_PAGE_INFIMUM IN
INSERT BUFFER MERGE

Problem:

When the record is merged from the change buffer to the actual page,
in a particular condition, it is assumed that the deleted rec will
be re-used by the inserted rec.  With this assumption the lock is
restored on the pointer to the deleted rec itself, thinking that
it is pointing to the newly inserted rec.

Solution:

Just before restoring the lock, update the rec pointer to point
to the newly inserted record.  An assert has been added to verify
this.  This assert will fail without the fix and will pass with
the fix.

rb#2449 in review by Marko and Jimmy
2013-05-16 14:05:05 +05:30
Annamalai Gurusami
6057702766 Merge from mysql-5.1 to mysql-5.5 2013-05-16 13:58:26 +05:30
Annamalai Gurusami
e8fa04cee0 Bug #16806366 BOGUS CALL TO LOCK_REC_RESTORE_FROM_PAGE_INFIMUM IN
INSERT BUFFER MERGE

Problem:

When the record is merged from the change buffer to the actual page,
in a particular condition, it is assumed that the deleted rec will
be re-used by the inserted rec.  With this assumption the lock is
restored on the pointer to the deleted rec itself, thinking that
it is pointing to the newly inserted rec.

Solution:

Just before restoring the lock, update the rec pointer to point
to the newly inserted record.  An assert has been added to verify
this.  This assert will fail without the fix and will pass with
the fix.

rb#2449 in review by Marko and Jimmy
2013-05-16 10:26:09 +05:30
Annamalai Gurusami
5e3dd90fb1 Bug #16411457 MASTER THREAD CANNOT EXIT FLUSH_LOOP WHEN
INNODB_FAST_SHUTDOWN IS 2

Problem:

When innodb_fast_shutdown is set to 2 and the master thread enters
flush loop, under some circumstances it will not be able to exit it.
This may lead to a shutdown hanging.

This is happening because of the following:

1. In the flush_loop block of code, if the srv_fast_shutdown is
   equal to 2 (very fast shutdown), then we do not flush dirty
   pages in buffer pool to disk.
 
2. In the same flush_loop block of code, if the number of dirty
   pages is more than user specified limit, we go to step 1.

This results in infinite loop.

Solution:

When we are in the process of doing a very fast shutdown, don't
do step 2 above.

rb#2328 approved by Inaam.
2013-05-16 10:01:06 +05:30
Marko Mäkelä
09510e3e7a Merge mysql-5.1 to mysql-5.5. 2013-05-15 22:50:44 +03:00
Marko Mäkelä
205bf59a9f Bug#16736929 PAGE_ZIP_DECOMPRESS() FAILS ON EMPTY RECORD
When a record contains no user data bytes (such as when the PRIMARY
KEY is an empty string and all secondary index fields are NULL or the
empty string), page_zip_decompress() could fail to set the record
heap_no correctly.

page_zip_decompress_node_ptrs(), page_zip_decompress_sec(),
page_zip_decompress_clust(): Set heap_no also at the end of the
compressed data stream.

rb#2448 approved by Jimmy Yang and Inaam Rana
2013-05-15 22:40:29 +03:00
Inaam Rana
218cd6652d Bug#16622478 INNODB'S THREAD CONCURRENCY TICKETS MIGHT BE RELEASED
AFTER A ROW IS READ


Approved by: Sunny Bains rb://2425

Don't release concurrency tickets when asked to release
btr_search_latch. This is a 5.5 only bug. It is already
fixed in 5.6 upwards.
2013-05-15 10:47:19 -04:00
Michael Widenius
d0265a632f When one does 'REPAIR TABLE', update uuid() to the current system
mysql-test/suite/maria/maria-autozerofill.result:
  Updated result
mysql-test/suite/maria/maria-autozerofill.test:
  Added test that zerofilled table should not give any warnings when table is used
mysql-test/suite/maria/maria-recovery2.result:
  More tests to make it easier to find bugs
mysql-test/suite/maria/maria-recovery2.test:
  More tests to make it easier to find bugs
storage/maria/ha_maria.cc:
  Set create_trid after repair (needed if table was moved from another system)
  Set uuid after repair (needed if table was moved from another system)
storage/maria/maria_chk.c:
  Reset share->state.create_trid if we reset share->state.create_rename_lsn.
  Make the table moveable
2013-05-14 18:32:16 +03:00
unknown
0d31c13e50 Bug#14529666 INNODB_BUFFER_PAGE DOES NOT MARK CHANGE BUFFER PAGES APPROPRIATELY
== Analysis == 
Both change buffer pages and on-disk indexes pages are marked as
FIL_PAGE_INDEX. So all ibuf index pages will classify as INDEX with NULL
table_name and index_name.

== Solution ==
A new page type for ibuf data pages named I_S_PAGE_TYPE_IBUF is defined. All
these pages whose index_id equal (DICT_IBUF_ID_MIN + IBUF_SPACE_ID) will 
classify as IBUF_DATA instead of INDEX in INNODB_BUFFER_PAGE 
and INNODB_BUFFER_PAGE_LRU.

This fix is only for IS reporting, both on-disk and buffer pool structures
keep unchanged.

Approved by both Marko and Jimmy. rb#2334
2013-05-13 22:05:56 +08:00
Michael Widenius
668306640e Fixed MDEV-4291: Assertion `trid >= info->s->state.create_trid' failure or data corruption (key points to record
outside datafile) on INSERT into an Aria table.

The isssue was that the check if a table was moved between systems didn't take into account that create_trid could be bigger than the current max trid on the new system.
This could only happen if one tried to move a table that one had just done a 'REPAIR TABLE' on.
Tables that one had run 'aria_chk --zerofill' on worked.

Fixed this by assuming that if create_trid is too big then the table has been moved from one system to another and we have to do an automatic zerofill.

Other fixed:

- Added a check to detect a wrong create_trid in 'check table'.
- aria_chk -dvv will now write out also the create_trid (to make future error finding easier)
- aria_chk --zerofill doesn't anymore require a aria_control_file
- Removed some warnings from safemalloc when using aria_chk, ma_test1 and ma_test2.


include/myisamchk.h:
  Removed wrong 'QQ' flags (the flags are used by myisamchk and aria_chk)
storage/maria/ha_maria.cc:
  maria_chk_status() can now also return an error.
storage/maria/ma_check.c:
  In maria_chk_status() check if create_trid value is too big.
storage/maria/ma_open.c:
  Changed check if table is moved so that we can detect wrong create_trid values.
  Don't set STATE_NOT_MOVABLE flag if we are doing repair/check. This was done so that aria_chk can print out the movable flag.
storage/maria/ma_test1.c:
  Added code to suppress memory leaks from safemalloc
storage/maria/ma_test2.c:
  Added code to suppress memory leaks from safemalloc
storage/maria/maria_chk.c:
  Added code to suppress memory leaks from safemalloc.
  Make help text a bit better for --HELP and --zerofill.
  Incresed version number.
  Don't require a control file if we are only doing --zerofill
  Print out 'create_trid' when doing --describe --verbose
storage/maria/unittest/ma_test_recovery.expected:
  Updated result file
2013-05-13 00:43:46 +03:00
Annamalai Gurusami
0b40def788 Merge from mysql-5.1 to mysql-5.5 2013-05-12 19:45:42 +05:30
Annamalai Gurusami
87a1918fe6 Fixing a build issue. In InnoDB plugin, the function
innobase_convert_to_filename_charset() was by mistake kept within
the conditional compilation of UNIV_COMPILE_TEST_FUNCS.  Now placing
the function out of UNIV_COMPILE_TEST_FUNCS.  Also, removed the
unnecessary log message (as in 5.6+).
2013-05-12 19:41:25 +05:30
Michael Widenius
3bd6e4b8ee MDEV-3999: Valgrind errors 'invalid write' or assorted server crashes on concurrent flow with partitioned Aria tables
MDEV-3989: Server crashes on import from MariaDB mysqldump export with partitioned Aria table.

Problem was that bulk insert in aria was not properly protected against concurrent selects.


storage/maria/ha_maria.cc:
  Move settings of file->state to _ma_block_start_trans() to ensure that lock_key_trees is not changed by a concurrent bulk_insert.
storage/maria/ma_check.c:
  Added DBUG_ASSERT()
storage/maria/ma_open.c:
  Set start_trans to ma_start_trans for default behaviour.
storage/maria/ma_pagecrc.c:
  Removed test for 'non_transactional' as a now_transactinal could be reset while a flush was happening.
storage/maria/ma_state.c:
  Moved setting of info->state from external_lock to start_trans to protect against concurrent running bulk inserts.
  This works as the other threads will wait in thr_lock() until bulk_insert is done and keys are re-generated.
storage/maria/ma_state.h:
  Added _ma_start_trans()
2013-05-12 11:29:16 +03:00
Michael Widenius
4e9bf37f1f MDEV-4280: Assertion `empty_size == empty_size_on_page' failure in ma_blockrec.c or ER_NOT_KEYFILE on query with DISTINCT and GROUP BY
This could happen when using Aria for internal temporary files (default case) and using DISTINCT.
_ma_scan_restore_block_record() didn't work correctly if there was rows inserted, updated or deleted on the handler
between calls to _ma_scan_remember_block_record() and _ma_scan_restore_block_record().
The effect was that some DISTINCT queries that used remove_dup_with_compare() could fail.

.bzrignore:
  Ignore sql_yacc.hh
mysql-test/suite/maria/r/distinct.result:
  Test case for MDEV-4280
mysql-test/suite/maria/t/distinct.test:
  Test case for MDEV-4280
mysql-test/t/mysql.test:
  Fixed test suite (we could get error -1 in some cases)
sql/sql_select.cc:
  Break loop if restart_rnd_next() gives an error
storage/maria/ha_maria.cc:
  scan_restore_pos() can return disk fault error.
storage/maria/ma_blockrec.c:
  _ma_scan_remember_block_record() did incorrectly update scan.dir instead of scan_save.dir .
  _ma_scan_restore_block_record() didn't work correctly if there was rows inserted,updated or deleted on the handler
  between calls to _ma_scan_remember_block_record() and _ma_scan_restore_block_record().
  Fixed by adding counters for row changes and reading the current scan page if changes had been made.
storage/maria/ma_blockrec.h:
  scan_restore_pos() can return disk fault error.
storage/maria/ma_delete.c:
  Increment row_changes
storage/maria/ma_scan.c:
  scan_restore_pos() can return disk fault error.
storage/maria/ma_update.c:
  Increment row_changes
storage/maria/ma_write.c:
  Increment row_changes
storage/maria/maria_def.h:
  scan_restore_pos() can return disk fault error.
2013-05-11 15:55:11 +03:00
Michael Widenius
5b31f87858 MDEV-4231: Possible bug in function _ma_apply_undo_row_insert()
Added comment to clearify the code.


storage/maria/ma_blockrec.c:
  Added comment to clearify the code
  In case of out of memory or disk error, mark pages with LSN_IMPOSSIBLE to make it easier to know which pages have wrong information.
2013-05-11 12:20:21 +03:00
Annamalai Gurusami
03740f9d40 Merge from mysql-5.1 to mysql-5.5 2013-05-10 15:38:25 +05:30
Annamalai Gurusami
3df10469a2 Fixing a build issue. The function innobase_convert_to_system_charset()
is included only in the builtin InnoDB, and it is missed in InnoDB
plugin.  Adding this function in InnoDB plugin as well.
2013-05-10 15:35:40 +05:30
Vladislav Vaintroub
3b944843d2 Fix compile error 2013-05-09 23:25:57 +02:00
Sergei Golubchik
da846a153b Merge with XtraDB as of Percona-Server-5.5.30-rel30.2 2013-05-08 10:12:21 +02:00
Sergei Golubchik
e0a08c567a Compilation warnings.
openssl compilation problem.
2013-05-07 18:26:22 +02:00
Sergei Golubchik
b381cf843c mysql-5.5.31 merge 2013-05-07 13:05:09 +02:00
Sujatha Sivakumar
e246b4a5f5 Bug#16513588:"PREPARE_COMMIT_MUTEX" IS NOT FREED DURING
TRANSACTION ROLLBACK

Problem:
=======
"prepare_commit_mutex" is acquired during "innobase_xa_prepare"
and it is freed only in "innobase_commit". After prepare,
if the commit operation fails the transaction is rolled back
but the mutex is not released.

Analysis:
========
During transaction commit process transaction is prepared and
the "prepare_commit_mutex" is acquired to preserve the order
of commit. After prepare write to binlog is initiated.

File: sql/handler.cc
      if (error || (is_real_trans && xid &&
----->             (error= !(cookie= tc_log->log_xid(thd, xid)))))
      {
        ha_rollback_trans(thd, all);

In the above code "tc_log->log_xid" operation fails.

When the write to binlog fails the transaction is rolled back
with out freeing the mutex. A subsequent "INSERT" operation
tries to acquire the same mutex during its commit process
and the server aborts.

Fix:
===
"prepare_commit_mutex" is freed during "innobase_rollback".

storage/innobase/handler/ha_innodb.cc:
  Added code to free "prepare_commit_mutex"
2013-05-07 13:30:25 +05:30
Annamalai Gurusami
2c551d0e9c Bug #16722314 FOREIGN KEY ID MODIFIED DURING EXPORT
Bug #16754901 PARS_INFO_FREE NOT CALLED IN DICT_CREATE_ADD_FOREIGN_TO_DICTIONARY

Merging the fix from mysql-5.5 to mysql-5.5.32-release.
2013-05-06 20:31:26 +05:30
Annamalai Gurusami
1b26d59192 Merge from mysql-5.1 to mysql-5.5 2013-05-06 19:57:49 +05:30
Annamalai Gurusami
bf7325bb6b Bug #16722314 FOREIGN KEY ID MODIFIED DURING EXPORT
Bug #16754901 PARS_INFO_FREE NOT CALLED IN DICT_CREATE_ADD_FOREIGN_TO_DICTIONARY

Problem:

There are two situations here.  The constraint name is explicitly
given by the user and the constraint name is automatically generated
by InnoDB.  In the case of generated constraint name, it is formed by
adding table name as prefix.  The table names are stored internally in
my_charset_filename.  In the case of constraint name explicitly given
by the user, it is stored in UTF8 format itself.  So, in some
situations the constraint name is in utf8 and in some situations it is
in my_charset_filename format.  Hence this problem.

Solution:

Always store the foreign key constraint name in UTF-8 even when
automatically generated.

Bug #16754901 PARS_INFO_FREE NOT CALLED IN DICT_CREATE_ADD_FOREIGN_TO_DICTIONARY

Problem:

There was a memory leak in the function dict_create_add_foreign_to_dictionary().
The allocated pars_info_t object is not freed in the error code path.

Solution:

Allocate the pars_info_t object after the error checking.

rb#2368 in review
2013-05-06 16:28:56 +05:30
zkasheff
d5fb75ca2f refs #6684, fix icp bug of queries that do multiple index_next_same calls with the same cursor 2013-04-30 18:48:08 -04:00
unknown
714d9bc5ce merge from mysql-5.1 2013-04-30 20:40:38 +02:00
unknown
92989fdeed Bug#16405422 - RECOVERY FAILURE, ASSERT !RECV_NO_LOG_WRITE
eliminate a race condition over recv_sys->n_addrs which might result in a database corruption
in recovery, without reporting a recovery error.

recv_recover_page_func(): move the code segment that decrements recv_sys->n_addrs
  to the end of the function, after the call to mtr_commit()

rb://2282 approved by Inaam
2013-04-30 20:39:12 +02:00
Marko Mäkelä
3d264bb1e9 Bug#16720368 INNODB IGNORES *.IBD FILE BREAKAGE AT STARTUP
After a clean shutdown, InnoDB will not check the *.ibd file headers,
for maximum performance. This is unchanged before and after this
patch.

What this fix addresses is the case when crash recovery is
needed. Previously, InnoDB could load a corrupted tablespace file.

buf_page_is_corrupted(): Add the parameter check_lsn.

fil_check_first_page(): New function, to perform a consistency check
on the first page of a file. This can be overridden by setting
innodb_force_recovery.

fil_read_first_page(), fil_open_single_table_tablespace(),
fil_load_single_table_tablespace(): Invoke fil_check_first_page().

open_or_create_data_files(): Check the status of
fil_open_single_table_tablespace().

rb#2352 approved by Jimmy Yang
2013-04-30 13:39:50 +03:00
Leif Walsh
ce338d55ac #10 add binary directory's toku_include dir 2013-04-27 15:38:20 -03:00
Leif Walsh
c5d0f4dad6 try fixing names 2013-04-27 15:22:31 -03:00
Leif Walsh
8871076abc #10 change handlerton cmake to include ft-index directly 2013-04-27 13:54:48 -04:00
Annamalai Gurusami
19f93f6bd8 Bug #15973904 INNODB PARTITION CODE HOLDS LOCK_OPEN AND SLEEPS WHILE
OPENING MISSING PARTITION

In the ha_innobase::open() call, for normal tables, there is no retry logic.
But for partitioned tables, there is a retry logic introduced as fix for:

http://bugs.mysql.com/bug.php?id=33349  
https://support.mysql.com/view.php?id=21080

The Bug#33349, does not provide sufficient information to analyze the original
problem.  The original problem reported by bug#33349 is also minor (just an
annoyance and no loss of functionality).  Most importantly, the retry logic
has been introduced without any associated test case.

So we are removing the retry logic for partitioned tables.  When the original
problem occurs, a different solution will be explored.
2013-04-24 08:47:30 +02:00
Annamalai Gurusami
1b892c7759 Merge from mysql-5.1 to mysql-5.5 2013-04-24 08:42:59 +02:00
Rich Prohaska
53b0839a5b res #6655 change tokudb plugin licenses to GPL 2013-04-21 11:58:55 -04:00
Vladislav Vaintroub
4d78392be5 MDEV-4398 -
Change default for innodb_use_fallocate to FALSE, due to bugs in older Linux kernels (posix_fallocate() does not always guarantee that file size is like one specified)
2013-04-19 12:08:55 +02:00
Sergei Golubchik
07315d3603 strmake_buf(X,Y) helper, equivalent to strmake(X,Y,sizeof(X)-1)
with a bit of lame protection against abuse.
2013-04-17 19:42:34 +02:00
Rich Prohaska
5a57ce4efa refs #6372 really use DB_TYPE_TOKUDB on mysql 5.6, will need an upgrade procedure
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@55333 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:19 -04:00
Yoni Fogel
5f919625c1 refs #6372 Merge table delete bugfix to main
svn merge https://svn.tokutek.com/tokudb/mysql.com/mysql-5.5.30-6372b https://svn.tokutek.com/tokudb/mysql.com/mysql-5.5.30
svn merge https://svn.tokutek.com/tokudb/mysql.com/mariadb-5.5.30-6372b https://svn.tokutek.com/tokudb/mysql.com/mariadb-5.5.30
svn merge https://svn.tokutek.com/tokudb/mysql/tokudb-engine/tokudb-engine-6372b https://svn.tokutek.com/tokudb/mysql/tokudb-engine/tokudb-engine


git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@55264 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:19 -04:00
Yoni Fogel
9e6dffba89 fixes #6485 Move memory management for information_schema.global_status into tokudb_init_func and tokudb_end
Everything else is stored directly in the status rows.
Should be more thread safe if mysql/mariadb removes LOCK_status now.

git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@55091 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:19 -04:00
Rich Prohaska
fbae97d561 refs #6444 export global status variables on mariadb
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@55027 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:19 -04:00
Rich Prohaska
1b30fe8dc1 refs #6090 support extended keys in tokudb
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54920 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:19 -04:00
Rich Prohaska
f8a28dc1b7 refs #6372 require DB_TYPE_TOKUDB to compile the handlerton
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54888 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:19 -04:00
Rich Prohaska
0f024fd95c refs #6089 build handlerton without 5.6 alter table if we want
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54823 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:19 -04:00
Rich Prohaska
17c3f9eebe refs #6346 fix analyze time limit
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54692 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:19 -04:00
Rich Prohaska
36d80a52b9 refs #6184 run tests on darwin for fun
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54657 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:19 -04:00
Rich Prohaska
e7a2d9874d refs #6184 port some handlerton test to darwin
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54621 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:19 -04:00
Rich Prohaska
a7fff76722 refs #6184 put an assert in a simple template test
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54568 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:19 -04:00
Rich Prohaska
a71feb8ac4 refs #6184 run cardinality tests with valgrind
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54567 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:19 -04:00
Rich Prohaska
195c8e6098 refs #6184 turn up the warnings on the handlerton unit tests
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54539 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:18 -04:00
Yoni Fogel
cee5f887ad refs #6286 Add infrastructure to use column names for info schema
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54506 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:18 -04:00
Zardosht Kasheff
575867e17c refs #6278, merge to main
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54501 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:18 -04:00
Rich Prohaska
3505eab018 refs #6184 run handlerton unit tests with valgrind
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54494 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:18 -04:00
Yoni Fogel
e79f0f5bcb refs #5820 Merge information schema to mainline
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54478 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:18 -04:00
Rich Prohaska
32156c75ba refs #6184 new cardinality and status code with better unit tests
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54450 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:18 -04:00
Yoni Fogel
70107a436e fixes #6086 Merge 6086 to main. We now read in basement nodes if a full keyrange resides in it so that we can answer more accurately.
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54342 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:18 -04:00
Zardosht Kasheff
295d6879bf refs #6058, make a handlerton fix for stored functions
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54330 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:18 -04:00
Rich Prohaska
56541a5b1d refs #6220 compile handlerton with gcc 4.4
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54309 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:18 -04:00
Zardosht Kasheff
c2ba13873e refs #6195, fix bug in add index where bf_info->key_to_compare was not set
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54295 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:18 -04:00
Zardosht Kasheff
9a88c96b14 refs #6058, merge handlerton piece to main
git-svn-id: file:///svn/mysql/tokudb-engine/tokudb-engine@54235 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:02:18 -04:00