summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* updated sys_vars.cc (converting 5.3 mysqld.cc and set_var.ccSergei Golubchik2010-11-265-204/+160
| | | | | changes appropriately)
* merge.Sergei Golubchik2010-11-252732-20857/+867460
|\ | | | | | | | | | | checkpoint. does not compile.
| * MergeIgor Babaev2010-11-094-3/+82
| |\
| | * Fixed LP bug #668644.Igor Babaev2010-11-084-3/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pushdown condition for the sorted table in a query can be complemented by the conditions from HAVING. This transformation is done in JOIN::exec pretty late after the original pushdown condition have been saved in the field pre_idx_push_select_cond for the sorted table. So this field must be updated after the inclusion of the condition from HAVING.
| * | Fixed LP BUG#615378 Incorrect processing of NULL result in Item_cache fixed.unknown2010-11-093-30/+157
| | |
| * | Fix buildbot failure introduced by the previous pushSergey Petrunya2010-11-091-1/+0
| | |
| * | Fix buildbot failures caused by two previous pushes.Sergey Petrunya2010-11-081-4/+3
| | |
| * | Fix buildbot errors: rec_per_key_part can be 0 if re-openingSergey Petrunya2010-11-081-1/+1
| | |
| * | [Patch from Monty] Fix stack-overrun crash in subselect_notembedded.testSergey Petrunya2010-11-081-6/+22
| |/ | | | | | | - Make mi_open() use less stack space
| * Automerge with 5.2Michael Widenius2010-11-0557-314/+905
| |\
| | * Automatic merge with MariaDB 5.1Michael Widenius2010-11-0414-55/+152
| | |\
| | | * Automatic mergeMichael Widenius2010-11-042-35/+43
| | | |\
| | | | * When scanning pages, stop when you are at 'data_file_length'.Michael Widenius2010-11-042-35/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug that gave ER_FILE_TOO_SHORT error when scanning Aria tables. storage/maria/ma_blockrec.c: Changed code so that we update share->state.state.data_file_length after page cache write is done. When scanning pages, stop when you are at 'data_file_length'. (We can't trust the bitmap as there may be reserved pages in the bitmap that are not yet written). This fixes a bug that gave ER_FILE_TOO_SHORT error when scanning Aria tables. storage/maria/maria_def.h: Updated struct for stopping scanning at end of file
| | | * | MBug#643463: slow XtraDB shutdown due to 10 second sleep in purge threadunknown2010-11-0312-20/+109
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement os_event_wait_time() for POSIX systems. In the purge thread, use os_event_wait_time() when sleeping rather than sleep, and signal the event when server shuts down, so we do not need to wait for upto 10 seconds until the purge thread wakes up. Also fix bug that warnings that were pushed after we call set_ok_status() were not included in the waning count sent to the client in the result packet. Also in mysqltest, in recursive die() invocation at least print the message before aborting. client/mysqltest.cc: If we detect recursive die(), at least print the message before aborting. mysql-test/r/warnings_debug.result: Test case. mysql-test/t/warnings_debug.test: Test case. sql/handler.cc: Force generation of a warning with specific debug option, for testing. sql/protocol.cc: Fix wrong DBUG_ENTER sql/sql_class.h: Add method to count warnings pushed after set_ok_status() is called. sql/sql_error.cc: Also count warnings pushed after set_ok_status() is called. storage/xtradb/include/os0sync.h: Implement working os_sync_wait_time() for POSIX. storage/xtradb/include/srv0srv.h: Make the purge thread wait for an event when sleeping, so we can signal it to wakeup immediately at shutdown. storage/xtradb/log/log0log.c: Make the purge thread wait for an event when sleeping, so we can signal it to wakeup immediately at shutdown. storage/xtradb/os/os0sync.c: Implement working os_sync_wait_time() for POSIX. storage/xtradb/srv/srv0srv.c: Make the purge thread wait for an event when sleeping, so we can signal it to wakeup immediately at shutdown.
| | * | Automatic merge with 5.1Michael Widenius2010-11-0447-259/+753
| | |\ \ | | | |/
| | | * Fixed compile error when not using gcc (crashes at least on windows)Michael Widenius2010-11-031-1/+1
| | | |
| | | * Automatic mergeMichael Widenius2010-11-037-11/+86
| | | |\
| | | | * Fixed compiler & valgrind warnings from my previous push.Michael Widenius2010-11-037-11/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed a bug in Aria when two threads was inserting into the same table and row page and one thread did an abort becasue of duplicate key. mysys/thr_lock.c: Fixed valgrind warning sql/sql_base.cc: Remove not used variable storage/maria/ma_bitmap.c: Added ma_bitmap_lock() & ma_bitmap_unlock() to protect against two threads using the bitmap at the same time. More DBUG_PRINT() storage/maria/ma_blockrec.c: Fixed a bug in Aria when two threads was inserting into the same table and row page and one thread did an abort becasue of duplicate key. Fix was that we block other threads to modify the bitmap while we are removing the row with a duplicate key. storage/maria/ma_blockrec.h: Added ma_bitmap_lock() & ma_bitmap_unlock() to protect against two threads using the bitmap at the same time. storage/maria/maria_def.h: Changed flush_all_requested to be a counter. storage/myisam/mi_locking.c: Fixed compiler error on windows (typo).
| | | * | #endif fixed.unknown2010-11-022-4/+2
| | | |/
| | | * Fix for: LP #634955: Assert in _ma_update_at_original_place()Michael Widenius2010-11-0244-245/+666
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added locking of lock mutex when updating status in external_unlock() for Aria and MyISAM tables. Fixed that 'source' command doesn't cause mysql command line tool to exit on error. DEBUG_EXECUTE() and DEBUG_EVALUATE_IF() should not execute things based on wildcards. (Allows one to run --debug with mysql-test-run scripts that uses @debug) Fixed several core dump, deadlock and crashed table bugs in handling of LOCK TABLE with MERGE tables: - Added priority of locks to avoid crashes with MERGE tables. - Added thr_lock_merge() to allow one to merge two results of thr_lock(). Fixed 'not found row' bug in REPLACE with Aria tables. Mark MyISAM tables that are part of MERGE with HA_OPEN_MERGE_TABLE and set the locks to have priority THR_LOCK_MERGE_PRIV. - By sorting MERGE tables last in thr_multi_unlock() it's safer to release and relock them many times (can happen when TRIGGERS are created) Avoid printing (null) in debug file (to easier find out wrong NULL pointer usage with %s). client/mysql.cc: Fixed that 'source' command doesn't cause mysql command line tool to exit on error. client/mysqltest.cc: Don't send NULL to fn_format(). (Can cause crash on Solaris when using --debug) dbug/dbug.c: DEBUG_EXECUTE() and DEBUG_EVALUATE_IF() should not execute things based on wildcards. include/my_base.h: Added flag to signal if one opens a MERGE table. Added extra() command to signal that one is not part of a MERGE table anymore. include/thr_lock.h: Added priority for locks (needed to fix bug in thr_lock when using MERGE tables) Added option to thr_unlock() if get_status() should be called. Added prototype for thr_merge_locks(). mysql-test/mysql-test-run.pl: Ignore crashed table warnings for tables named 'crashed'. mysql-test/r/merge.result: Renamed triggers to make debugging easier. Added some CHECK TABLES to catch errors earlier. Additional tests. mysql-test/r/merge_debug.result: Test of error handling when reopening MERGE tables. mysql-test/r/udf_query_cache.result: Added missing flush status mysql-test/suite/parts/r/partition_repair_myisam.result: Update results mysql-test/t/merge.test: Renamed triggers to make debugging easier. Added some CHECK TABLES to catch errors earlier. Additional tests. mysql-test/t/merge_debug.test: Test of error handling when reopening MERGE tables. mysql-test/t/udf_query_cache.test: Added missing flush status mysys/my_getopt.c: Removed not used variable mysys/my_symlink2.c: Changed (null) to (NULL) to make it easier to find NULL arguments to DBUG_PRINT() functions. (On linux, NULL to sprintf is printed 'null') mysys/thr_lock.c: Added priority of locks to avoid crashes with MERGE tables. Added thr_lock_merge() to allow one to merge two results of thr_lock(). - This is needed for MyISAM as all locked table must share the same status. If not, you will not see newly inserted rows in other instances of the table. If calling thr_unlock() with THR_UNLOCK_UPDATE_STATUS, call update_status() and restore_status() for the locks. This is needed in some rare cases where we call thr_unlock() followed by thr_lock() without calling external_unlock/external_lock in between. Simplify loop in thr_multi_lock(). Added 'start_trans', which is called at end of thr_multi_lock() when all locks are taken. - This was needed by Aria to ensure that transaction is started when we got all locks, not at get_status(). Without this, some rows could not be visible when we lock two tables at the same time, causing REPLACE using two tables to fail unexpectedly. sql/handler.cc: Add an assert() in handler::print_error() for "impossible errors" (like table is crashed) when --debug-assert-if-crashed-table is used. sql/lock.cc: Simplify mysql_lock_tables() code if get_lock_data() returns 0 locks. Added new parameter to thr_multi_unlock() In mysql_unlock_read_tables(), call first externa_unlock(), then thr_multi_unlock(); This is same order as we do in mysql_unlock_tables(). Don't abort locks in mysql_lock_abort() for merged tables when a MERGE table is deleted; Would cause a spin lock. Added call to thr_merge_locks() in mysql_lock_merge() to ensure consistency in thr_locks(). - New locks of same type and table is stored after the old lock to ensure that we get the status from the original lock. sql/mysql_priv.h: Added debug_assert_if_crashed_table sql/mysqld.cc: Added --debug-assert-if-crashed-table sql/parse_file.cc: Don't print '(null)' in DBUG_PRINT of no dir given sql/set_var.cc: Increase default size of buffer for @debug variable. sql/sql_base.cc: In case of error from reopen_table() in reopen_tables(), call unlock_open_table() and restart loop. - This fixed bug when we twice deleted same table from open_cache. Don't take name lock for already name locked table in open_unireg_entry(). - Fixed bug when doing repair in reopen_table(). - In detach_merge_children(), always detach if 'clear_refs' is given. We can't trust parent->children_attached as this function can be called twice, first time with clear_refs set to 0. sql/sql_class.cc: Changed printing of (null) to "" in set_thd_proc_info() sql/sql_parse.cc: Added DBUG sql/sql_trigger.cc: Don't call unlink_open_table() if reopen_table() fails as the table may already be freed. storage/maria/ma_bitmap.c: Fixed DBUG_ASSERT() in allocate_tail() storage/maria/ma_blockrec.c: Fixed wrong calculation of row length for very small rows in undo_row_update(). - Fixes ASSERT() when doing undo. storage/maria/ma_blockrec.h: Added _ma_block_start_trans() and _ma_block_start_trans_no_versioning() storage/maria/ma_locking.c: Call _ma_update_status_with_lock() when releasing write locks. - Fixes potential problem with updating status without the proper lock. storage/maria/ma_open.c: Changed to use start_trans() instead of get_status() to ensure that we see all rows in all locked tables when we got the locks. - Fixed 'not found row' bug in REPLACE with Aria tables. storage/maria/ma_state.c: Added _ma_update_status_with_lock() and _ma_block_start_trans(). This is to ensure that we see all rows in all locked tables when we got the locks. storage/maria/ma_state.h: Added _ma_update_status_with_lock() storage/maria/ma_write.c: More DBUG_PRINT storage/myisam/mi_check.c: Fixed error message storage/myisam/mi_extra.c: Added HA_EXTRA_DETACH_CHILD: - Detach MyISAM table to not be part of MERGE table (remove flag & lock priority). storage/myisam/mi_locking.c: Call mi_update_status_with_lock() when releasing write locks. - Fixes potential problem with updating status without the proper lock. Change to use new HA_OPEN_MERGE_TABLE flag to test if MERGE table. Added mi_fix_status(), called by thr_merge(). storage/myisam/mi_open.c: Added marker if part of MERGE table. Call mi_fix_status() in thr_lock() for transactional tables. storage/myisam/myisamdef.h: Change my_once_flag to uint, as it stored different values than just 0/1 Added 'open_flag' to store state given to mi_open() storage/myisammrg/ha_myisammrg.cc: Add THR_LOCK_MERGE_PRIV to THR_LOCK_DATA to get MERGE locks sorted after other types of locks. storage/myisammrg/myrg_locking.c: Remove windows specific code. storage/myisammrg/myrg_open.c: Use HA_OPEN_MERGE_TABLE to mi_open(). Set HA_OPEN_MERGE_TABLE for linked MyISAM tables. storage/xtradb/buf/buf0buf.c: Fixed compiler warning storage/xtradb/buf/buf0lru.c: Initialize variable that could be used not initialized.
| * | | Fixed usage of wrong variable in case of errorsMichael Widenius2010-11-051-2/+2
| | | |
| * | | MergeIgor Babaev2010-11-023-0/+183
| |\ \ \
| | * \ \ MergeIgor Babaev2010-11-0223-251/+139
| | |\ \ \
| | * | | | Fixed LP bug #669420.Igor Babaev2010-11-023-0/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug in the MRR code for Maria engine caused wrong results when MRR was used to scan ranges for each record. Added test cases for bugs 669420 and 669423 (as a duplicate of 669420).
| * | | | | Removed empty lines.Igor Babaev2010-11-021-4/+0
| | |/ / / | |/| | |
| * | | | mergeSergei Golubchik2010-11-0218-245/+96
| |\ \ \ \
| | * | | | fix windows embeddedSergei Golubchik2010-11-022-5/+4
| | | | | |
| | * | | | merge w/ 5.2Sergei Golubchik2010-11-0216-240/+92
| | |\ \ \ \ | | | | |/ / | | | |/| |
| | | * | | fix LIKE in a vcol function, broken by a fix for mysql bug#54568.Sergei Golubchik2010-10-304-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | don't set view_prepare_mode when opening a base table (either in SHOW CREATE or in I_S.TABLES)
| | | * | | merge w/ 5.1Sergei Golubchik2010-10-298-6/+23
| | | |\ \ \ | | | | | |/ | | | | |/|
| | | | * | mysqltest: Fix reversed error check, causing truncated output when testcase ↵unknown2010-10-291-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fails. Also fix missing zero termination in DBUG_PRINT, causing garbage output in --debug output.
| | | | * | Fix test failure (timeout) in --valgrind tests in Buildbot.unknown2010-10-272-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main.ps_ddl test does SELECT * FROM mysql.general_log; that can be really expensive with --valgrind if previous test cases put lots of data in the general log since last server restart. Fix by truncating the log at test start.
| | | | * | workaround for MySQL BUG#57491Sergei Golubchik2010-10-221-0/+4
| | | | | |
| | | | * | Show the number of warm keycache blocks in SHOW STATUSSergei Golubchik2010-10-201-0/+1
| | | | | |
| | | | * | Make the skip-on-windows check as the first one, as the master-slave include ↵unknown2010-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | fails on windows.
| | | * | | sane implementation of Key_% status variables.Sergei Golubchik2010-10-297-229/+59
| | | | | |
| * | | | | Fixed wrong queue_replace(), which caused timeout failure in ↵Michael Widenius2010-11-026-6/+43
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pbxt.flush_read_lock_kill Fixed compiler warnings. include/queues.h: Added prototype for queue_replace() mysys/queues.c: Fixed wrong queue_replace() mysys/thr_alarm.c: Added DBUG_PRINT sql/item_subselect.cc: Check return value of ha_rnd_init(). (Fixes compiler warnings) sql/sql_class.cc: Fixed wrong test sql/sql_show.cc: Removed not used variable.
| * | | | Fixed bug #665049.Igor Babaev2010-10-293-1/+395
| |/ / / | | | | | | | | | | | | | | | | The bug could cause wrong results for queries over Maria tables when index condition pushdown was used.
| * | | 5.2 mergeSergei Golubchik2010-10-28237-1366/+4684
| |\ \ \ | | |/ /
| | * | fixes for windowsSergei Golubchik2010-10-262-1/+4
| | | |
| | * | merge with 5.1Sergei Golubchik2010-10-25230-1318/+4613
| | |\ \ | | | |/
| | | * better fix for MySQL bugsSergei Golubchik2010-10-204-49/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BUG#26447 prefer a clustered key for an index scan, as secondary index is always slower ... which was fixed to cause BUG#35850 queries take 50% longer ... and was reverted and BUG#39653 prefer a secondary index for an index scan, as clustered key is always slower ... which was fixed to cause BUG#55656 mysqldump takes six days instead of half an hour ... and was amended with a special case workaround sql/opt_range.cc: move get_index_only_read_time() into the handler class sql/sql_select.cc: use cost not an index length when choosing a cheaper index
| | | * build mysqld.exe with federatedx not federatedSergei Golubchik2010-10-201-1/+1
| | | |
| | | * updated test resultsSergei Golubchik2010-10-201-1/+1
| | | |
| | | * fixed a bad mergeSergei Golubchik2010-10-191-8/+0
| | | |
| | | * Merge XtraDB from Percona-server-5.1.51-12 into MariaDB.unknown2010-10-1939-368/+890
| | | |\
| | | | * Merge XtraDB from Percona-server-5.1.51-12 into MariaDB.unknown2010-10-1950-384/+1159
| | | | |\
| | | | | * Updated with changes from lp:percona-server/release-5.1.51-12 as of October ↵unknown2010-10-1951-388/+1168
| | | | | | | | | | | | | | | | | | | | | | | | 19, 2010
| | | * | | 5.1.51 mergeSergei Golubchik2010-10-19200-977/+3762
| | | |\ \ \ | | | | |/ / | | | |/| |
| | * | | | forgotten option handledSergei Golubchik2010-10-251-2/+4
| | | | | |