- 03 Sep, 2007 2 commits
-
-
unknown authored
-
unknown authored
Invaldating a subset of a sufficiently large query cache can take a long time. During this time the server is efficiently frozen and no other operation can be executed. This patch addresses this problem by setting a time limit on how long time a dictionary access request can take before giving up on the attempt. This patch does not work for query cache invalidations issued by DROP, ALTER or RENAME TABLE operations. sql/sql_cache.cc: Changed mutex locking to a timed spinn lock. If access to query cache dictionary takes "a long time" (currently more than 0.1 seconds) the system fall backs on ordinary statement execution.
-
- 27 Jul, 2007 1 commit
-
-
unknown authored
When a table was explicitly locked with LOCK TABLES no associated tables from any related trigger on the subject table were locked. As a result of this the user could experience unexpected locking behavior and statement failures similar to "failed: 1100: Table'xx' was not locked with LOCK TABLES". This patch fixes this problem by making sure triggers are pre-loaded on any statement if the subject table was explicitly locked with LOCK TABLES. mysql-test/r/sp-prelocking.result: Added test case mysql-test/t/sp-prelocking.test: Added test case sql/sql_lex.cc: - Moved some conditional logic out of the table iteration. - Added event map values for LOCK TABLE command. sql/table.cc: - Refactored set_trg_event_tpye into the two simpler functions set_trg_event_map and set_trg_event_map as methods for manipulating the table event map. The original function was only called from st_lex::set_trg_event_type_for_tables so it was possible to move the event map creation logic to this function as a loop optimization. sql/table.h: - Refactored set_trg_event_tpye into the two simpler functions set_trg_event_map and set_trg_event_map as methods for manipulating the table event map. The original function was only called from st_lex::set_trg_event_type_for_tables so it was possible to move the event map creation logic to this function as a loop optimization.
-
- 24 Jul, 2007 1 commit
-
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.0-runtime
-
- 21 Jul, 2007 1 commit
-
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.0-runtime mysql-test/r/create.result: Auto merged mysql-test/t/create.test: Auto merged sql/sql_class.h: Auto merged
-
- 20 Jul, 2007 5 commits
-
-
unknown authored
into mysql.com:/home/kent/bk/tmp3/mysql-5.0-build libmysql/libmysql.c: Auto merged scripts/make_binary_distribution.sh: Auto merged sql/field.cc: Auto merged
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/29898-bug-5.0-opt-mysql
-
unknown authored
-
unknown authored
into trift-lap.none:/MySQL/M50/push-5.0
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build configure.in: Auto merged libmysql/libmysql.c: Auto merged scripts/make_binary_distribution.sh: Auto merged sql/field.cc: Auto merged
-
- 19 Jul, 2007 16 commits
-
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt sql/set_var.cc: Auto merged sql/sql_class.h: Auto merged
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0.46 configure.in: Auto merged libmysql/libmysql.c: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged
-
unknown authored
CMakeLists.txt: BUG#20815 Set stack size. This value is really supposed to be the linker's default. I'm not quite sure why we have to specify it manually too.
-
unknown authored
The Item_date_typecast::val_int function doesn't reset null_value flag. This makes all values that follows the first null value to be treated as nulls and led to a wrong result. Now the Item_date_typecast::val_int function correctly sets the null_value flag for both null and non-null values. mysql-test/t/cast.test: Added a test case for the bug#29898: Item_date_typecast::val_int doesn't reset the null_value flag. mysql-test/r/cast.result: Added a test case for the bug#29898: Item_date_typecast::val_int doesn't reset the null_value flag. sql/item_timefunc.cc: Bug#29898: Item_date_typecast::val_int doesn't reset the null_value flag. Now the Item_date_typecast::val_int function correctly sets the null_value flag for both null and non-null values.
-
unknown authored
into trift2.:/MySQL/M50/push-5.0
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/29850-bug-5.0-opt-mysql
-
unknown authored
a temporary table. The result string of the Item_func_group_concat wasn't initialized in the copying constructor of the Item_func_group_concat class. This led to a wrong charset of GROUP_CONCAT result when the select employs a temporary table. The copying constructor of the Item_func_group_concat class now correctly initializes the charset of the result string. mysql-test/t/func_gconcat.test: Added a test case for the bug#29850: Wrong charset of the GROUP_CONCAT result when the select employs a temporary table. mysql-test/r/func_gconcat.result: Added a test case for the bug#29850: Wrong charset of the GROUP_CONCAT result when the select employs a temporary table. sql/item_sum.cc: Bug#29850: Wrong charset of GROUP_CONCAT result when the select employs a temporary table. The copying constructor of the Item_func_group_concat class now correctly initializes the charset of the result string.
-
unknown authored
into mysql.com:/home/hf/work/29687/my50-29687
-
unknown authored
into mysql.com:/home/hf/work/29687/my50-29687
-
unknown authored
into bk-internal.mysql.com:/data0/bk/tsmith-tmp/mysql-5.0-maint
-
unknown authored
for consistency.
-
unknown authored
No test case, since the bug requires a stress case with 30 INSERT DELAYED threads and 1 killer thread to repeat. The patch is verified manually. Review fixes. The server that is running DELAYED inserts would deadlock itself or crash under high load if some of the delayed threads were KILLed in the meanwhile. The fix is to change internal lock acquisition order of delayed inserts subsystem and to ensure that Delayed_insert::table_list::db does not point to volatile memory in some cases. For details, please see a comment for sql_insert.cc. sql/sql_insert.cc: A fix for Bug#29431 killing an insert delayed thread causes crash 1) The deadlock was caused by different lock acquisition order between delayed_get_table and handle_delayed_insert. delayed_get_table would: - acquire LOCK_delayed_create - create a new Delayed_insert instance - acquire instance mutex (di->mutex) - "lock the instance in memory" by increasing di->locked_in_memory variable - start the delayed thread - release di->mutex - let the delayed thread open the delayed table - discover that the delayed thread was killed - try to unlock() the delayed insert instance in memory - in Delayed_insert::unlock() do * lock LOCK_delayed_insert * decrease locks_in_memory and discover it's 0 * attempt to lock di->mutex to broadcast di->cond condition <-- deadlock here Meanwhile, the delayed thread would * lock di->mutex * open the table * get killed * not notice that and attempt to lock LOCK_delayed_insert to register itself in the delayed insert list <-- deadlock here. Simply put, delayed_get_table used to lock LOCK_delayed_insert and then di->mutex, and handle_delayed_insert would lock di->mutex and then LOCK_delayed_insert. Fixed by moving registration in the list of delayed insert threads from handle_delayed_insert to delayed_get_table - so that now handle_delayed_insert doesn't need to acquire LOCK_delayed_insert mutex. 2) di->table_list.db was copied by-pointer from table_list.db of the first producer -- the one who initiated creation of the delayed insert thread. This producer might be long gone when the member is needed (handle_delayed_insert:open_ltable), e.g. by having been killed with KILL CONNECTION statement. Fixed by using a pointer to the consumer's deep copy of THD::db. 3) In find_handler, we shouldn't assume that Delayed_insert object already (or still) has a table opened all the time it is present in the delayed insert list. E.g. it's not the case when Delayed_insert decided to terminate, closed the table, but haven't yet unregistered from the list (see the end of handle_delayed_insert).
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt sql/ha_myisam.cc: Auto merged sql/sql_select.cc: Auto merged
-
unknown authored
by renaming "include/md5.h" to "include/my_md5.h". Fixes bug#14151. include/my_md5.h: Rename: include/md5.h -> include/my_md5.h
-
unknown authored
i5 compatibility sql/field.h: i5 compatibility sql/field.cc: i5 compatibility
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
- 18 Jul, 2007 7 commits
-
-
unknown authored
For each view the mysqldump utility creates a temporary table with the same name and the same columns as the view in order to satisfy views that depend on this view. After the creation of all tables, mysqldump drops all temporary tables and creates actual views. However, --skip-add-drop-table and --compact flags disable DROP TABLE statements for those temporary tables. Thus, it was impossible to create the views because of existence of the temporary tables with the same names. client/mysqldump.c: Fixed bug #28524. The mysqldump utility has been modified to unconditionally drop temporary tables before the creation of views. mysql-test/t/mysqldump.test: Updated test case for bug #28524 and updated result of previous tests. mysql-test/r/mysqldump.result: Updated test case for bug #28524 and updated result of previous tests.
-
unknown authored
Allow to set mysqld exe suffix sql/CMakeLists.txt: Allow to set mysqld exe suffix win/configure.js: Allow to set mysqld exe suffix
-
unknown authored
function results in inconsistent behavior. The bug itself was fixed by the patch for bug 20662. mysql-test/r/sp-prelocking.result: Update results (Bug#22427) mysql-test/t/sp-prelocking.test: Add a test case for Bug#22427 create table if not exists + stored function results in inconsistent behavior
-
unknown authored
table (datadir) Set errno when retunring an error in my_create_with_symlink. mysys/my_symlink2.c: Bug #29325: set errno when retunring an error in my_create_with_symlink
-
unknown authored
Fix the typo in the constructor. Cover a semantic check that previously never worked with a test. mysql-test/r/create.result: Update results (Bug#26104) mysql-test/r/innodb.result: Update results. mysql-test/t/create.test: Add a test case for Bug#26104 Bug on foreign key class constructor mysql-test/t/innodb.test: Return a new error number (MySQL error instead of internal InnoDB error). sql/sql_class.h: A fix for Bug#26104 Bug on foreign key class constructor -- fix the typo in the constructor
-
unknown authored
table. The bug itself is yet another manifestation of Bug 26141. mysql-test/r/trigger.result: Update results. mysql-test/t/trigger.test: Add a test case for Bug#27248 Triggers: error if insert affects temporary table
-
unknown authored
-
- 17 Jul, 2007 7 commits
-
-
unknown authored
-
unknown authored
into trift2.:/MySQL/M50/push-5.0
-
unknown authored
into trift2.:/MySQL/M50/push-5.0
-
unknown authored
-
unknown authored
into ramayana.hindu.god:/home/tsmith/m/bk/maint/50 sql/mysql_priv.h: Auto merged
-
unknown authored
into ramayana.hindu.god:/home/tsmith/m/bk/maint/41
-
unknown authored
Fixing bug#25486: mysqld_multi.server.sh missing from builds support-files/Makefile.am: Handle "mysqld_multi.server.sh" like other shell scripts. Fixing bug#25486.
-