- 08 Apr, 2009 1 commit
-
-
He Zhenxing authored
-
- 07 Apr, 2009 1 commit
-
-
Satya B authored
The test started failing following the push for BUG#41541. Some of the algorithms access bytes beyond the input data and this can affect up to one byte less than "word size" which is BITS_SAVED / 8. Fixed by adding (BITS_SAVED / 8) -1 bytes to buffer size (i.e. Memory Segment #2) to avoid accessing un-allocated data.
-
- 03 Apr, 2009 1 commit
-
-
Davi Arnaut authored
The problem is that a SELECT .. FOR UPDATE statement might open a table and later wait for a impeding global read lock without noticing whether it is holding a table that is being waited upon the the flush phase of the process that took the global read lock. The same problem also affected the following statements: LOCK TABLES .. WRITE UPDATE .. SET (update and multi-table update) TRUNCATE TABLE .. LOAD DATA .. The solution is to make the above statements wait for a impending global read lock before opening the tables. If there is no impending global read lock, the statement raises a temporary protection against global read locks and progresses smoothly towards completion. Important notice: the patch does not try to address all possible cases, only those which are common and can be fixed unintrusively enough for 5.0.
-
- 02 Apr, 2009 2 commits
-
-
Chad MILLER authored
Bug#32136: mysqld_multi --defaults-file not respected while using \ --mysqld=mysqld_safe Revert change that adds "--no-defaults" to mysqld_multi. This closes Bug#43508 and re-opens Bug#32136.
-
Timothy Smith authored
-
- 01 Apr, 2009 4 commits
-
-
Ignacio Galarza authored
- Link against setargv.obj for wild-card expansion.
-
Bernt M. Johnsen authored
-
Gleb Shchepa authored
Original commentary: Bug #37348: Crash in or immediately after JOIN::make_sum_func_list The optimizer pulls up aggregate functions which should be aggregated in an outer select. At some point it may substitute such a function for a field in the temporary table. The setup_copy_fields function doesn't take this into account and may overrun the copy_field buffer. Fixed by filtering out the fields referenced through the specialized reference for aggregates (Item_aggregate_ref). Added an assertion to make sure bugs that cause similar discrepancy don't go undetected.
-
Georgi Kodinov authored
-
- 31 Mar, 2009 2 commits
-
-
Ignacio Galarza authored
- Link against setargv.obj for wild-card expansion.
-
Bernt M. Johnsen authored
-
- 30 Mar, 2009 3 commits
-
-
Matthias Leich authored
-
Joerg Bruehe authored
more for completeness than for relevance. Also, update copyright notices.
-
Joerg Bruehe authored
-
- 27 Mar, 2009 9 commits
-
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Staale Smedseng authored
-
Alexey Kopytov authored
-
Staale Smedseng authored
updates Attempt to execute trigger or stored function with multi-UPDATE which used - but didn't update - a table that was also used by the calling statement led to an error. Read-only reference to tables used in the calling statement should be allowed. This problem was caused by the fact that check for conflicting use of tables in SP/triggers was performed in open_tables(), and in case of multi-UPDATE we didn't know exact lock type at this stage. We solve the problem by moving this check to lock_tables(), so it can be performed after exact lock types for tables used by multi-UPDATE are determined.
-
Alexey Kopytov authored
UNION could convert fixed-point FLOAT(M,D)/DOUBLE(M,D) columns to FLOAT/DOUBLE when aggregating data types from the SELECT substatements. While there is nothing particularly wrong with this behavior, especially when M is greater than the hardware precision limits, it could be confusing in cases when all SELECT statements in a union have the same FLOAT(M,D)/DOUBLE(M,D) columns with equal precision specifications listed in the same position. Since the manual is quite vague on what data type should be returned in such cases, the bug was fixed by implementing the most 'expected' behavior: do not convert FLOAT(M,D)/DOUBLE(M,D) to anything else if all SELECT statements in a UNION have the same precision for that column.
-
Ramil Kalimullin authored
Problem: commit doesn't delete savepoints if there are no changes in the transaction. Fix: delete them in such cases.
-
He Zhenxing authored
When the thread executing a DDL was killed after finished its execution but before writing the binlog event, the error code in the binlog event could be set wrongly to ER_SERVER_SHUTDOWN or ER_QUERY_INTERRUPTED. This patch fixed the problem by ignoring the kill status when constructing the event for DDL statements. This patch also included the following changes in order to provide the test case. 1) modified mysqltest to support variable for connection command 2) modified mysql-test-run.pl, add new variable MYSQL_SLAVE to run mysql client against the slave mysqld.
-
Leonard Zhou authored
-
- 26 Mar, 2009 3 commits
-
-
Davi Arnaut authored
The problem is that the read and write methods of the shared memory transport (protocol) didn't react to asynchronous close events, which could lead to a lock up as the client would wait (until time out) for a server response that will never come. The solution is to also wait for close events while waiting for I/O from or to the server.
-
Matthias Leich authored
including modifications according to code review + backport of the fix for Bug 41932 funcs_1: is_collation_character_set_applicability path too long for tar which was missing in 5.0 (just a renaming of two files)
-
Leonard Zhou authored
When add an aliase name after NAME_CONST, the aliase name will be overwrite. NAME_CONST will re-set the field's name only if there isn't an aliase in the function fix-fields(). If there is an aliase, NAME_CONST doesn't re-set the field's name and keeps the old name.
-
- 25 Mar, 2009 9 commits
-
-
Ramil Kalimullin authored
-
Ramil Kalimullin authored
due to name_const substitution Problem: "In general, statements executed within a stored procedure are written to the binary log using the same rules that would apply were the statements to be executed in standalone fashion. Some special care is taken when logging procedure statements because statement execution within procedures is not quite the same as in non-procedure context". For example, each reference to a local variable in SP's statements is replaced by NAME_CONST(var_name, var_value). Queries like "CREATE TABLE ... SELECT FUNC(local_var ..." are logged as "CREATE TABLE ... SELECT FUNC(NAME_CONST("local_var", var_value) ..." that leads to differrent field names and might result in "Incorrect column name" if var_value is long enough. Fix: in 5.x we'll issue a warning in such a case. In 6.0 we should get rid of NAME_CONST(). Note: this issue and change should be described in the documentation ("Binary Logging of Stored Programs").
-
Tatiana A. Nurnberg authored
Fine-tuning. Broke out comparison into method by suggestion of Davi. Clarified comments. Reverting test-case which I find too brittle; proper test case in 5.1+.
-
Georgi Kodinov authored
(Pushing for Azundris) We allow security-contexts with NULL users (for system-threads and for unauthenticated users). If a non-SUPER-user tried to KILL such a thread, we tried to compare the user-fields to see whether they owned that thread. Comparing against NULL was not a good idea. If KILLer does not have SUPER-privilege, we specifically check whether both KILLer and KILLee have a non-NULL user before testing for string- equality. If either is NULL, we reject the KILL.
-
Alexey Kopytov authored
-
Chad MILLER authored
-
Satya B authored
-
Satya B authored
After the table is compressed by the myisampack utility, opening the table by the server produces valgrind warnings. This happens because when we try to read a record into the buffer we alway assume that the remaining buffer to read is always equal to word size(4 or 8 or 2 bytes) we read. Sometimes we have remaining buffer size less than word size and trying to read the entire word size will end up in valgrind errors. Fixed by reading byte by byte when we detect the remaining buffer size is less than the word size.
-
Leonard Zhou authored
-
- 24 Mar, 2009 5 commits
-
-
Alexey Kopytov authored
-
Alexey Kopytov authored
expired timeout on debx86-b in PB Moved the resource-intensive test case for bug #41486 into a separate test file to reduce execution time for mysql.test.
-
Alexey Kopytov authored
produce incorrect results for ROUND() Added a workaround and a configure check to test whether isinf() is affected by the GCC bug #39228. Since no code in MySQL server is currently affected by that bug, the patch is actually a safeguard for possible future code modifications. No test cases or changelog entries are needed.
-
Leonard Zhou authored
-
Leonard Zhou authored
When do 'insert delayed' operation, the time_zone info doesn't be keeped in the row info. So when we do insert sometime later, time_zone didn't write into binlog. This will cause wrong result for timestamp column in slave. Our solution is that adding time_zone info with the delayed-row and restoring time_zone from row-info when execute that row in the furture by another thread. So we can write correct time_zone info into binlog and got correct result in slave.
-