- 06 Aug, 2007 1 commit
-
-
unknown authored
-
- 05 Aug, 2007 3 commits
-
-
unknown authored
when its statement being KILLed". The bug itself was fixed by separate patch in 5.0 tree. mysql-test/r/lock_multi.result: Added test for bug #21281 "Pending write lock is incorrectly removed when its statement being KILLed". mysql-test/t/lock_multi.test: Added test for bug #21281 "Pending write lock is incorrectly removed when its statement being KILLed".
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.1-bg21281-2 mysql-test/t/federated.test: Auto merged mysys/thr_lock.c: Auto merged mysql-test/r/federated.result: SCCS merged
-
unknown authored
statement being KILLed". When statement which was trying to obtain write lock on then table and which was blocked by existing read lock was killed, concurrent statements that were trying to obtain read locks on the same table and that were blocked by the presence of this pending write lock were not woken up and had to wait until this first read lock goes away. This problem was caused by the fact that we forgot to wake up threads which pending requests could have been satisfied after removing lock request for the killed thread. The patch solves the problem by waking up those threads in such situation. Test for this bug will be added to 5.1 only as it has much better facilities for its implementation. Particularly, by using I_S.PROCESSLIST and wait_condition.inc script we can wait until thread will be blocked on certain table lock without relying on unconditional sleep (which usage increases time needed for test runs and might cause spurious test failures on slower platforms). mysys/thr_lock.c: After removing lock request from the list of waiting lock requests (e.g. when we discover that current thread was killed) we should wake up other threads waiting for the same lock which pending requests now can be satisfied. To implement this behavior we move code responsible for waking up threads which pending requests can be satisfied from thr_unlock() to new wake_up_waiters() procedure and use it in wait_for_lock() and hr_abort_locks_for_thread().
-
- 03 Aug, 2007 1 commit
-
-
unknown authored
New server (as of 5.1.21) provides new features: - SHOW CREATE TRIGGER; - character set information for SHOW TRIGGERS and SHOW CREATE EVENT | FUNCTION | PROCEDURE statements. Mysqldump uses these features to generate proper dump. The bug happened when new mysqldump was used to dump older servers. The problem was that 5.1.21 new features are not available, so mysqldump exited with error code or just crashed. The fix is to detect if mysqldump has ben run against older server and don't use new 5.1.21 functionality in this case. Certainly, the dump generated for the older server suffers from the character set problems fixed by BUG#16291 and the like. client/mysqldump.c: Don't use new server features if they are not available.
-
- 02 Aug, 2007 1 commit
-
-
unknown authored
It has been possible to lock a view in 5.1 for some time. mysql-test/r/lock.result: Update results (Bug#5719) mysql-test/t/lock.test: Add a test case for Bug#5719 "impossible to lock VIEW"
-
- 01 Aug, 2007 5 commits
-
-
unknown authored
error 1159 ' ' (fixed by the patch for Bug 25679) mysql-test/r/federated.result: Update results (Bug#18287) mysql-test/t/federated.test: Add a test case for Bug#18287 create federated table always times out, error 1159 ' '
-
unknown authored
sql/sql_class.cc: Fix a valgrind warning (row_count_func is used before it was initialized in SQLCOM_CALL)
-
unknown authored
mysql-test/r/log_tables.result: Update results. mysql-test/t/log_tables.test: Silence a race condition: TRUNCATE code issues mysql_frm_type without a metadata lock, and finds no table if hits the moment when ALTER is swapping two tables.
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.1-runtime client/mysqldump.c: Auto merged mysql-test/r/func_time.result: Auto merged mysql-test/r/mysqldump.result: Auto merged mysql-test/t/func_time.test: Auto merged sql/sql_base.cc: Auto merged sql/sql_table.cc: Auto merged sql/table.cc: Auto merged mysql-test/include/mix1.inc: Manual merge. mysql-test/r/innodb_mysql.result: Manual merge.
-
unknown authored
mysql-test/r/func_time.result: Update results (use fixed datetime values instead of NOW()). mysql-test/t/func_time.test: Use fixed datetime values instead of NOW(): the test would have a sporadic failure when current day changed between two consequtive calls to NOW(). The test actually tests FROM_DAYS/TO_DAYS functions, so use of NOW() is not necessary.
-
- 31 Jul, 2007 6 commits
-
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.1-runtime client/mysqldump.c: Auto merged mysql-test/r/mysqldump.result: Auto merged mysql-test/t/disabled.def: Auto merged mysql-test/t/mysqldump.test: Auto merged sql/handler.cc: Auto merged sql/lock.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_table.cc: Auto merged sql/table.cc: Auto merged sql/table.h: Auto merged mysql-test/include/mix1.inc: Manual merge. mysql-test/r/innodb_mysql.result: Manual merge.
-
unknown authored
sql/sql_base.cc: Fix an incorrect manual merge.
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.0-runtime client/mysqldump.c: Auto merged mysql-test/r/mysqldump.result: Auto merged sql/sql_base.cc: Auto merged sql/table.cc: Auto merged mysql-test/r/innodb_mysql.result: Manual merge. mysql-test/t/innodb_mysql.test: Manual merge. sql/sql_table.cc: Manual merge.
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.1-runtime sql/mysql_priv.h: Auto merged sql/sql_class.h: Auto merged sql/sql_lex.cc: Auto merged mysql-test/include/mix1.inc: Manual merge. mysql-test/r/innodb_mysql.result: Manual merge. sql/handler.h: Manual merge. sql/lock.cc: Manual merge. sql/opt_range.cc: Manual merge. sql/sql_base.cc: Manual merge. sql/sql_table.cc: Manual merge.
-
unknown authored
into weblab.(none):/home/marcsql/TREE/mysql-5.1-cleanup sql/log.cc: Auto merged
-
unknown authored
-
- 30 Jul, 2007 5 commits
-
-
unknown authored
into janus.mylan:/usr/home/serg/Abk/mysql-5.1
-
unknown authored
existing table->no_replicate code is used instead
-
unknown authored
-
unknown authored
sql/handler.h: Fix a warning.
-
unknown authored
mysql-test/r/ddl_i18n_koi8r.result: Update result file. mysql-test/r/ddl_i18n_utf8.result: Update result file.
-
- 29 Jul, 2007 3 commits
-
-
unknown authored
- Removed unused variable. sql/sql_lex.cc: - Removed unused variable
-
unknown authored
- Removed unused variable. sql/sql_lex.cc: - Removed unused variable
-
unknown authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime sql/table.cc: Auto merged sql/table.h: Auto merged
-
- 28 Jul, 2007 1 commit
-
-
unknown authored
into bk-internal.mysql.com:/data0/bk/mysql-5.1-arch
-
- 27 Jul, 2007 14 commits
-
-
unknown authored
-
unknown authored
into weblab.(none):/home/marcsql/TREE/mysql-5.1-25422-d client/mysqldump.c: Auto merged mysql-test/r/log_state.result: Auto merged mysql-test/r/show_check.result: Auto merged mysql-test/t/show_check.test: Auto merged sql/mysql_priv.h: Auto merged sql/share/errmsg.txt: Auto merged sql/sp.cc: Auto merged
-
unknown authored
-
unknown authored
-
unknown authored
into ibm.:/home/alik/Documents/MySQL/devel/5.1-rt-merge mysql-test/r/mysqldump-max.result: Auto merged mysql-test/r/openssl_1.result: Auto merged mysql-test/t/show_check.test: Auto merged sql/sp.cc: Auto merged sql/sql_yacc.yy: Auto merged client/mysqldump.c: Manual merge. mysql-test/r/mysqldump.result: Manual merge + use local.
-
unknown authored
mysql-test/r/mysqldump.result: Update result file.
-
unknown authored
into janus.mylan:/usr/home/serg/Abk/mysql-5.1
-
unknown authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
-
unknown authored
into adventure.(none):/home/thek/Development/cpp/bug29929/my51-bug29929 mysql-test/r/sp-prelocking.result: Auto merged mysql-test/t/sp-prelocking.test: Auto merged sql/sql_lex.cc: Auto merged sql/table.cc: Auto merged sql/table.h: SCCS merged
-
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.
-
unknown authored
mysqldump generates view defitions in two stages: - dump CREATE TABLE statements for the temporary tables. For each view a temporary table, that has the same structure as the view is created. - dump DROP TABLE statements for the temporary tables and CREATE VIEW statements for the view. This approach is required because views can have dependencies on each other (a view can use other views). So, they should be created in the particular order. mysqldump however is not smart enough, so in order to resolve dependencies it creates temporary tables first of all. The problem was that mysqldump might have generated incorrect dump for the temporary table when a view has non-ASCII column name. That happened when default-character-set is not utf8. The fix is to: 1. Switch character_set_client for the mysqldump's connection to binary before issuing SHOW FIELDS statement in order to avoid conversion. 2. Dump switch character_set_client statements to UTF8 and back for CREATE TABLE statement that is issued to create temporary table. client/mysqldump.c: 1. Switch character_set_results for mysqldump's connection to binary before SHOW FIELDS in order to avoid conversion to client character set. 2. Dump switch character_set_client statements to UTF8 and back for CREATE TABLE statement. mysql-test/r/mysqldump.result: Update result file. mysql-test/t/mysqldump.test: Test case for BUG#30027.
-
unknown authored
The problem was a race condition on shutdown -- when IM got shutdown request while a guarded mysqld is starting. In this case the Guardian thread tried to stop the mysqld, but might fail if the mysqld hadn't created pid-file so far. When this happened, the mysqld-monitor thread didn't stop, so the assert in Thread_registry happened. The fix is to make several attempts to stop mysqld if it is active. server-tools/instance-manager/guardian.cc: Try to stop mysqld several times if it is still active. server-tools/instance-manager/instance.cc: Make Instance::kill_mysqld() to return operation status. server-tools/instance-manager/instance.h: Make Instance::kill_mysqld() to return operation status. server-tools/instance-manager/thread_registry.cc: Log unregistered thread ids.
-
unknown authored
updated to keypart_map api storage/myisam/mi_test2.c: Bug #30094 mi_test_all: assertion failure updated to keypart_map api prefix char keys are not supported anymore
-
unknown authored
between perm and temp tables. Review fixes. The original bug report complains that if we locked a temporary table with LOCK TABLES statement, we would not leave LOCK TABLES mode when this temporary table is dropped. Additionally, the bug was escalated when it was discovered than when a temporary transactional table that was previously locked with LOCK TABLES statement was dropped, futher actions with this table, such as UNLOCK TABLES, would lead to a crash. The problem originates from incomplete support of transactional temporary tables. When we added calls to handler::store_lock()/handler::external_lock() to operations that work with such tables, we only covered the normal server code flow and did not cover LOCK TABLES mode. In LOCK TABLES mode, ::external_lock(LOCK) would sometimes be called without matching ::external_lock(UNLOCK), e.g. when a transactional temporary table was dropped. Additionally, this table would be left in the list of LOCKed TABLES. The patch aims to address this inadequacy. Now, whenever an instance of 'handler' is destroyed, we assert that it was priorly external_lock(UNLOCK)-ed. All the places that violate this assert were fixed. This patch introduces no changes in behavior -- the discrepancy in behavior will be fixed when we start calling ::store_lock()/::external_lock() for all tables, regardless whether they are transactional or not, temporary or not. mysql-test/r/innodb_mysql.result: Update test results (Bug#24918) mysql-test/t/innodb_mysql.test: Add a test case for Bug#24918 sql/handler.h: Make handler::external_lock() a protected method. Backport from 5.1 its public wrapper handler::ha_external_lock(). Assert that the handler is not closed if it is still locked. sql/lock.cc: In mysql_lock_tables only call lock_external() for the list of tables that we called store_lock() for. E.g. get_lock_data() does not add non-transactional temporary tables to the lock list, so lock_external() should not be called for them. Use handler::ha_external_lock() instead of handler::external_lock(). Add comments for mysql_lock_remove(), parameterize one strange side effect that it has. At least in one place where mysql_lock_remove is used, this side effect is not desired (DROP TABLE). The parameter will be dropped in 5.1, along with the side effect. sql/mysql_priv.h: Update declaration of mysql_lock_remove(). sql/opt_range.cc: Deploy handler::ha_external_lock() instead of handler::external_lock() sql/sql_base.cc: When closing a temporary table, remove the table from the list of LOCKed TABLES of this thread, in case it's there. It's there if it is a transactional temporary table. Use a new declaration of mysql_lock_remove(). sql/sql_class.h: Extend the comment for THD::temporary_tables. sql/sql_table.cc: Deploy handler::ha_external_lock() instead of handler::external_lock()
-