[MDEV-5897] Erroneous results with Left Outer Join temporary table text fields Created: 2014-03-18 Updated: 2014-04-21 Resolved: 2014-04-21 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 5.3.12, 5.5.33a |
| Fix Version/s: | 5.5.34, 5.3.13 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Ryan Peterson | Assignee: | Unassigned |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
| Description |
|
expected output
buggy query
inner join not affected
strcmp resolves
create identicial table with varchar id field
buggy query is resolved with varchar
|
| Comments |
| Comment by Elena Stepanova [ 2014-03-18 ] | |||||||||||||||||||||||||||||||||||||||||||||
|
Hi Ryan, Thanks for the report. Could you please also provide your cnf file(s)? | |||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ryan Peterson [ 2014-03-18 ] | |||||||||||||||||||||||||||||||||||||||||||||
|
Attached my.cnf file | |||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2014-03-23 ] | |||||||||||||||||||||||||||||||||||||||||||||
|
Strangely, I cannot reproduce the problem locally. However, InnoDB execution plans are known to be indeterministic. | |||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ryan Peterson [ 2014-04-21 ] | |||||||||||||||||||||||||||||||||||||||||||||
|
The version that displays this bug is 5.5.25, not 5.5.35. My mistake. | |||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2014-04-21 ] | |||||||||||||||||||||||||||||||||||||||||||||
|
Yes, I was eventually able to reproduce it on 5.5.35; but it is not persistent, so there is no guarantee that it was actually fixed in 5.5.37 until we know which exact revision fixed it. I am working on it. | |||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2014-04-21 ] | |||||||||||||||||||||||||||||||||||||||||||||
|
There was a long story around this bug, but everything points at it being finally fixed in 5.5.34. So, if you did not see it on 5.5.35, I will assume my observation about 5.5.35 was a human error, and it was actually an earlier version which could happen. I cannot reproduce it (any longer) on 5.5.35. The following revision fixed it on 5.3 tree – it is reliably reproducible before this patch, but not since then:
It was merged into 5.5 before 5.5.34 release. On 5.5 tree though, the provided test case stopped failing (reliably?) even earlier, since this merge (happened before 5.5.30 release):
The fix definitely has something to do with the failure, since the difference between the "good" and the "bad" plan is this: Bad plan (wrong result):
Good plan (correct result):
| |||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2014-04-21 ] | |||||||||||||||||||||||||||||||||||||||||||||
|
Given the above, I'm closing it as fixed in 5.3.12 and 5.5.34. |