summaryrefslogtreecommitdiff
path: root/storage
Commit message (Collapse)AuthorAgeFilesLines
* Fixed wrong error codes from InnoDB/XtraDB that caused %M to give system ↵Michael Widenius2012-07-062-38/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dependent error messages (for unknown error code) - InnoDB now returns handler specific HA_WRONG_CREATE_OPTION instead of MySQL specific ER_ILLEGAL_HA_CREATE_OPTION - This changes the user level error message from "Unknown error" to "Wrong create options" mysql-test/r/lowercase_table2.result: Updated result file mysql-test/r/partition_innodb_plugin.result: Updated to new error message mysql-test/r/partition_open_files_limit.result: Updated result file mysql-test/r/row-checksum-old.result: Updated to new error message mysql-test/r/row-checksum.result: Updated to new error message mysql-test/r/symlink.result: Updated result file mysql-test/suite/innodb/r/innodb-create-options.result: Updated to new error message mysql-test/suite/innodb/r/innodb-zip.result: Updated to new error message mysql-test/suite/innodb/r/innodb.result: Updated to new error message storage/innobase/handler/ha_innodb.cc: Return HA_WRONG_CREATE_OPTION instead of ER_ILLEGAL_HA_CREATE_OPTION This gives more clear and OS indepedent error messages storage/xtradb/handler/ha_innodb.cc: Return HA_WRONG_CREATE_OPTION instead of ER_ILLEGAL_HA_CREATE_OPTION This gives more clear and OS indepedent error messages
* Automatic merge with 5.5Michael Widenius2012-06-273-16/+48
|\ | | | | | | Fixed failing test case
| * Don't abort InnoDB/XtraDB if one can't allocate resources for AIOMichael Widenius2012-06-273-16/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Better error messages This fixes that one again can run the test systems with many threads without having to increase fs.aio-max-nr. mysql-test/include/mtr_check.sql: Ignore the INNODB_USE_NATIVE_AIO variable (may change during execution) mysql-test/mysql-test-run.pl: Ignore warnings for failure to setup AIO storage/innobase/os/os0file.c: Continue without AIO even if we can't allocate resources for AIO storage/xtradb/os/os0file.c: Continue without AIO even if we can't allocate resources for AIO storage/xtradb/srv/srv0start.c: Give an error message (instead of core dump) if AIO can't be initialized
* | automatic merge with 5.5Michael Widenius2012-06-2799-1567/+3329
|\ \ | |/
| * Merge 5.3->5.5.Igor Babaev2012-06-241-0/+2
| |\
| | * Merge 5.2->5.3Igor Babaev2012-06-231-0/+2
| | |\
| | | * Fixed bug mdev-360.Igor Babaev2012-06-231-0/+2
| | | | | | | | | | | | | | | | | | | | The bug was the result of the incomplete fix for bug lp bug 1008293.
| * | | MDEV-349 5.5 xtradb innodb_prefix_index_liftedlimit crash with valgrindSergei Golubchik2012-06-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is XtraDB bug lp:1015109, introduced by innodb_split_buf_pool_mutex.patch Comment the offending assertion, until the fixed XtraDB is available
| * | | MDEV-361 - Fix handle leak in os_thread_create (Windows)Vladislav Vaintroub2012-06-212-4/+8
| | | |
| * | | Fixed MDEV-348: 5.5 valgrind warinings on maria testsMichael Widenius2012-06-201-14/+20
| | | |
| * | | mergeSergei Golubchik2012-06-1692-1542/+3290
| |\ \ \
| | * | | merged with XtraDB 1.1.8-26.0Sergei Golubchik2012-06-1581-1522/+3137
| | | | |
| | * | | commentsSergei Golubchik2012-06-151-0/+3
| | | | |
| | * | | mysql-5.5 mergeSergei Golubchik2012-06-1410-19/+52
| | |\ \ \
| | | * \ \ Merging from mysql-5.1 to mysql-5.5. Annamalai Gurusami2012-05-103-0/+28
| | | |\ \ \
| | | | * | | Bug #14007649 65111: INNODB SOMETIMES FAILS TO UPDATE ROWS INSERTED Annamalai Gurusami2012-05-106-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BY A CONCURRENT TRANSACTIO The member function QUICK_RANGE_SELECT::init_ror_merged_scan() performs a table handler clone. Innodb does not provide a clone operation. The ha_innobase::clone() is not there. The handler::clone() does not take care of the ha_innobase->prebuilt->select_lock_type. Because of this what happens is that for one index we do a locking read, and for the other index we were doing a non-locking (consistent) read. The patch introduces ha_innobase::clone() member function. It is implemented similar to ha_myisam::clone(). It calls the base class handler::clone() and then does any additional operation required. I am setting the ha_innobase->prebuilt->select_lock_type correctly. rb://1060 approved by Marko
| | | | * | | Merge from mysql-5.1.63-releaseSunanda Menon2012-05-0810-0/+81
| | | | |\ \ \
| | | * | \ \ \ Merge 5.5.24 back into main 5.5.Joerg Bruehe2012-05-078-17/+74
| | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a weave merge, but without any conflicts. In 14 source files, the copyright year needed to be updated to 2012.
| | | * \ \ \ \ \ Bug#11758510 (#50723): INNODB CHECK TABLE FATAL SEMAPHORE WAIT TIMEOUT ↵Yasufumi Kinoshita2012-04-274-4/+10
| | | |\ \ \ \ \ \ | | | | | |/ / / / | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | POSSIBLY TOO SHORT FOR BI Fixed not to check timeout during the check table.
| | | | * | | | | Bug#11758510 (#50723): INNODB CHECK TABLE FATAL SEMAPHORE WAIT TIMEOUT ↵Yasufumi Kinoshita2012-04-278-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | POSSIBLY TOO SHORT FOR BI Fixed not to check timeout during the check table.
| | | * | | | | | merge from 5.1irana2012-04-261-1/+1
| | | |\ \ \ \ \ \ | | | | |/ / / / /
| | | | * | | | | InnoDB: Adjust error message when a dropped tablespace is accessed.irana2012-04-261-1/+1
| | | | | | | | |
| | | * | | | | | Bug#13990648: 65061: LRU FLUSH RATE CALCULATION IS BASED ON INVALID VALUESInaam Rana2012-04-231-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rb://1043 approved by: Sunny Bains Two internal counters were incremented twice for a single operations. The counters are: srv_buf_pool_flushed buf_lru_flush_page_count
| | | * | | | | | Bug#12677594 - 61575: INNODB: WARNING: IO_SETUP() FAILED WITH EAGAIN.Inaam Rana2012-04-231-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rb://1033 approved by: Marko Makela Check return value from os_aio_init() and refuse to start if it fails.
| | * | | | | | | apply mysql fix for bug#58421 to XtraDBSergei Golubchik2012-06-081-1/+98
| | | | | | | | |
| * | | | | | | | Fixed MDEV-306 / LP:1007967 - Assertion `table->file->stats.records > 0 || ↵Michael Widenius2012-06-154-9/+11
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | error' failed join_read_const_table on concurrent SELECT and DROP/ADD INDEX sql/sql_table.cc: Added comment storage/maria/ma_close.c: Don't store history if it's visible to all. This fixed the MDEV-306 bug storage/maria/ma_delete_table.c: Removed old comment Delete history state for deleted tables storage/maria/ma_info.c: More DBUG_PRINT storage/maria/ma_open.c: More DBUG_PRINT
* | | | | | | | Merge with 5.5Michael Widenius2012-06-083-9/+45
|\ \ \ \ \ \ \ \ | |/ / / / / / /
| * | | | | | | Mergeunknown2012-06-061-1/+0
| |\ \ \ \ \ \ \ | | | |_|_|_|/ / | | |/| | | | |
| | * | | | | | MDEV-308 lp:1008516 - Failing assertion: templ->mysql_col_len == lenSergei Golubchik2012-06-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | remove the offending assert. take the test case from mysql Bug#58015
| * | | | | | | merge with 5.3.Sergei Golubchik2012-06-042-8/+45
| |\ \ \ \ \ \ \ | | |/ / / / / / | | | | | | | | | | | | | | | | Take only test cases from MDEV-136 Non-blocking "set read_only"
| | * | | | | | MDEV-294 SELECT WHERE ST_CONTAINS doesn't return all the records where ↵Alexey Botchkov2012-05-292-8/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ST_CONTAINS() is 1. Optimizator fails using index with ST_Within(g, constant_poly). per-file comments: mysql-test/r/gis-rt-precise.result test result fixed. mysql-test/r/gis-rtree.result test result fixed. mysql-test/suite/maria/r/maria-gis-rtree-dynamic.result test result fixed. mysql-test/suite/maria/r/maria-gis-rtree-trans.result test result fixed. mysql-test/suite/maria/r/maria-gis-rtree.result test result fixed. storage/maria/ma_rt_index.c Use MBR_INTERSECT mode when optimizing the select WITH ST_Within. storage/myisam/rt_index.c Use MBR_INTERSECT mode when optimizing the select WITH ST_Within.
| | * | | | | | 5.2 mergeSergei Golubchik2012-05-2031-216/+376
| | |\ \ \ \ \ \ | | | | |_|_|_|/ | | | |/| | | |
| | | * | | | | 5.1 mergeSergei Golubchik2012-05-1831-216/+376
| | | |\ \ \ \ \
| | | | * \ \ \ \ merge with mysql-5.1.63Sergei Golubchik2012-05-1731-216/+376
| | | | |\ \ \ \ \ | | | | | | |_|_|/ | | | | | |/| | |
| | | | | * | | | merge mysql-5.1->mysql-5.1-securityGeorgi Kodinov2012-04-104-8/+8
| | | | | |\ \ \ \ | | | | | | | |/ / | | | | | | |/| |
* | | | | | | | | Fixed build failures found by buildbotMichael Widenius2012-06-054-2/+7
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added suppression of warnings - Fixed some test cases BUILD/FINISH.sh: Added AM_EXTRA_MAKEFLAGS BUILD/SETUP.sh: Added option --extra-makeflags client/mysqldump.c: Added suppression mysql-test/r/mysql.result: Updated results mysql-test/r/mysql_upgrade.result: Updated results mysql-test/r/partition_innodb_plugin.result: Updated results mysql-test/r/partition_open_files_limit.result: Updated results mysql-test/r/symlink.result: Updated results mysql-test/suite/innodb/r/innodb-create-options.result: Updated results mysql-test/suite/innodb/t/innodb-create-options.test: Don't print error message (as it's varies on different system) mysql-test/t/mysql.test: Don't print error message (as it's varies on different system) mysql-test/t/mysql_upgrade.test: Fixed checking of error number mysql-test/t/partition_innodb_plugin.test: Don't print error message (as it's varies on different system) plugin/semisync/semisync_master.cc: Added suppression sql/ha_partition.cc: Added suppression sql/item_subselect.cc: Added suppression sql/multi_range_read.cc: Added suppression sql/sql_parse.cc: Added suppression sql/sql_select.cc: Added suppression storage/innobase/handler/ha_innodb.cc: Removed not used variable storage/maria/ma_delete.c: Added suppression storage/maria/ma_key_recover.c: Added suppression storage/maria/ma_write.c: Added suppression strings/ctype-ucs2.c: Added suppression support-files/compiler_warnings.supp: Added suppressions unittest/mysys/my_vsnprintf-t.c: Fixed test case with %M to also work on Solaris
* | | | | | | | Building RPMs with CPackSergei Golubchik2012-05-222-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | configure with cmake -DRPM=distro
* | | | | | | | cSergei Golubchik2012-05-2111-18/+67
|\ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ | |/| | | | | |
| * | | | | | | merge mysql-5.5->mysql-5.5-securityGeorgi Kodinov2012-04-122-0/+110
| |\ \ \ \ \ \ \ | | | |_|_|_|_|/ | | |/| | | | |
| | * | | | | | Bug#11815557 60269: MYSQL SHOULD REJECT ATTEMPTS TO CREATE SYSTEMunknown2012-04-112-0/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TABLES IN INCORRECT ENGINE PROBLEM: CREATE/ALTER TABLE currently can move system tables like mysql.db, user, host etc, to engines other than MyISAM. This is not completely supported as of now, by mysqld. When some of system tables like plugin, servers, event, func, *_priv, time_zone* are moved to innodb, mysqld restart crashes. Currently system tables can be moved to BLACKHOLE also!!!. ANALYSIS: The problem is that there is no check before creating or moving a system table to some particular engine. System tables are suppose to be residing in MyISAM. We can think of restricting system tables to exist only in MyISAM. But, there could be future needs of these system tables to be part of other engines by design. For eg, NDB cluster expects some tables to be on innodb or ndb engine. This calls for a solution, by which system tables can be supported by any desired engine, with minimal effort. FIX: The solution provides a handlerton interface using which, mysqld server can query particular storage engine handlerton for system tables that it supports. This way each storage engine layer can define their own system database and system tables. The check_engine() function uses the new handlerton function ha_check_if_supported_system_table() to check if db.tablename provided in the DDL is supported by the SE. Note: This fix has modified a test in help.test, which was moving mysql.help_* to innodb. The primary intention of the test was not to move them between engines.
| * | | | | | | merge mysql-5.5->mysql-5.5-securityGeorgi Kodinov2012-04-1010-153/+455
| |\ \ \ \ \ \ \ | | |/ / / / / /
| | * | | | | | Fix Sun Studio compiler warnings due to extra ',' introduced inInaam Rana2012-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rev_id: inaam.rana@oracle.com-20120326134501-23554a8vhjg0wqbm
| * | | | | | | 5.1-security -> 5.5-security mergeSergey Glukhov2012-04-041-0/+1
| |\ \ \ \ \ \ \ | | | |_|_|_|/ / | | |/| | | | |
| | * | | | | | Bug#11766300 59387: FAILING ASSERTION: CURSOR->POS_STATE == 1997660512 ↵Sergey Glukhov2012-04-042-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (BTR_PCUR_IS_POSITIONE Bug#13639204 64111: CRASH ON SELECT SUBQUERY WITH NON UNIQUE INDEX The crash happened due to wrong calculation of key length during creation of reference for sort order index. The problem is that keyuse->used_tables can have OUTER_REF_TABLE_BIT enabled but used_tables parameter(create_ref_for_key() func) does not have it. So key parts which have OUTER_REF_TABLE_BIT are ommited and it could lead to incorrect key length calculation(zero key length). mysql-test/r/subselect_innodb.result: test result mysql-test/t/subselect_innodb.test: test case sql/sql_select.cc: added OUTER_REF_TABLE_BIT to the used_tables parameter for create_ref_for_key() function. storage/innobase/handler/ha_innodb.cc: added assertion, request from Inno team storage/innodb_plugin/handler/ha_innodb.cc: added assertion, request from Inno team
| | * | | | | | merge mysql-5.1->mysql-5.1-securityGeorgi Kodinov2012-03-2111-103/+91
| | |\ \ \ \ \ \
| | * \ \ \ \ \ \ merge mysql-5.1->mysql-5.1-securityGeorgi Kodinov2012-03-0812-109/+200
| | |\ \ \ \ \ \ \
| | * | | | | | | | The innodb plugin module cannot use DEBUG_SYNC_C facility on Windows. Annamalai Gurusami2012-03-011-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Taking care of it.
| | * | | | | | | | Bug#13635833: MULTIPLE CRASHES IN FOREIGN KEY CODE WITH CONCURRENT DDL/DMLAnnamalai Gurusami2012-03-0110-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two threads. In one thread, dml operation is going on involving cascaded update operation. In another thread, alter table add foreign key constraint is happening. Under these circumstances, it is possible for the dml thread to access a dict_foreign_t object that has been freed by the ddl thread. The debug sync test case provides the sequence of operations. Without fix, the test case will crash the server (because of newly added assert). With fix, the alter table stmt will return an error message. Backporting the fix from MySQL 5.5 to 5.1 rb:961 rb:947
| * | | | | | | | | Bug #11880012: INDEX_SUBQUERY, BLACKHOLE,Gleb Shchepa2012-03-281-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HANG IN PREPARING WITH 100% CPU USAGE Infinite loop in the subselect_indexsubquery_engine::exec() function caused Server hang with 100% CPU usage. The BLACKHOLE storage engine didn't update handler's table->status variable after index operations, that caused an infinite "while(!table->status)" execution. Index access methods of the BLACKHOLE engine handler have been updated to set table->status variable to STATUS_NOT_FOUND or 0 when such a method returns a HA_ERR_END_OF_FILE error or 0 respectively. mysql-test/r/blackhole.result: Bug #11880012: INDEX_SUBQUERY, BLACKHOLE, HANG IN PREPARING WITH 100% CPU USAGE New test file for the BLACKHOLE engine. mysql-test/t/blackhole.test: Bug #11880012: INDEX_SUBQUERY, BLACKHOLE, HANG IN PREPARING WITH 100% CPU USAGE New test file for the BLACKHOLE engine. storage/blackhole/ha_blackhole.cc: Bug #11880012: INDEX_SUBQUERY, BLACKHOLE, HANG IN PREPARING WITH 100% CPU USAGE Index access methods of the BLACKHOLE engine handler have been updated to set table->status variable to STATUS_NOT_FOUND or 0 when such a method returns a HA_ERR_END_OF_FILE error or 0 respectively, like we do in MyISAM storage engine.
| * | | | | | | | | Fix Bug #13849910 - INNODB ASSERTS ON TOO LONG TABLENAME WHEN USING PARTITIONSJimmy Yang2012-03-221-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rb://981 approved by Sunny Bains