- 03 Sep, 2007 2 commits
-
-
thek@adventure.(none) authored
into adventure.(none):/home/thek/Development/cpp/bug21074/my51-bug21074
-
thek@adventure.(none) 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.
-
- 29 Jul, 2007 2 commits
-
-
thek@adventure.(none) authored
- Removed unused variable.
-
thek@adventure.(none) authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
-
- 27 Jul, 2007 13 commits
-
-
malff/marcsql@weblab.(none) authored
-
malff/marcsql@weblab.(none) authored
into weblab.(none):/home/marcsql/TREE/mysql-5.1-25422-d
-
malff/marcsql@weblab.(none) authored
-
anozdrin/alik@ibm. authored
-
anozdrin/alik@ibm. authored
into ibm.:/home/alik/Documents/MySQL/devel/5.1-rt-merge
-
anozdrin/alik@ibm. authored
-
serg@janus.mylan authored
into janus.mylan:/usr/home/serg/Abk/mysql-5.1
-
thek@adventure.(none) authored
into adventure.(none):/home/thek/Development/cpp/bug29929/my51-bug29929
-
thek@adventure.(none) 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.
-
anozdrin/alik@ibm. 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.
-
anozdrin/alik@ibm. 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.
-
serg@janus.mylan authored
updated to keypart_map api
-
malff/marcsql@weblab.(none) authored
Bug#25422 (Hang with log tables) Bug 17876 (Truncating mysql.slow_log in a SP after using cursor locks the thread) Bug 23044 (Warnings on flush of a log table) Bug 29129 (Resetting general_log while the GLOBAL READ LOCK is set causes a deadlock) Prior to this fix, the server would hang when performing concurrent ALTER TABLE or TRUNCATE TABLE statements against the LOG TABLES, which are mysql.general_log and mysql.slow_log. The root cause traces to the following code: in sql_base.cc, open_table() if (table->in_use != thd) { /* wait_for_condition will unlock LOCK_open for us */ wait_for_condition(thd, &LOCK_open, &COND_refresh); } The problem with this code is that the current implementation of the LOGGER creates 'fake' THD objects, like - Log_to_csv_event_handler::general_log_thd - Log_to_csv_event_handler::slow_log_thd which are not associated to a real thread running in the server, so that waiting for these non-existing threads to release table locks cause the dead lock. In general, the design of Log_to_csv_event_handler does not fit into the general architecture of the server, so that the concept of general_log_thd and slow_log_thd has to be abandoned: - this implementation does not work with table locking - it will not work with commands like SHOW PROCESSLIST - having the log tables always opened does not integrate well with DDL operations / FLUSH TABLES / SET GLOBAL READ_ONLY With this patch, the fundamental design of the LOGGER has been changed to: - always open and close a log table when writing a log - remove totally the usage of fake THD objects - clarify how locking of log tables is implemented in general. See WL#3984 for details related to the new locking design. Additional changes (misc bugs exposed and fixed): 1) mysqldump which would ignore some tables in dump_all_tables_in_db(), but forget to ignore the same in dump_all_views_in_db(). 2) mysqldump would also issue an empty "LOCK TABLE" command when all the tables to lock are to be ignored (numrows == 0), instead of not issuing the query. 3) Internal errors handlers could intercept errors but not warnings (see sql_error.cc). 4) Implementing a nested call to open tables, for the performance schema tables, exposed an existing bug in remove_table_from_cache(), which would perform: in_use->some_tables_deleted=1; against another thread, without any consideration about thread locking. This call inside remove_table_from_cache() was not required anyway, since calling mysql_lock_abort() takes care of aborting -- cleanly -- threads that might hold a lock on a table. This line (in_use->some_tables_deleted=1) has been removed.
-
- 26 Jul, 2007 1 commit
-
-
anozdrin/alik@ibm. authored
5.1.20 -> 5.1.21 upgrades. We generate mysql_fix_privilege.sql file, which contains SQL statements required to upgrade the system database. This script is generated by concatenation of mysql_system_tables.sql and mysql_system_tables_fix.sql. The problem was that - in order to create general_log and slow_log tables we use stored programs in mysql_system_tables.sql; - we upgrade mysql.proc table in mysql_system_tables_fix.sql; So, if mysql.proc table needs to be upgraded, stored procedures can not be used in mysql_system_tables.sql. In other words, in mysql_system_tables.sql stored programs must not be used because they may be unavailable at this point. The fix is to use dynamic SQL instead of stored programs. There is no test case for this bug because our test suite is not suitable for such test cases. system_mysql_db_fix* test cases play with the database "test". Here we need to modify the system database and we can not do that in the test suite.
-
- 25 Jul, 2007 10 commits
-
-
anozdrin/alik@ibm. authored
binary SHOW CREATE TABLE or SELECT FROM I_S. The problem is that mysqldump generates incorrect dump for a table with non-ASCII column name if the mysqldump's character set is ASCII. The fix is to: 1. Switch character_set_client for the mysqldump's connection to binary before issuing SHOW CREATE TABLE statement in order to avoid conversion. 2. Dump switch character_set_client statements to UTF8 and back for CREATE TABLE statement.
-
anozdrin/alik@ibm. authored
This allows 5.0 to work with 5.1 databases.
-
malff/marcsql@weblab.(none) authored
into weblab.(none):/home/marcsql/TREE/mysql-5.0-29959
-
Kristofer.Pettersson@naruto. authored
into naruto.:C:/cpp/mysql-5.1-runtime
-
Kristofer.Pettersson@naruto. authored
-
anozdrin/alik@ibm. authored
Enable assert in Thread_registry.
-
thek@adventure.(none) authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
-
thek@adventure.(none) authored
Creating an EVENT to be executed at a time close to the end of the allowed range (2038.01.19 03:14:07 UTC) would cause the server to crash. The expected behavior is to accept all calendar times within the interval and reject all other values without crashing. This patch replaces the function 'sec_to_epoch_TIME' with a Time_zone API call. This function was broken because it invoked the internal function 'sec_to_epoch' without respecting the restrictions on the function parameters (and this caused assertion failure). It also was used as a reverse function to Time_zone_utc::gmt_sec_to_TIME which it isn't.
-
thek@adventure.(none) authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
-
thek@adventure.(none) authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
-
- 24 Jul, 2007 5 commits
-
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.0-runtime
-
malff/marcsql@weblab.(none) authored
Changed the default location of the log output to LOG_FILE, for backward compatibility with MySQL 5.0
-
- 23 Jul, 2007 2 commits
-
-
malff/marcsql@weblab.(none) authored
In sql/sql_yacc.yy, use the %prec construct at the end of rule join_table
-
thek@adventure.(none) authored
On the windows platform, if an instance object failed to initialize during program start, the instance manager would crash. This could happen if an incorrect mysqld path was supplied in the defaults configuration file. The patch prevents the program from crashing and makes it show an error message instead.
-
- 21 Jul, 2007 4 commits
-
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.0-runtime
-
joerg@trift2. authored
into trift2.:/MySQL/M51/push-5.1
-
- 20 Jul, 2007 1 commit
-
-
kent@kent-amd64.(none) authored
into mysql.com:/home/kent/bk/tmp3/mysql-5.0-build
-