- 13 Nov, 2006 3 commits
-
-
unknown authored
This change set implements the DROP TRIGGER IF EXISTS functionality. This fix is considered a bug and not a feature, because without it, there is no known method to write a database creation script that can create a trigger without failing, when executed on a database that may or may not contain already a trigger of the same name. Implementing this functionality closes an orthogonality gap between triggers and stored procedures / stored functions (which do support the DROP IF EXISTS syntax). In sql_trigger.cc, in mysql_create_or_drop_trigger, the code has been reordered to: - perform the tests that do not depend on the file system (access()), - get the locks (wait_if_global_read_lock, LOCK_open) - call access() - perform the operation - write to the binlog - unlock (LOCK_open, start_waiting_global_read_lock) This is to ensure that all the code that depends on the presence of the trigger file is executed in the same critical section, and prevents race conditions similar to the case fixed by Bug 14262 : - thread 1 executes DROP TRIGGER IF EXISTS, access() returns a failure - thread 2 executes CREATE TRIGGER - thread 2 logs CREATE TRIGGER - thread 1 logs DROP TRIGGER IF EXISTS The patch itself is based on code contributed by the MySQL community, under the terms of the Contributor License Agreement (See Bug 18161). mysql-test/r/rpl_trigger.result: DROP TRIGGER IF EXISTS mysql-test/r/trigger.result: DROP TRIGGER IF EXISTS mysql-test/t/rpl_trigger.test: DROP TRIGGER IF EXISTS mysql-test/t/trigger.test: DROP TRIGGER IF EXISTS sql/sql_trigger.cc: DROP TRIGGER IF EXISTS sql/sql_yacc.yy: DROP TRIGGER IF EXISTS
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.0-bg23651 sql/item_func.cc: Auto merged
-
unknown authored
stored function invoked from different connections". Invocation of trigger which was using stored function from different connections caused server crashes (for non-debug server this happened in highly concurrent environment, but debug server failed on assertion in relatively simple scenario). Item_func_sp was not safe to use in triggers (in other words for re-execution from different threads) as artificial TABLE object pointed by Item_func_sp::dummy_table referenced incorrect THD object. To fix the problem we force re-initialization of this object for each re-execution of statement. mysql-test/r/trigger.result: Added test for bug#23651 "Server crashes when trigger which uses stored function invoked from different connections". mysql-test/t/trigger.test: Added test for bug#23651 "Server crashes when trigger which uses stored function invoked from different connections". sql/item_func.cc: To make Item_func_sp safe for usage in triggers (in other words safe for re-execution in different threads) we need to ensure that artificial TABLE object pointed by Item_func_sp::dummy_table references correct THD object. To achieve this we simply force its re-initialization for each re-execution of statement.
-
- 12 Nov, 2006 1 commit
-
-
unknown authored
into bodhi.local:/opt/local/work/mysql-5.0-runtime
-
- 11 Nov, 2006 3 commits
-
-
unknown authored
into mysql.com:/Users/kent/mysql/bk/mysql-5.0
-
unknown authored
Test for base directory when a RPM install corrected mysql-test/mysql-test-run.pl: Test for base directory when a RPM install corrected
-
unknown authored
into bodhi.local:/opt/local/work/mysql-5.0-runtime configure.in: Auto merged include/my_time.h: Auto merged mysql-test/r/func_time.result: Auto merged mysql-test/r/rename.result: Auto merged mysql-test/t/func_time.test: Auto merged mysql-test/t/im_daemon_life_cycle.imtest: Auto merged sql-common/my_time.c: Auto merged sql/item_timefunc.cc: Auto merged sql/time.cc: Auto merged mysql-test/t/rename.test: Use local (resolve a conflict)
-
- 10 Nov, 2006 15 commits
-
-
unknown authored
into trift2.:/MySQL/M50/push-5.0
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
-
unknown authored
into trift2.:/MySQL/M50/push-5.0 BitKeeper/deleted/.del-gcc.cpp~3d2e013cfac48838: Auto merged
-
unknown authored
into trift2.:/MySQL/M50/push-5.0 BitKeeper/deleted/.del-gcc.cpp~3d2e013cfac48838: Auto merged configure.in: Auto merged include/my_time.h: Auto merged mysql-test/install_test_db.sh: Auto merged mysql-test/mysql-test-run.sh: Auto merged mysql-test/r/func_time.result: Auto merged mysql-test/r/rename.result: Auto merged mysql-test/t/func_time.test: Auto merged mysql-test/t/rename.test: Auto merged sql/item_timefunc.cc: Auto merged sql/mysql_priv.h: Auto merged sql-common/my_time.c: Auto merged sql/time.cc: Auto merged myisam/sort.c: Manual merge: "use local" (= 5.0 version). mysql-test/mysql-test-run.pl: Manual merge, part of the fix for bug#17194.
-
unknown authored
into trift2.:/MySQL/M41/push-4.1
-
unknown authored
into trift2.:/MySQL/M41/push-4.1 myisam/sort.c: Auto merged mysql-test/mysql-test-run.sh: Auto merged mysql-test/mysql-test-run.pl: Manual merge.
-
unknown authored
into kahlann.erinye.com:/home/df/mysql/build/mtr-4.1
-
unknown authored
into kahlann.erinye.com:/home/df/mysql/build/mtr-5.0 mysql-test/mysql-test-run.pl: merge
-
unknown authored
into kahlann.erinye.com:/home/df/mysql/build/mtr-5.0 mysql-test/mysql-test-run.pl: Auto merged
-
unknown authored
mysql-test/mysql-test-run.pl: add --report-features mysql-test/include/report-features.test: test file showing server features for mysql-test-run.pl --report-features
-
unknown authored
into outpost.site:/home/cps/mysql/trees/4.1-runtime-bug9191 configure.in: Auto merged include/my_time.h: Auto merged mysql-test/r/func_time.result: Auto merged mysql-test/r/rename.result: Auto merged mysql-test/t/func_time.test: Auto merged sql-common/my_time.c: Auto merged sql/item_timefunc.cc: Auto merged sql/time.cc: Auto merged mysql-test/t/rename.test: choose one of the race problem solutions. It was solved differently in -runtime and mainstream
-
unknown authored
-
unknown authored
into mysql.com:/Users/kent/mysql/bk/mysql-5.0
-
unknown authored
into mysql.com:/Users/kent/mysql/bk/lic/my50-lic mysql-test/mysql-test-run.sh: Auto merged
-
unknown authored
Added --force-restart pseudo server argument to shell version as well mysql-test/mysql-test-run.sh: Added --force-restart pseudo server argument to shell version as well
-
- 09 Nov, 2006 4 commits
-
-
unknown authored
Adapt to the different path of the server program, if installation was by RPM. Missing in the first changeset for bug#17194. mysql-test/install_test_db.sh: Adapt to the different path of the server program, if installation was by RPM. Missing in the first changeset for bug#17194.
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/inno/50 innobase/fil/fil0fil.c: use local
-
unknown authored
Fixes: - Bug #24089: Race condition in fil_flush_file_spaces() innobase/fil/fil0fil.c: Applied innodb-4.1-ss33 Revision r33: innodb-4.1: Merge r1002 from innodb/trunk: fil_flush_file_spaces(): Copy the system->unflushed_spaces list to an array while holding the mutex. This removes the crash-triggering race condition that was introduced when fixing Bug 15653. (Bug #24089)
-
unknown authored
Fixes: - Bug #15815: Very poor performance with multiple queries running concurrently - Bug #22868: 'Thread thrashing' with > 50 concurrent conns under an upd-intensive workloadw - Bug #23769: Debug assertion failure with innodb_locks_unsafe_for_binlog - Bug #24089: Race condition in fil_flush_file_spaces() innobase/buf/buf0buf.c: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1000: branches/5.0: Merge r999 from trunk: Reduce buffer pool mutex contention under >= 4 big concurrent CPU-bound SELECT queries. (Bug #22868) Fix: replace the mutex by one mutex protecting the 'flush list' (and the free list) and several mutexes protecting portions of the buffer pool, where we keep several indivudual LRU lists of pages. This patch is from Sunny Bains and Heikki Tuuri. innobase/buf/buf0flu.c: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1000: branches/5.0: Merge r999 from trunk: Reduce buffer pool mutex contention under >= 4 big concurrent CPU-bound SELECT queries. (Bug #22868) Fix: replace the mutex by one mutex protecting the 'flush list' (and the free list) and several mutexes protecting portions of the buffer pool, where we keep several indivudual LRU lists of pages. This patch is from Sunny Bains and Heikki Tuuri. innobase/buf/buf0lru.c: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1000: branches/5.0: Merge r999 from trunk: Reduce buffer pool mutex contention under >= 4 big concurrent CPU-bound SELECT queries. (Bug #22868) Fix: replace the mutex by one mutex protecting the 'flush list' (and the free list) and several mutexes protecting portions of the buffer pool, where we keep several indivudual LRU lists of pages. This patch is from Sunny Bains and Heikki Tuuri. innobase/dict/dict0crea.c: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r974: branches/5.0: Port r973 from trunk. Do not break the latching order in TRUNCATE TABLE. dict_truncate_index_tree(): Replace parameter rec_t* rec with btr_pcur_t* pcur. Reposition pcur before calling btr_create(). sync_thread_add_level(): Remove the relaxation of the assertion added in r968. innobase/fil/fil0fil.c: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1003: branches/5.0: Merge r1002 from trunk: fil_flush_file_spaces(): Copy the system->unflushed_spaces list to an array while holding the mutex. This removes the crash-triggering race condition that was introduced when fixing Bug 15653. (Bug #24089) innobase/include/buf0buf.h: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1000: branches/5.0: Merge r999 from trunk: Reduce buffer pool mutex contention under >= 4 big concurrent CPU-bound SELECT queries. (Bug #22868) Fix: replace the mutex by one mutex protecting the 'flush list' (and the free list) and several mutexes protecting portions of the buffer pool, where we keep several indivudual LRU lists of pages. This patch is from Sunny Bains and Heikki Tuuri. innobase/include/buf0buf.ic: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1000: branches/5.0: Merge r999 from trunk: Reduce buffer pool mutex contention under >= 4 big concurrent CPU-bound SELECT queries. (Bug #22868) Fix: replace the mutex by one mutex protecting the 'flush list' (and the free list) and several mutexes protecting portions of the buffer pool, where we keep several indivudual LRU lists of pages. This patch is from Sunny Bains and Heikki Tuuri. innobase/include/dict0crea.h: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r974: branches/5.0: Port r973 from trunk. Do not break the latching order in TRUNCATE TABLE. dict_truncate_index_tree(): Replace parameter rec_t* rec with btr_pcur_t* pcur. Reposition pcur before calling btr_create(). sync_thread_add_level(): Remove the relaxation of the assertion added in r968. innobase/include/sync0arr.h: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1001: branches/5.0: Reduce locking contention: Bug #15815: 'Thread thrashing' with > 50 concurrent connections under an update-intensive workload. Fix: Introduce one event per InnoDB semaphore. This patch is from Sunny Bains and Heikki Tuuri. This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet, because it tries to address the problem in a different way. innobase/include/sync0rw.h: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1001: branches/5.0: Reduce locking contention: Bug #15815: 'Thread thrashing' with > 50 concurrent connections under an update-intensive workload. Fix: Introduce one event per InnoDB semaphore. This patch is from Sunny Bains and Heikki Tuuri. This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet, because it tries to address the problem in a different way. innobase/include/sync0rw.ic: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1001: branches/5.0: Reduce locking contention: Bug #15815: 'Thread thrashing' with > 50 concurrent connections under an update-intensive workload. Fix: Introduce one event per InnoDB semaphore. This patch is from Sunny Bains and Heikki Tuuri. This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet, because it tries to address the problem in a different way. innobase/include/sync0sync.h: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1001: branches/5.0: Reduce locking contention: Bug #15815: 'Thread thrashing' with > 50 concurrent connections under an update-intensive workload. Fix: Introduce one event per InnoDB semaphore. This patch is from Sunny Bains and Heikki Tuuri. This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet, because it tries to address the problem in a different way. innobase/os/os0sync.c: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1001: branches/5.0: Reduce locking contention: Bug #15815: 'Thread thrashing' with > 50 concurrent connections under an update-intensive workload. Fix: Introduce one event per InnoDB semaphore. This patch is from Sunny Bains and Heikki Tuuri. This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet, because it tries to address the problem in a different way. innobase/row/row0mysql.c: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r974: branches/5.0: Port r973 from trunk. Do not break the latching order in TRUNCATE TABLE. dict_truncate_index_tree(): Replace parameter rec_t* rec with btr_pcur_t* pcur. Reposition pcur before calling btr_create(). sync_thread_add_level(): Remove the relaxation of the assertion added in r968. innobase/row/row0sel.c: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r982: branches/5.0: row_sel(): Do not try to acquire a LOCK_REC_NOT_GAP lock on the supremum record. Instead, skip to the next record. (Bug #23769) This fix was backported from r623 in the 5.1 tree. innobase/srv/srv0start.c: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r926: Refer to bug: 22268. Since no one tries to run 5.0 on Windows 95/ME it was decided to raise the limit of srv_max_n_threads to 10000 on Windows. innobase/sync/sync0arr.c: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1001: branches/5.0: Reduce locking contention: Bug #15815: 'Thread thrashing' with > 50 concurrent connections under an update-intensive workload. Fix: Introduce one event per InnoDB semaphore. This patch is from Sunny Bains and Heikki Tuuri. This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet, because it tries to address the problem in a different way. innobase/sync/sync0rw.c: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r1001: branches/5.0: Reduce locking contention: Bug #15815: 'Thread thrashing' with > 50 concurrent connections under an update-intensive workload. Fix: Introduce one event per InnoDB semaphore. This patch is from Sunny Bains and Heikki Tuuri. This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet, because it tries to address the problem in a different way. innobase/sync/sync0sync.c: Applied innodb-5.0-ss982, -ss998, -ss1003 Revision r969: branches/5.0: Port r968 from trunk: sync_thread_add_level(): When level == SYNC_TREE_NODE, allow the latching order to be violated if the thread holds dict_operation_lock, whose level is SYNC_DICT_OPERATION. This removes the assertion failure of TRUNCATE TABLE #ifdef UNIV_SYNC_DEBUG. Revision r974: branches/5.0: Port r973 from trunk. Do not break the latching order in TRUNCATE TABLE. dict_truncate_index_tree(): Replace parameter rec_t* rec with btr_pcur_t* pcur. Reposition pcur before calling btr_create(). sync_thread_add_level(): Remove the relaxation of the assertion added in r968. Revision r1001: branches/5.0: Reduce locking contention: Bug #15815: 'Thread thrashing' with > 50 concurrent connections under an update-intensive workload. Fix: Introduce one event per InnoDB semaphore. This patch is from Sunny Bains and Heikki Tuuri. This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet, because it tries to address the problem in a different way.
-
- 08 Nov, 2006 14 commits
-
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/41
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
-
unknown authored
client/mysql_upgrade.c: Fix NetWare problem - illegal cast of "const char*" to "char*" Fix warning, init "mystat" in FILEINFO to NULL Fix warning, remove unused variable "i"
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint mysql-test/mysql-test-run.pl: Auto merged
-
unknown authored
mysql-test/mysql-test-run.pl: Allow --mem to be specified as a flag or --mem=<dir> Add /tmp to locations to search Update comments and usage description
-
unknown authored
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint client/mysqltest.c: Auto merged mysql-test/mysql-test-run.pl: Auto merged
-
unknown authored
Pass location of charsets dir to mysqltest to avoid using the charsetdir locally installed on machine. client/mysqltest.c: Add new option --character-sets-dir to mysqltest Set MYSQL_SET_CHRSET_DIR before connecting to mysqld if the above variable is set mysql-test/mysql-test-run.pl: Pass $path_charsetsdir to mysqltest
-
unknown authored
-
unknown authored
into trift2.:/MySQL/M50/bug24023-5.0 BitKeeper/deleted/.del-gcc.cpp~3d2e013cfac48838: Auto merged
-
unknown authored
into trift2.:/MySQL/M41/clone-4.1
-
unknown authored
into trift2.:/MySQL/M41/clone-4.1
-