- 20 Apr, 2006 1 commit
-
-
bar@mysql.com authored
Fixing part2 of this problem: AND didn't work well with utf8_czech_ci and utf8_lithianian_ci in some cases. The problem was because when during condition optimization field was replaced with a constant, the constant's collation and collation derivation was used later for comparison instead of the field collation and derivation, which led to non-equal new condition in some cases. This patch copies collation and derivation from the field being removed to the new constant, which makes comparison work using the same collation with the one which would be used if no condition optimization were done. In other words: where s1 < 'K' and s1 = 'Y'; was rewritten to: where 'Y' < 'K' and s1 = 'Y'; Now it's rewritten to: where 'Y' collate collation_of_s1 < 'K' and s1 = 'Y' (using derivation of s1) Note, the first problem of this bug (with latin1_german2_ci) was fixed earlier in 5.0 tree, in a separate changeset.
-
- 19 Apr, 2006 6 commits
-
-
igor@rurik.mysql.com authored
Temporarily commented out a query from the test case for bug 14169 to make it pass with --ps-protocol.
-
igor@rurik.mysql.com authored
into rurik.mysql.com:/home/igor/dev/mysql-4.1-2
-
evgen@moonbone.local authored
into moonbone.local:/work/14169-bug-4.1-mysql
-
evgen@moonbone.local authored
Corrected test case for the bug#14169 to make it pass in --ps-protocol mode.
-
svoj@april.(none) authored
After a locking error the open table(s) were not fully cleaned up for reuse. But they were put into the open table cache even before the lock was tried. The next statement reused the table(s) with a wrong lock type set up. This tricked MyISAM into believing that it don't need to update the table statistics. Hence CHECK TABLE reported a mismatch of record count and table size. Fortunately nothing worse has been detected yet. The effect of the test case was that the insert worked on a read locked table. (!) I added a new function that clears the lock type from all tables that were prepared for a lock. I call this function when a lock failes. No test case. One test would add 50 seconds to the test suite. Another test requires file mode modifications. I added a test script to the bug report. It contains three cases for failing locks. All could reproduce a table corruption. All are fixed by this patch. This bug was not lock timeout specific.
-
igor@rurik.mysql.com authored
The bug caused a reported index corruption in the cases when key_cache_block_size was not a multiple of myisam_block_size, e.g. when key_cache_block_size=1536 while myisam_block_size=1024.
-
- 18 Apr, 2006 2 commits
-
-
stewart@mysql.com authored
into mysql.com:/home/stewart/Documents/MySQL/4.1/merge
-
stewart@mysql.com authored
into mysql.com:/home/stewart/Documents/MySQL/4.1/merge
-
- 14 Apr, 2006 2 commits
-
-
evgen@moonbone.local authored
into moonbone.local:/work/14169-bug-4.1-mysql
-
bar@mysql.com authored
into mysql.com:/usr/home/bar/mysql-4.1.b18691
-
- 13 Apr, 2006 5 commits
-
-
svoj@april.(none) authored
into april.(none):/home/svoj/devel/mysql/BUG17917/mysql-4.1
-
konstantin@mysql.com authored
-
svoj@april.(none) authored
into april.(none):/home/svoj/devel/mysql/BUG17917/mysql-4.1
-
svoj@april.(none) authored
Retrieving data from compressed MyISAM table which is bigger than 4G on 32-bit box with mmap() support results in server crash. mmap() accepts length of bytes to be mapped in second param, which is 32-bit size_t. But we pass data_file_length, which is 64-bit my_off_t. As a result only first data_file_length % 4G were mapped. This fix adds additional condition for mmap() usage, that is use mmap() for compressed table which size is no more than 4G on 32-bit platform.
-
bar@mysql.com authored
Conversion from int and real numbers to UCS2 didn't work fine: CONVERT(100, CHAR(50) UNICODE) CONVERT(103.9, CHAR(50) UNICODE) The problem appeared because numbers have binary charset, so, simple charset recast binary->ucs2 was performed instead of real conversion. Fixed to make numbers pretend to be non-binary.
-
- 12 Apr, 2006 1 commit
-
-
evgen@moonbone.local authored
used In a simple queries a result of the GROUP_CONCAT() function was always of varchar type. But if length of GROUP_CONCAT() result is greater than 512 chars and temporary table is used during select then the result is converted to blob, due to policy to not to store fields longer than 512 chars in tmp table as varchar fields. In order to provide consistent behaviour, result of GROUP_CONCAT() now will always be converted to blob if it is longer than 512 chars. Item_func_group_concat::field_type() is modified accordingly.
-
- 11 Apr, 2006 7 commits
-
-
ingo@mysql.com authored
into mysql.com:/home/mydev/mysql-4.1-bug5390
-
ingo@mysql.com authored
into mysql.com:/home/mydev/mysql-4.1-bug5390
-
bell@sanja.is.com.ua authored
into sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
-
ramil@mysql.com authored
-
ramil@mysql.com authored
into mysql.com:/usr/home/ram/work/mysql-4.1
-
bell@sanja.is.com.ua authored
into sanja.is.com.ua:/home/bell/mysql/bk/work-4.0
-
ramil@mysql.com authored
into mysql.com:/usr/home/ram/work/mysql-4.0
-
- 10 Apr, 2006 4 commits
-
-
bell@sanja.is.com.ua authored
into sanja.is.com.ua:/home/bell/mysql/bk/work-4.0
-
bell@sanja.is.com.ua authored
code. (Bug #13621)
-
knielsen@mysql.com authored
into mysql.com:/usr/local/mysql/mysql-4.1
-
jonas@perch.ndb.mysql.com authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
-
- 08 Apr, 2006 3 commits
-
-
knielsen@mysql.com authored
into mysql.com:/usr/local/mysql/mysql-4.1
-
knielsen@mysql.com authored
-
bell@sanja.is.com.ua authored
-
- 07 Apr, 2006 9 commits
-
-
konstantin@mysql.com authored
into mysql.com:/opt/local/work/mysql-4.1-16365
-
konstantin@mysql.com authored
too many open statements". The patch adds a new global variable @@max_prepared_stmt_count. This variable limits the total number of prepared statements in the server. The default value of @@max_prepared_stmt_count is 16382. 16382 small statements (a select against 3 tables with GROUP, ORDER and LIMIT) consume 100MB of RAM. Once this limit has been reached, the server will refuse to prepare a new statement and return ER_UNKNOWN_ERROR (unfortunately, we can't add new errors to 4.1 without breaking 5.0). The limit is changeable after startup and can accept any value from 0 to 1 million. In case the new value of the limit is less than the current statement count, no new statements can be added, while the old still can be used. Additionally, the current count of prepared statements is now available through a global read-only variable @@prepared_stmt_count.
-
joerg@mysql.com authored
into mysql.com:/M41/mtr-4.1
-
konstantin@mysql.com authored
gives wrong results". Implement previously missing Item_row::cleanup. The bug is not repeatable in 5.0, probably due to a coincidence: the problem is present in 5.0 as well.
-
joerg@mysql.com authored
-
joerg@mysql.com authored
-
joerg@mysql.com authored
-
joerg@mysql.com authored
-
joerg@mysql.com authored
-