mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Make test results stable (they weren't, because filesort() used to read
from a heap temptable, which uses pointers to records (that is, byte* pointers) as rowids. This meant that for rows with the same sort key value, the order was determined by memory layout.
This commit is contained in:
@@ -44,24 +44,24 @@ a FORMAT(MATCH (message) AGAINST ('steve'),6)
|
||||
SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE a=7 and MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY 1;
|
||||
a MATCH (message) AGAINST ('steve' IN BOOLEAN MODE)
|
||||
7 1
|
||||
SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) as rel FROM t1 ORDER BY rel;
|
||||
a rel
|
||||
1 0.000000
|
||||
5 0.000000
|
||||
2 0.000000
|
||||
6 0.000000
|
||||
3 0.000000
|
||||
7 0.895690
|
||||
4 0.905873
|
||||
SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel;
|
||||
a rel
|
||||
1 0
|
||||
2 0
|
||||
3 0
|
||||
5 0
|
||||
6 0
|
||||
4 1
|
||||
7 1
|
||||
SELECT IF(a=7,'steve-is-cool',IF(a=4,'cool', 'other')), FORMAT(MATCH (message) AGAINST ('steve'),6) as rel FROM t1 ORDER BY rel;
|
||||
IF(a=7,'steve-is-cool',IF(a=4,'cool', 'other')) rel
|
||||
other 0.000000
|
||||
other 0.000000
|
||||
other 0.000000
|
||||
other 0.000000
|
||||
other 0.000000
|
||||
steve-is-cool 0.895690
|
||||
cool 0.905873
|
||||
SELECT IF(a=7,'steve-is-cool',IF(a=4,'cool', 'other')), MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel;
|
||||
IF(a=7,'steve-is-cool',IF(a=4,'cool', 'other')) rel
|
||||
other 0
|
||||
other 0
|
||||
other 0
|
||||
other 0
|
||||
other 0
|
||||
steve-is-cool 1
|
||||
cool 1
|
||||
alter table t1 add key m (message);
|
||||
explain SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
|
@@ -28,8 +28,8 @@ SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) FROM t1 WHERE a=7 and MATC
|
||||
SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE a=7 and MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) ORDER BY 1;
|
||||
|
||||
# ORDER BY MATCH
|
||||
SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) as rel FROM t1 ORDER BY rel;
|
||||
SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel;
|
||||
SELECT IF(a=7,'steve-is-cool',IF(a=4,'cool', 'other')), FORMAT(MATCH (message) AGAINST ('steve'),6) as rel FROM t1 ORDER BY rel;
|
||||
SELECT IF(a=7,'steve-is-cool',IF(a=4,'cool', 'other')), MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel;
|
||||
|
||||
#
|
||||
# BUG#6635 - test_if_skip_sort_order() thought it can skip filesort
|
||||
|
Reference in New Issue
Block a user