summaryrefslogtreecommitdiff
path: root/storage
Commit message (Collapse)AuthorAgeFilesLines
* Fix compiler warning on Windows.Vladislav Vaintroub2012-01-191-0/+1
|
* MDEV-77 - possible deadlock in XtraDB async io subsystem on Windows.Vladislav Vaintroub2012-01-081-11/+45
| | | | Split IO threads into ones that handle only read completion and ones that handle only write completion, as it was originally done, but got lost with "completion port" patch. The reason we need to have dedicated read and dedicated write threads is that read completion routine can block waiting for write io to complete, and in rare cases where all io threads are handling async reads, it can deadlock.
* Fix unused variable 'thd' error.Sergey Petrunya2011-12-151-1/+1
|
* Merge with 5.2Michael Widenius2011-12-145-9/+25
|\
| * Merge with 5.1Michael Widenius2011-12-131-4/+4
| |\ | | | | | | | | | Updated version number in configure
| | * Fix GCC build failure in PBXT in some cases/platforms.unknown2011-12-121-4/+4
| | |
| * | Fixed bug: lp:887051 ; Error in recovery with LOAD DATA + DELETEMichael Widenius2011-12-134-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/suite/maria/r/maria-recovery3.result: Added test case for recovery bug mysql-test/suite/maria/t/maria-recovery3.test: Added test case for recovery bug storage/maria/ha_maria.cc: Don't print query twice to log storage/maria/ma_delete.c: More DBUG_PRINT storage/maria/ma_key_recover.c: Added new asserts to detect errors earlier storage/maria/ma_recovery.c: Update all states when moving a non-transactional file to transactional. This fixes lp:887051
* | | 5.2->5.3 mergeSergei Golubchik2011-12-122-97/+97
|\ \ \ | |/ /
| * | update testsSergei Golubchik2011-12-031-96/+96
| | |
* | | Merge with 5.2.Michael Widenius2011-12-11334-6377/+7594
|\ \ \ | |/ / | | | | | | no_error handling for select (used by INSERT ... SELECT) still needs to be fixed, but I will do that in a separate commit
| * | Fixed buildbot warningsMichael Widenius2011-12-031-2/+1
| | | | | | | | | | | | | | | | | | | | | mysql-test/suite/maria/t/compat_aliases-master.opt: Fixed wrong limit storage/example/ha_example.cc: Fixed compiler warning
| * | Fixed some Aria limits to be more saneMichael Widenius2011-12-021-3/+3
| | |
| * | Fixed bug where automaticly zerofilled table was not part of recovery if ↵Michael Widenius2011-12-024-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | crash happended before next checkpoint. mysql-test/suite/maria/r/maria-autozerofill.result: Updated test case storage/maria/ha_maria.cc: Write create_rename_lsn for auto_zerofilled tables. storage/maria/ma_delete.c: Added DBUG_ASSERT() to find errors when deleting pages. storage/maria/ma_locking.c: Fixed typo storage/maria/ma_open.c: Don't regard file as movable if create_rename_lsn is not LSN_NEEDS_NEW_STATE_LSNS
| * | Fixed compiler warningMichael Widenius2011-12-011-0/+2
| | |
| * | Merge with 5.1Michael Widenius2011-11-3010-23/+30
| |\ \ | | |/
| | * Fixed compiler warning and errorsMichael Widenius2011-11-301-2/+2
| | | | | | | | | | | | | | | | | | | | | mysql-test/suite/funcs_1/t/is_engines_federated.test: Corrected path storage/xtradb/fil/fil0fil.c: Fixed compiler warning
| | * Fixed compiler warnings and other bugs found by buildbot.Michael Widenius2011-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | client/mysqltest.cc: Free mutex after usage (fixes valgrind warnings in embedded server) mysql-test/include/gis_keys.inc: Fixed failure in innodb.gis_test mysql-test/r/gis.result: Updated result mysql-test/suite/innodb/r/innodb_gis.result: Updated results mysql-test/suite/innodb/t/innodb_bug38231.test: Added handling of timeouts (happend on some servers in buildbot) mysql-test/suite/innodb_plugin/r/innodb_gis.result: Updated results mysql-test/suite/innodb_plugin/t/innodb.test: Use error names instead of numbers mysql-test/suite/innodb_plugin/t/innodb_misc1.test: This test requires utf8 mysql-test/suite/innodb_plugin/t/innodb_mysql.test: This test requires Xtradb sql/sql_base.cc: Don't print table names for placeholders. sql/sql_show.cc: Temporary fix: Save and restore db and table_name in mysqld_show_create (to get rid of valgrind warning) A better solution that needs to be investgated is to not change these fields in mysql_derived_prepare() sql/sql_view.cc: Fixed valgrind warning storage/xtradb/handler/ha_innodb.cc: Don't access THD directly
| | * test both federated and federatedX in the federated suite.Sergei Golubchik2011-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/lib/My/Options.pm: My::Options::is_set() now matches both option names and values! mysql-test/lib/mtr_cases.pm: 1. don't merge --plugin-load here, it's too early 2. don't skip combinations that set --plugin-load just because the test needs another --plugin-load. Skip *only* if test's --plugin-load matches *exactly* --plugin-load of one of the combinations. 3. if skipping all combinations but one, still assign the test to the combination mysql-test/mysql-test-run.pl: 1. remove dead code - don't set variables that aren't used. 2. bugfix: allow one-letter combination names 3. in the command line, merge all --plugin-load options in one storage/federated/ha_federated.cc: bugfix: garbage character in the generated SELECT query
| | * Cherrypick into XtraDB: Bug#13002783 PARTIALLY UNINITIALIZED CASCADE UPDATE ↵unknown2011-11-303-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | VECTOR We merged the test case for this into MariaDB 5.1, but the fix was not yet part of XtraDB.
| | * Fixed compiler warningsMichael Widenius2011-11-307-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dbug/tests.c: Added __attribute__((unused)) to get rid of compiler warning server-tools/instance-manager/guardian.cc: Added __attribute__((unused)) to get rid of compiler warning sql/filesort.cc: Added __attribute__((unused)) to get rid of compiler warning sql/slave.cc: Added __attribute__((unused)) to get rid of compiler warning sql/sql_load.cc: Added __attribute__((unused)) to get rid of compiler warning sql/sql_table.cc: Added __attribute__((unused)) to get rid of compiler warning storage/maria/ma_blockrec.c: Added __attribute__((unused)) to get rid of compiler warning storage/maria/ma_check.c: Added missing cast storage/maria/ma_loghandler.c: Added __attribute__((unused)) to get rid of compiler warning storage/maria/ma_recovery.c: Added __attribute__((unused)) to get rid of compiler warning storage/pbxt/src/cache_xt.cc: Added __attribute__((unused)) to get rid of compiler warning storage/xtradb/fil/fil0fil.c: Removed not used variable storage/xtradb/handler/ha_innodb.cc: Use unused variable vio/viosocket.c: Remove usage of not used variable vio/viosslfactories.c: Added cast
| * | Merge with 5.1 + fixes for build failures in 5.2Michael Widenius2011-11-295-19/+16
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cmd-line-utils/libedit/map.c: Fixed compiler warning cmd-line-utils/libedit/terminal.c: Fixed compiler warning cmd-line-utils/libedit/tty.c: Fixed compiler warning sql/sql_base.cc: Fixed memory leak found by valgrind storage/maria/compat_aliases.cc: Ensure that recover_alias is also a set storage/maria/ma_bitmap.c: Proper fix for compiler warning support-files/compiler_warnings.supp: Fixed compiler warning
| | * Fixed that maria-recover works as expected.Michael Widenius2011-11-293-12/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - "" is now used if no option is set include/maria.h: Added HA_RECOVER_ANY storage/maria/ha_maria.cc: Insert of checking if maria_recover_options == 0, check if any bit is set. Fix maria_recover_names to match bitmap. This fixes that recover options works as expected. storage/maria/ha_maria.h: Insert of checking if maria_recover_options == 0, check if any bit is set. storage/maria/ma_check.c: Fixed wrong print
| | * Fix Windows build, and a conversion truncation warning.Vladislav Vaintroub2011-11-294-9/+8
| | |
| | * Fixed that one can use --maria-recover=backup,forceMichael Widenius2011-11-242-3/+3
| | | | | | | | | | | | (Before we only allowed one option)
| * | merge, fix Windows warningsVladislav Vaintroub2011-11-294-4/+4
| | |
| * | after merge fixesSergei Golubchik2011-11-282-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sql/sql_base.cc: fix a memory leak storage/xtradb/handler/ha_innodb.cc: fix for a visual studio storage/xtradb/row/row0ins.c: valgrind complains about uninitialized variable. incorrect errors in the innodb.test too
| * | Automatic mergeMichael Widenius2011-11-24325-6335/+7537
| |\ \
| | * \ Merge with MariaDB 5.1Michael Widenius2011-11-24341-6406/+7607
| | |\ \ | | | |/
| | | * Fixes for build failuers found by buildbotMichael Widenius2011-11-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/mysql-test-run.pl: Rename MYSQLD -> MYSQLD_SIMPLE_CMD to avoid conflict with new MYSQLD variable from MySQL 5.1 mysql-test/r/innodb_file_format.result: Remove old duplicated test mysql-test/suite/pbxt/r/endspace.result: Update test to last version mysql-test/suite/pbxt/r/heap.result: Removed heap test (not part of pbxt) mysql-test/suite/pbxt/r/select_safe.result: Updated results after error message change mysql-test/suite/pbxt/r/view_grant.result: Removed view test (not part of pbxt) mysql-test/suite/pbxt/t/endspace.test: Update test to last version mysql-test/suite/pbxt/t/heap.test: Removed heap test (not part of pbxt) mysql-test/suite/pbxt/t/view_grant.test: Removed view test (not part of pbxt) mysql-test/t/innodb_file_format.test: Remove old duplicated test mysql-test/t/mysqld_option_err.test: Use renamed variable sql/my_decimal.h: Fixed wrong define storage/maria/ma_loghandler.c: Fixed compiler warning
| | | * Merge with MySQL 5.1.60Michael Widenius2011-11-2392-2480/+1009
| | | |\
| | | | * Bug#13390506 - VALGRIND FAILURE AFTER THE FIX FOR 13371000Inaam Rana2011-11-181-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rb://816 approved by: Marko Makela The title is misleading. This bug was actually introduced by bug 12635227 and was unearthed by a later optimization. We need to free buf_page_t structs that we are allocating using malloc() at shutdown.
| | | | * Merge from mysql-5.1.60-releaseKaren Langford2011-11-1741-1446/+512
| | | | |\
| | | | | * Revert revno:3452.71.32 (Bug#12612184 fix).Marko Mäkelä2011-10-2625-597/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#12612184 RACE CONDITION AFTER BTR_CUR_PESSIMISTIC_UPDATE() The fix introduced potentially more severe crash recovery problems than the bug causes. Revert the fix for now.
| | | | | * Revert most of revno 3560.9.1 (Bug#12704861)Marko Mäkelä2011-10-2627-972/+415
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was an attempt to address problems with the Bug#12612184 fix. Even with this follow-up fix, crash recovery can be broken. Let us fix the bug later.
| | | | | * Bug#13002783 PARTIALLY UNINITIALIZED CASCADE UPDATE VECTORMarko Mäkelä2011-10-255-22/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the ON UPDATE CASCADE clause of FOREIGN KEY constraints, the calculated update vector was not fully initialized. This bug was introduced in the InnoDB Plugin when implementing support for ROW_FORMAT=DYNAMIC. Additionally, the data type information was not initialized, but apparently it has never been needed in this case. Nevertheless, it is not good programming practice to pass uninitialized values around. calc_row_difference(): Declare the update field uninitialized in Valgrind. Copy the data type information as well, except when the field is SQL NULL. In the built-in InnoDB, initialize ufield->extern_storage = FALSE (an initialization bug that had gone unnoticed this far). The InnoDB Plugin and later have this flag to dfield_t and have always initialized it properly. row_ins_cascade_calc_update_vec(): Reduce the scope of some pointers. Initialize orig_len. (This caused the bug in InnoDB Plugin and later.) row_ins_foreign_check_on_constraint(): Simplify a condition. Declare the update vector uninitialized. rb:771 approved by Jimmy Yang
| | | | * | Bug#11759688 52020: InnoDB can still deadlock on just INSERT...ON DUPLICATE KEYMarko Mäkelä2011-11-105-25/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a.k.a. Bug#7975 deadlock without any locking, simple select and update Bug#7975 was reintroduced when the storage engine API was made pluggable in MySQL 5.1. Instead of looking at thd->lex directly, we rely on handler::extra(). But, we were looking at the wrong extra() flag, and we were ignoring the TRX_DUP_REPLACE flag in places where we should obey it. innodb_replace.test: Add tests for hopefully all affected statement types, so that bug should never ever resurface. This kind of tests should have been added when fixing Bug#7975 in MySQL 5.0.3 in the first place. rb:806 approved by Sunny Bains
| | | | * | Bug#13358468 ASSERTION FAILURE IN BTR_PCUR_GET_BLOCKMarko Mäkelä2011-11-084-41/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | btr_pcur_restore_position_func(): When the cursor was positioned at the tree infimum or supremum, initialize pos_state and latch_mode. The assertion failed, because pos_state was BTR_PCUR_WAS_POSITIONED. In the test failure of WL#5874, the purge thread attempted to restore the cursor position on the infimum record (the clustered index was empty). btr_pcur_detach(), btr_pcur_is_detached(): Unused functions, remove. rb:804 approved by Inaam Rana
| | | | * | Add debug assertions to catch Bug#13345378 earlier.Marko Mäkelä2011-11-072-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In all callers of row_sel_convert_mysql_key_to_innobase(), assert that the converted key is empty or nonempty when it should be.
| | | | * | Bug #12884631 62146: TABLES ARE LOST FOR DDLMarko Mäkelä2011-10-272-1/+7
| | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | row_rename_table_for_mysql(): Return DB_ERROR instead of DB_SUCCESS when fil_rename_tablespace() returns an error. This bug was introduced in the InnoDB Plugin. Approved by Sunny Bains over IM.
| | | | * Merge.Sergey Vojtovich2011-10-212-5/+16
| | | | |\
| | | | | * BUG#11757032 - 49030: OPTIMIZE TABLE BREAKS MYISAM TABLE WHENSergey Vojtovich2011-10-202-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USING MYISAM_USE_MMAP ON WINDOWS When OPTIMIZE/REPAIR TABLE is switching to new data file, old data file is removed while memory mapping is still active. With 5.1 implementation of nt_share_delete() it is not permitted to remove mmaped file. This fix disables memory mapping for mi_repair() operations. mysql-test/r/myisam.result: A test case for BUG#11757032. mysql-test/t/myisam.test: A test case for BUG#11757032. storage/myisam/ha_myisam.cc: mi_repair*() functions family use file I/O even if memory mapping is available. Since mixing mmap I/O and file I/O may cause various artifacts, memory mapping must be disabled. storage/myisam/mi_delete_all.c: Clean-up: do not attempt to remap file after truncate, since there is nothing to map.
| | | | * | Bug#13116045 Compilation failure using GCC 4.6.1 in btr/btr0cur.cMarko Mäkelä2011-10-213-26/+15
| | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | btr_record_not_null_field_in_rec(): Remove the parameter rec. Use rec_offs_nth_sql_null() instead of rec_get_nth_field(). rb:788 approved by Jimmy Yang
| | | | * Bug#13006367 62487: innodb takes 3 minutes to clean up the adaptiveMarko Mäkelä2011-10-1217-386/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hash index at shutdown btr_search_disable(): Just drop the entire adaptive hash index, without dropping every record separately. buf_pool_clear_hash_index(): Renamed and simplified from buf_pool_drop_hash_index(). Set block->index = NULL for every block in the buffer pool. Do not release the btr_search_latch. The caller will have to adjust other data structures. Remove block->is_hashed. It is redundant, should be always equal to block->index != NULL. Remove btr_search_fully_disabled, btr_search_enabled_mutex, and SYNC_SEARCH_SYS_CONF. We drop the AHI in one pass, without releasing the btr_search_latch in between. Replace void* with const rec_t* and add assertions on btr_search_latch and btr_search_enabled to ha0ha.h, ha0ha.ic, ha0ha.c. page_set_max_trx_id(): Ignore the adaptive hash index. I forgot to push this in rb:750. btr0sea.c: Always after acquiring btr_search_latch, check for block->index==NULL or !btr_search_enabled. We can now set block->index=NULL while only holding btr_search_latch in exclusive mode. Always acquire btr_search_latch before reading block->index, except in shortcuts when testing for block->index == NULL. ha_clear(), ha_search(): Unused function, remove. buf_page_peek_if_search_hashed(): Remove. This function may avoid latching a page at the cost of doing a duplicate buf_pool->page_hash lookup. rb:775 approved by Inaam Rana
| | | | * Add InnoDB UNIV_SYNC_DEBUG assertions to rw-lock code.Marko Mäkelä2011-10-054-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rw_lock_x_lock_func(): Assert that the thread is not already holding the lock in a conflicting mode (RW_LOCK_SHARED). rw_lock_s_lock_func(): Assert that the thread is not already holding the lock in a conflicting mode (RW_LOCK_EX).
| | | | * Correct the ChangeLogMarko Mäkelä2011-10-041-3/+4
| | | | |
| | | | * Bug#12980094 and Bug#13034534unknown2011-10-045-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug 12980094 - ASSERTION IN INNODB DETECTED IN RQG_PARTITION_DDL Bug 13034534 - RQG TESTS FAIL ON WINDOWS WITH CRASH NEAR RW_LOCK_DEBUG_PRINT All access to struct rw_lock_debug_struct must be protected by rw_lock_debug_mutex_enter().
| | | | * BUG#11759349 - 51655: CREATE TABLE IN MEMORY ENGINE DOESN'T STOREAshish Agarwal2011-09-273-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CREATE_TIME IN INFORMATION_SC It was impossible to determine MEMORY table creation time, since it wasn't stored/exposed. With this patch creation time is saved and it is available via I_S.TABLES.CREATE_TIME. Note: it was decided that additional analysis is required before implementing UPDATE_TIME. Thus this patch doesn't store UPDATE_TIME.
| | | | * merge from 5.1 mainBjorn Munch2011-09-2627-521/+47
| | | | |\
| | | | | * Bug#12963823 CRASH IN PURGE THREAD UNDER UNUSUAL CIRCUMSTANCESMarko Mäkelä2011-09-223-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace part of the patch that Kevin apparently forgot to push. Fix the bug also in the built-in InnoDB of MySQL 5.1. I cannot explain why the test case was not failing without the full patch. This was rb:762, approved by me.
| | | | | * Bug 12963823 - Crash in Purge thread under unusual circumstances.unknown2011-09-201-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem occurred when indexes are added between the time that an UNDO record is created and the time that the purge thread comes around and deletes the old secondary index entries. The purge thread would hit an assert when trying to build a secondary index entry for searching. The problem was that the old value of those fields were not in the UNDO record since they were not part of an index when the UPDATE occured. A test case was added to innodb-index.test.