Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.3, 10.4, 10.5, 10.6, 10.7
-
None
Description
CREATE TABLE t (a varchar(64) /*!100301 COMPRESSED*/, b INT) CHARSET utf32; |
INSERT INTO t VALUES ('foo',1),('bar',2); |
|
SELECT a, HEX(a) FROM t WHERE b IN ( SELECT b FROM t WHERE b IN ( SELECT b FROM t ) ) ORDER BY a; |
SELECT a, HEX(a) FROM t WHERE b IN ( SELECT b FROM t WHERE b IN ( SELECT b FROM t ) ); |
|
# Cleanup
|
DROP TABLE t; |
The second (unordered) select returns the expected values. The first one, with ORDER BY, returns garbage, even though HEX is okay.
10.3 3fd80d08 with utf32 |
SELECT a, HEX(a) FROM t WHERE b IN ( SELECT b FROM t WHERE b IN ( SELECT b FROM t ) ) ORDER BY a; |
a HEX(a)
|
000000660000006F0000006F
|
000000620000006100000072
|
SELECT a, HEX(a) FROM t WHERE b IN ( SELECT b FROM t WHERE b IN ( SELECT b FROM t ) ); |
a HEX(a)
|
foo 000000660000006F0000006F
|
bar 000000620000006100000072
|
with utf16 |
SELECT a, HEX(a) FROM t WHERE b IN ( SELECT b FROM t WHERE b IN ( SELECT b FROM t ) ) ORDER BY a; |
a HEX(a)
|
ba 006200610072
|
fo 0066006F006F
|
SELECT a, HEX(a) FROM t WHERE b IN ( SELECT b FROM t WHERE b IN ( SELECT b FROM t ) ); |
a HEX(a)
|
foo 0066006F006F
|
bar 006200610072
|