|
| 1 | +# for innodb_purge_stop_now=ON |
| 2 | +--source include/have_debug.inc |
| 3 | + |
| 4 | +--echo # |
| 5 | +--echo # Bug #35854362: INCORRECT RESULTS WHEN USING GROUP BY LOOSE |
| 6 | +--echo # INDEX SCAN |
| 7 | +--echo # |
| 8 | + |
| 9 | +CREATE TABLE t1 ( |
| 10 | + a1 CHAR(64), |
| 11 | + a2 CHAR(64), |
| 12 | + b CHAR(16), |
| 13 | + c CHAR(16) NOT NULL, |
| 14 | + d CHAR(16), |
| 15 | + dummy CHAR(248) DEFAULT ' ' |
| 16 | + ); |
| 17 | + |
| 18 | +INSERT INTO t1 (a1, a2, b, c, d) VALUES |
| 19 | +('a','a','a','a111','xy1'),('a','a','a','b111','xy2'),('a','a','a','c111','xy3'),('a','a','a','d111','xy4'), |
| 20 | +('a','a','b','e112','xy1'),('a','a','b','f112','xy2'),('a','a','b','g112','xy3'),('a','a','b','h112','xy4'), |
| 21 | +('a','b','a','i121','xy1'),('a','b','a','j121','xy2'),('a','b','a','k121','xy3'),('a','b','a','l121','xy4'), |
| 22 | +('a','b','b','m122','xy1'),('a','b','b','n122','xy2'),('a','b','b','o122','xy3'),('a','b','b','p122','xy4'), |
| 23 | +('b','a','a','a211','xy1'),('b','a','a','b211','xy2'),('b','a','a','c211','xy3'),('b','a','a','d211','xy4'), |
| 24 | +('b','a','b','e212','xy1'),('b','a','b','f212','xy2'),('b','a','b','g212','xy3'),('b','a','b','h212','xy4'), |
| 25 | +('b','b','a','i221','xy1'),('b','b','a','j221','xy2'),('b','b','a','k221','xy3'),('b','b','a','l221','xy4'), |
| 26 | +('b','b','b','m222','xy1'),('b','b','b','n222','xy2'),('b','b','b','o222','xy3'),('b','b','b','p222','xy4'), |
| 27 | +('c','a','a','a311','xy1'),('c','a','a','b311','xy2'),('c','a','a','c311','xy3'),('c','a','a','d311','xy4'), |
| 28 | +('c','a','b','e312','xy1'),('c','a','b','f312','xy2'),('c','a','b','g312','xy3'),('c','a','b','h312','xy4'), |
| 29 | +('c','b','a','i321','xy1'),('c','b','a','j321','xy2'),('c','b','a','k321','xy3'),('c','b','a','l321','xy4'), |
| 30 | +('c','b','b','m322','xy1'),('c','b','b','n322','xy2'),('c','b','b','o322','xy3'),('c','b','b','p322','xy4'), |
| 31 | +('d','a','a','a411','xy1'),('d','a','a','b411','xy2'),('d','a','a','c411','xy3'),('d','a','a','d411','xy4'), |
| 32 | +('d','a','b','e412','xy1'),('d','a','b','f412','xy2'),('d','a','b','g412','xy3'),('d','a','b','h412','xy4'), |
| 33 | +('d','b','a','i421','xy1'),('d','b','a','j421','xy2'),('d','b','a','k421','xy3'),('d','b','a','l421','xy4'), |
| 34 | +('d','b','b','m422','xy1'),('d','b','b','n422','xy2'),('d','b','b','o422','xy3'),('d','b','b','p422','xy4'), |
| 35 | +('a','a','a','a111','xy1'),('a','a','a','b111','xy2'),('a','a','a','c111','xy3'),('a','a','a','d111','xy4'), |
| 36 | +('a','a','b','e112','xy1'),('a','a','b','f112','xy2'),('a','a','b','g112','xy3'),('a','a','b','h112','xy4'), |
| 37 | +('a','b','a','i121','xy1'),('a','b','a','j121','xy2'),('a','b','a','k121','xy3'),('a','b','a','l121','xy4'), |
| 38 | +('a','b','b','m122','xy1'),('a','b','b','n122','xy2'),('a','b','b','o122','xy3'),('a','b','b','p122','xy4'), |
| 39 | +('b','a','a','a211','xy1'),('b','a','a','b211','xy2'),('b','a','a','c211','xy3'),('b','a','a','d211','xy4'), |
| 40 | +('b','a','b','e212','xy1'),('b','a','b','f212','xy2'),('b','a','b','g212','xy3'),('b','a','b','h212','xy4'), |
| 41 | +('b','b','a','i221','xy1'),('b','b','a','j221','xy2'),('b','b','a','k221','xy3'),('b','b','a','l221','xy4'), |
| 42 | +('b','b','b','m222','xy1'),('b','b','b','n222','xy2'),('b','b','b','o222','xy3'),('b','b','b','p222','xy4'), |
| 43 | +('c','a','a','a311','xy1'),('c','a','a','b311','xy2'),('c','a','a','c311','xy3'),('c','a','a','d311','xy4'), |
| 44 | +('c','a','b','e312','xy1'),('c','a','b','f312','xy2'),('c','a','b','g312','xy3'),('c','a','b','h312','xy4'), |
| 45 | +('c','b','a','i321','xy1'),('c','b','a','j321','xy2'),('c','b','a','k321','xy3'),('c','b','a','l321','xy4'), |
| 46 | +('c','b','b','m322','xy1'),('c','b','b','n322','xy2'),('c','b','b','o322','xy3'),('c','b','b','p322','xy4'), |
| 47 | +('d','a','a','a411','xy1'),('d','a','a','b411','xy2'),('d','a','a','c411','xy3'),('d','a','a','d411','xy4'), |
| 48 | +('d','a','b','e412','xy1'),('d','a','b','f412','xy2'),('d','a','b','g412','xy3'),('d','a','b','h412','xy4'), |
| 49 | +('d','b','a','i421','xy1'),('d','b','a','j421','xy2'),('d','b','a','k421','xy3'),('d','b','a','l421','xy4'), |
| 50 | +('d','b','b','m422','xy1'),('d','b','b','n422','xy2'),('d','b','b','o422','xy3'),('d','b','b','p422','xy4'); |
| 51 | + |
| 52 | +CREATE INDEX idx_t1_0 ON t1 (a1); |
| 53 | +CREATE INDEX idx_t1_1 ON t1 (a1,a2,b,c); |
| 54 | +CREATE INDEX idx_t1_2 on t1 (a1,a2,b); |
| 55 | +SET SESSION DEBUG="+d,force_lis_for_group_by"; |
| 56 | + |
| 57 | +INSERT INTO t1 ( |
| 58 | + WITH RECURSIVE a (i) AS ( |
| 59 | + SELECT 0 |
| 60 | + UNION ALL |
| 61 | + SELECT i+1 FROM a where i < 9 |
| 62 | + ), |
| 63 | + b (i) AS ( |
| 64 | + SELECT x.i + y.i * 10 + z.i * 100 |
| 65 | + FROM a x, a y, a z |
| 66 | + ) |
| 67 | + SELECT 'b','a','a','a211','xy1','' FROM b |
| 68 | +); |
| 69 | + |
| 70 | +SELECT @@innodb_purge_stop_now INTO @old_val; |
| 71 | +SET GLOBAL innodb_purge_stop_now = 1; |
| 72 | + |
| 73 | +DELETE FROM t1 WHERE a1 = 'b'; |
| 74 | + |
| 75 | +SELECT DISTINCT a1 |
| 76 | +FROM t1 |
| 77 | +WHERE a1 IN ('a', 'd') |
| 78 | + AND a2 = 'b'; |
| 79 | + |
| 80 | +SET SESSION DEBUG="-d,force_lis_for_group_by"; |
| 81 | +SET GLOBAL innodb_purge_stop_now = @old_val; |
| 82 | +SET GLOBAL innodb_purge_run_now=1; |
| 83 | + |
| 84 | +DROP TABLE t1; |
0 commit comments