summaryrefslogtreecommitdiff
path: root/storage/innobase
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'merge-innodb-5.6' into 10.0Sergei Golubchik2015-10-0918-105/+394
|\
| * 5.6.27Sergei Golubchik2015-10-0918-118/+393
| |
* | MDEV-8379 - SUSE mariadb patchesSergey Vojtovich2015-10-011-2/+2
| | | | | | | | | | | | Corrected variable name in dead code for consistency. Patch contributed by Michal Hrusecky.
* | Merge branch 'bb-10.0-jan' into 10.0Sergei Golubchik2015-08-058-85/+706
|\ \ | | | | | | | | | 5.5 with our InnoDB changes
| * \ Merge commit '96badb16afcf' into 10.0Jan Lindström2015-08-038-85/+706
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: client/mysql_upgrade.c mysql-test/r/func_misc.result mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result mysql-test/suite/innodb/r/innodb-fk.result mysql-test/t/subselect_sj_mat.test sql/item.cc sql/item_func.cc sql/log.cc sql/log_event.cc sql/rpl_utility.cc sql/slave.cc sql/sql_class.cc sql/sql_class.h sql/sql_select.cc storage/innobase/dict/dict0crea.c storage/innobase/dict/dict0dict.c storage/innobase/handler/ha_innodb.cc storage/xtradb/dict/dict0crea.c storage/xtradb/dict/dict0dict.c storage/xtradb/handler/ha_innodb.cc vio/viosslfactories.c
| | * | Make sure name buffer has string end marker on correct place.Jan Lindström2015-07-312-33/+55
| | | |
| | * | MDEV-6697: Improve foreign keys warnings/errorsJan Lindström2015-07-313-83/+471
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is several different ways to incorrectly define foreign key constraint. In many cases earlier MariaDB versions the error messages produced by these cases are not very clear and helpful. This patch improves the warning messages produced by foreign key parsing.
| | * | MDEV-8524: Improve error messaging when there is duplicate key or foreign ↵Jan Lindström2015-07-313-1/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | key names Added better error message that will be printed when foreign key constraint name in create table is not unique in database.
| | * | MDEV-8474: InnoDB sets per-connection data unsafelyJan Lindström2015-07-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Analysis: At check_trx_exists function InnoDB allocates a new trx if no trx is found from thd but this newly allocated trx is not registered to thd. This is unsafe, because nothing prevents InnoDB plugin from being uninstalled while there's active transaction. This can cause crashes, hang and any other odd behavior. It may also corrupt stack, as functions pointers are not available after dlclose. Fix: The fix is to use thd_set_ha_data() when manipulating per-connection handler data. It does appropriate plugin locking.
* | | | Merge branch 'merge-innodb-5.6' into 10.0Sergei Golubchik2015-08-0316-249/+272
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| 5.6.26
| * | 5.6.26Sergei Golubchik2015-08-0315-248/+271
| | |
* | | MDEV-8386: MARIADB creates very big tmp file > 351Gb. Started happening ↵Jan Lindström2015-07-141-0/+14
| | | | | | | | | | | | | | | | | | | | | after Version 10.0.16-15 Fixed small size limit and added additional information if we reserve new pages more then 50 times.
* | | Code cleanup.Jan Lindström2015-07-141-2/+3
| | |
* | | MDEV-8392: Couldn't alter field with default value for make it not nullable.Jan Lindström2015-06-301-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Analysis; Problem is that InnoDB does not have support for generating CURRENT_TIMESTAMP or constant default. Fix: Add additional check if column has changed from NULL -> NOT NULL and column default has changed. If this is is first column definition whose SQL type is TIMESTAMP and it is defined as NOT NULL and it has either constant default or function default we must use "Copy" method for alter table.
* | | after-merge fixesSergei Golubchik2015-06-161-4/+2
| | | | | | | | | | | | | | | in innobase: compilation error on windows other changes: perfschema merge followup
* | | Fix innochecksum build failure.Jan Lindström2015-06-161-0/+15
| | |
* | | after merge fixes: InnoDB and XtraDBSergei Golubchik2015-06-161-0/+2
| | |
* | | Merge branch 'merge-innodb-5.6' into 10.0Sergei Golubchik2015-06-1616-237/+437
|\ \ \ | |/ /
| * | 5.6.25Sergei Golubchik2015-06-1615-236/+436
| | |
* | | MDEV-8179: Absent progress report for operations on InnoDB tablesJan Lindström2015-06-141-0/+13
| | | | | | | | | | | | | | | | | | Add progress info on InnoDB/XtraDB row0merge phase. Note that we do not know exact number of rounds merge sort needs at start thus also progress report might not be accurate.
* | | Merge branch '5.5' into 10.0Sergei Golubchik2015-06-111-0/+5
|\ \ \ | | |/ | |/|
| * | Merge branch '5.5' into bb-5.5-sergSergei Golubchik2015-06-051-1/+5
| |\ \
| | * | MDEV-7906: InnoDB: Failing assertion: prebuilt->sql_stat_start || trx->state ↵Jan Lindström2015-06-041-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | == 1 on concurrent multi-table update Analysis: Problem is that SQL-layer calls handler API after storage engine has already returned error state. InnoDB does internal rollback when it notices transaction error (e.g. lock wait timeout, deadlock, etc.) and after this transaction is not naturally in correct state to continue. Fix: Do not continue fetch operations if transaction is not started.
| * | | Merge tag 'mysql-5.5.44' into bb-5.5-sergSergei Golubchik2015-06-055-19/+33
| |\ \ \ | | |/ / | |/| |
| | * | Bug#20816223 InnoDB crash on shutdownMarko Mäkelä2015-04-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if XA PREPARE transactions hold explicit locks. innobase_shutdown_for_mysql(): Call trx_sys_close() before lock_sys_close() (and dict_close()) so that trx_free_prepared() will see all locks intact. RB: 8561 Reviewed-by: Vasil Dimov <vasil.dimov@oracle.com>
| | * | Bug #17299181 CREATE_TIME AND UPDATE_TIME ARE WRONG FOR PARTITIONED TABLESaditya2015-04-061-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM Create time is calculated as last status change time of .frm file. The first problem was that innodb was passing file name as "table_name#po#p0.frm" to the stat() call which calculates the create time. Since there is no frm file with this name create_time will be stored as NULL. The second problem is ha_partition::info() updates stats for create time when HA_STATUS_CONST flag was set ,where as innodb calculates this statistic when HA_STATUS_TIME is set,which causes create_time to be set as NULL. Fix Pass proper .frm name to stat() call and calculate create time when HA_STATUS_CONST flag is set.
| | * | Bug#20422680 BUF_POOL_WATCH_SET WOULD CRASH TRYINGThirunarayanan Balathandayuthapani2015-03-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TO USE A SECOND WATCH PAGE PER INSTANCE Description: BUF_POOL_WATCH_SIZE is also initialized to number of purge threads. so BUF_POOL_WATCH_SIZE will never be lesser than number of purge threads. From the code, there is no scope for purge thread to skip buf_pool_watch_unset. So there can be at most one buffer pool watch active per purge thread. In other words, there is no chance for purge thread instance to hold a watch when setting another watch. Solution: Adding code comments to clarify the issue. Reviewed-by: Marko Mäkelä <marko.makela@oracle.com> Approved via Bug page.
| | * | Bug #20417397 MYSQL SHOW ENGINE INNODB STATUS SHOWING NEGATIVEThirunarayanan Balathandayuthapani2015-03-111-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RESERVATION AND SIGNAL COUNT Problem: Reservation and Signal count value shows negative value for show engine innodb statement. Solution: This is happening due to counter overflow error. Reservation and Signal count values are defined as unsigned long but these variables are converted to long while printing it. Change Reservation and Signal count values as unsigned long datatype while printing it. Reviewed-by: Marko Mäkelä <marko.makela@oracle.com> Approved in bug page.
| | * | Bug #20442523 CRASH WHEN CREATE TABLE VIOLATES FOREIGN KEY CONSTRAINTAnnamalai Gurusami2015-03-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: This is a coding mistake during error handling. When the specified foreign key constraint is wrong because of data type mismatch, the resulting foreign key object will not have valid foreign->id (it will be NULL.) Solution: While removing the foreign key object from dictionary cache during error handling, ensure that foreign->id is not null before using it. rb#8204 approved by Sunny.
| | * | Bug #20049521: CRASH IN MERGE_BUFFERS FILESORT.C WHEN INNODB WITH ORDER BY.Mithun C Y2015-02-251-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ISSUE: ------ There can be up to MERGEBUFF2 number of sorted merge chunks, We need enough buffer space for at least one record from each merge chunks. If estimates are wrong(very low) and we allocate buffer space for less than MERGEBUFF2, then we will have issue in merge_buffers, if actual number of rows to be sorted is bigger than estimate and external filesort is chosen. SOLUTION: --------- Set number of rows to sort to be at least MERGEBUFF2.
| * | | Merge pull request #73 from akopytov/MDEV-7658-5.5Sergey2015-05-271-1/+1
| |\ \ \ | | | | | | | | | | Fixes MDEV-7658: MDEV-7026 fix reintroduces MDEV-6615 on AArch64
* | \ \ \ Merge pull request #74 from akopytov/MDEV-7658-10.0Jan Lindström2015-05-271-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Mdev 7658 10.0
| * \ \ \ \ Merge branch 'MDEV-7658-5.5' into MDEV-7658-10.0Alexey Kopytov2015-05-261-1/+1
| |\ \ \ \ \ | | | |/ / / | | |/| | |
| | * | | | Fixes MDEV-7658: MDEV-7026 fix reintroduces MDEV-6615 on AArch64Alexey Kopytov2015-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an addendum to the fix for MDEV-7026. The ARM memory model is similar to that of PowerPC and thus needs the same semantics with respect to memory barriers. That is, os_atomic_test_and_set_*_release() must be a store with a release barrier followed by a full barrier. Unlike x86 using __sync_lock_test_and_set() which is implemented as “exclusive load with acquire barriers + exclusive store” is insufficient in contexts where os_atomic_test_and_set_*_release() macros are used.
* | | | | | Merge branch '5.5' into 10.0Sergei Golubchik2015-05-082-2/+7
|\ \ \ \ \ \ | | |_|/ / / | |/| | | |
| * | | | | Fix compiler error if compiler does not support c99 styleJan Lindström2015-05-072-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | initializers.
| * | | | | Merge pull request #52 from openquery/MDEV-8053-c99-style-for-structure-membersJan Lindström2015-05-061-1/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | c99 style for assigning structure members
| | * | | | | c99 style for assigning structure membersDaniel Black2015-04-251-1/+1
| | | |/ / / | | |/| | |
* | | | | | Merge branch 'Buggynours:10.0' into 10.0Sergei Golubchik2015-05-052-1/+2
|\ \ \ \ \ \
| * | | | | | Add #include <ostream> in dict0mem.h and change iterator to const_iterator ↵Buggynours2015-03-032-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in dic0mem.cc This fix compiling error when compiled with Visual Studio 9 2008
* | | | | | | InnoDB-5.6.24Sergei Golubchik2015-05-0520-492/+439
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | |
| * | | | | | 5.6.24Sergei Golubchik2015-05-0419-491/+438
| | | | | | |
| * | | | | | move to storage/innobaseSergei Golubchik2015-05-04360-0/+317343
| / / / / /
* | | | | | Merge branch '5.5' into 10.0Sergei Golubchik2015-05-041-3/+1
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | MDEV-8020: innodb.innodb-mdev-7055 produces valgrind warnings in buildbotJan Lindström2015-04-281-4/+2
| | |/ / / | |/| | | | | | | | | | | | | | | | | | Fixed by reverting incorrect fix of MDEC-7055 (reopened) and removing the test case (because it now crashes).
* | | | | MDEV-8079: Crash when running MariaDB Debug with InnoDB on WindowsJan Lindström2015-05-011-44/+16
| |_|/ / |/| | | | | | | | | | | | | | | | | | | Problem was that std::vector was allocated using calloc instead of new, this caused vector constructor not being called and vector metadata not initialized.
* | | | MDEV-7908: assertion in innobase_release_savepointJan Lindström2015-04-062-2/+5
| | | | | | | | | | | | | | | | | | | | Problem was that in XA prepared state we should still be able to release a savepoint, but assertions were too strict.
* | | | MDEV-7367: Updating a virtual column corrupts table which crashes serverJan Lindström2015-03-316-7/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Analysis: MySQL table definition contains also virtual columns. Similarly, index fielnr references MySQL table fields. However, InnoDB table definition does not contain virtual columns. Therefore, when matching MySQL key fieldnr we need to use actual column name to find out referenced InnoDB dictionary column name. Fix: Add new function to match MySQL index key columns to InnoDB dictionary.
* | | | MDEV-7754: innodb assert "array->n_elems < array->max_elems" on a huge blob ↵Jan Lindström2015-03-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | update Replace static array of thread sync levels with std::vector.
* | | | Better and more correct comment.Jan Lindström2015-03-181-2/+8
| | | |