@@ -374,5 +374,203 @@ NULL
374
374
Warnings:
375
375
Warning 1411 Incorrect timeout value: '-1' for function get_lock
376
376
#
377
+ # MDEV-8624 MariaDB hangs on query with many logical condition
378
+ #
379
+ CREATE TABLE `t1` (
380
+ `id` int(11) NOT NULL AUTO_INCREMENT,
381
+ `submitdate` datetime DEFAULT NULL,
382
+ `lastpage` int(11) DEFAULT NULL,
383
+ `startlanguage` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
384
+ `token` varchar(36) COLLATE utf8_unicode_ci DEFAULT NULL,
385
+ `datestamp` datetime NOT NULL,
386
+ `startdate` datetime NOT NULL,
387
+ `ipaddr` text COLLATE utf8_unicode_ci,
388
+ `refurl` text COLLATE utf8_unicode_ci,
389
+ `57813X540X1723` text COLLATE utf8_unicode_ci,
390
+ `57813X540X1724` text COLLATE utf8_unicode_ci,
391
+ `57813X540X1725` text COLLATE utf8_unicode_ci,
392
+ `57813X540X1726` double DEFAULT NULL,
393
+ `57813X540X1909` double DEFAULT NULL,
394
+ `57813X541X17271` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
395
+ `57813X541X17272` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
396
+ `57813X541X17273` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
397
+ `57813X541X17274` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
398
+ `57813X541X17275` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
399
+ `57813X541X17276` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
400
+ `57813X541X17281` text COLLATE utf8_unicode_ci,
401
+ `57813X541X17282` text COLLATE utf8_unicode_ci,
402
+ `57813X541X17283` text COLLATE utf8_unicode_ci,
403
+ `57813X541X17284` text COLLATE utf8_unicode_ci,
404
+ `57813X541X17285` text COLLATE utf8_unicode_ci,
405
+ `57813X541X17286` text COLLATE utf8_unicode_ci,
406
+ `57813X542X18131` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
407
+ `57813X542X18132` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
408
+ `57813X542X18133` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
409
+ `57813X542X18134` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
410
+ `57813X542X18135` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
411
+ `57813X542X18136` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
412
+ `57813X542X18137` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
413
+ `57813X542X18138` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
414
+ `57813X542X18139` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
415
+ `57813X542X18141` text COLLATE utf8_unicode_ci,
416
+ `57813X542X18142` text COLLATE utf8_unicode_ci,
417
+ `57813X542X18143` text COLLATE utf8_unicode_ci,
418
+ `57813X542X18144` text COLLATE utf8_unicode_ci,
419
+ `57813X542X18145` text COLLATE utf8_unicode_ci,
420
+ `57813X542X18146` text COLLATE utf8_unicode_ci,
421
+ `57813X542X18147` text COLLATE utf8_unicode_ci,
422
+ `57813X542X18148` text COLLATE utf8_unicode_ci,
423
+ `57813X542X18149` text COLLATE utf8_unicode_ci,
424
+ `57813X543X18451` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
425
+ `57813X543X18452` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
426
+ `57813X543X18453` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
427
+ `57813X543X18454` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
428
+ `57813X543X18455` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
429
+ `57813X543X18456` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
430
+ `57813X543X18461` text COLLATE utf8_unicode_ci,
431
+ `57813X543X18462` text COLLATE utf8_unicode_ci,
432
+ `57813X543X18463` text COLLATE utf8_unicode_ci,
433
+ `57813X543X18464` text COLLATE utf8_unicode_ci,
434
+ `57813X543X18465` text COLLATE utf8_unicode_ci,
435
+ `57813X543X18466` text COLLATE utf8_unicode_ci,
436
+ `57813X544X18711` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
437
+ `57813X544X18712` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
438
+ `57813X544X18713` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
439
+ `57813X544X18714` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
440
+ `57813X544X18715` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
441
+ `57813X544X18716` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
442
+ `57813X544X18717` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
443
+ `57813X544X18718` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
444
+ `57813X544X18721` text COLLATE utf8_unicode_ci,
445
+ `57813X544X18722` text COLLATE utf8_unicode_ci,
446
+ `57813X544X18723` text COLLATE utf8_unicode_ci,
447
+ `57813X544X18724` text COLLATE utf8_unicode_ci,
448
+ `57813X544X18725` text COLLATE utf8_unicode_ci,
449
+ `57813X544X18726` text COLLATE utf8_unicode_ci,
450
+ `57813X544X18727` text COLLATE utf8_unicode_ci,
451
+ `57813X544X18728` text COLLATE utf8_unicode_ci,
452
+ `57813X546X1902` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
453
+ `57813X546X1903` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
454
+ `57813X546X1904` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
455
+ `57813X545X1901` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL,
456
+ PRIMARY KEY (`id`),
457
+ KEY `lime_survey_57813_idx` (`token`),
458
+ KEY `57813X540X1723` (`57813X540X1723`(100)),
459
+ KEY `57813X540X1724` (`57813X540X1724`(100)),
460
+ KEY `57813X540X1726` (`57813X540X1726`),
461
+ KEY `57813X540X1725` (`57813X540X1725`(100)),
462
+ KEY `57813X546X1902` (`57813X546X1902`),
463
+ KEY `57813X546X1903` (`57813X546X1903`),
464
+ KEY `57813X546X1904` (`57813X546X1904`)
465
+ );
466
+ SELECT
467
+ COUNT(*) as `N`,
468
+ ROUND(
469
+ (
470
+ SUM(
471
+ (
472
+ (
473
+ IF( 57813X541X17271 IS NOT NULL AND 57813X541X17271 != '' AND 57813X541X17271 != '99', 57813X541X17271, 0 ) +
474
+ IF( 57813X541X17272 IS NOT NULL AND 57813X541X17272 != '' AND 57813X541X17272 != '99', 57813X541X17272, 0 ) +
475
+ IF( 57813X541X17273 IS NOT NULL AND 57813X541X17273 != '' AND 57813X541X17273 != '99', 57813X541X17273, 0 ) +
476
+ IF( 57813X541X17274 IS NOT NULL AND 57813X541X17274 != '' AND 57813X541X17274 != '99', 57813X541X17274, 0 ) +
477
+ IF( 57813X541X17275 IS NOT NULL AND 57813X541X17275 != '' AND 57813X541X17275 != '99', 57813X541X17275, 0 ) +
478
+ IF( 57813X541X17276 IS NOT NULL AND 57813X541X17276 != '' AND 57813X541X17276 != '99', 57813X541X17276, 0 ) +
479
+ IF( 57813X542X18131 IS NOT NULL AND 57813X542X18131 != '' AND 57813X542X18131 != '99', 57813X542X18131, 0 ) +
480
+ IF( 57813X542X18132 IS NOT NULL AND 57813X542X18132 != '' AND 57813X542X18132 != '99', 57813X542X18132, 0 ) +
481
+ IF( 57813X542X18133 IS NOT NULL AND 57813X542X18133 != '' AND 57813X542X18133 != '99', 57813X542X18133, 0 ) +
482
+ IF( 57813X542X18134 IS NOT NULL AND 57813X542X18134 != '' AND 57813X542X18134 != '99', 57813X542X18134, 0 ) +
483
+ IF( 57813X542X18135 IS NOT NULL AND 57813X542X18135 != '' AND 57813X542X18135 != '99', 57813X542X18135, 0 ) +
484
+ IF( 57813X542X18136 IS NOT NULL AND 57813X542X18136 != '' AND 57813X542X18136 != '99', 57813X542X18136, 0 ) +
485
+ IF( 57813X542X18137 IS NOT NULL AND 57813X542X18137 != '' AND 57813X542X18137 != '99', 57813X542X18137, 0 ) +
486
+ IF( 57813X542X18138 IS NOT NULL AND 57813X542X18138 != '' AND 57813X542X18138 != '99', 57813X542X18138, 0 ) +
487
+ IF( 57813X542X18139 IS NOT NULL AND 57813X542X18139 != '' AND 57813X542X18139 != '99', 57813X542X18139, 0 ) +
488
+ IF( 57813X543X18451 IS NOT NULL AND 57813X543X18451 != '' AND 57813X543X18451 != '99', 57813X543X18451, 0 ) +
489
+ IF( 57813X543X18452 IS NOT NULL AND 57813X543X18452 != '' AND 57813X543X18452 != '99', 57813X543X18452, 0 ) +
490
+ IF( 57813X543X18453 IS NOT NULL AND 57813X543X18453 != '' AND 57813X543X18453 != '99', 57813X543X18453, 0 ) +
491
+ IF( 57813X543X18454 IS NOT NULL AND 57813X543X18454 != '' AND 57813X543X18454 != '99', 57813X543X18454, 0 ) +
492
+ IF( 57813X543X18455 IS NOT NULL AND 57813X543X18455 != '' AND 57813X543X18455 != '99', 57813X543X18455, 0 ) +
493
+ IF( 57813X543X18456 IS NOT NULL AND 57813X543X18456 != '' AND 57813X543X18456 != '99', 57813X543X18456, 0 ) +
494
+ IF( 57813X544X18711 IS NOT NULL AND 57813X544X18711 != '' AND 57813X544X18711 != '99', 57813X544X18711, 0 ) +
495
+ IF( 57813X544X18712 IS NOT NULL AND 57813X544X18712 != '' AND 57813X544X18712 != '99', 57813X544X18712, 0 ) +
496
+ IF( 57813X544X18713 IS NOT NULL AND 57813X544X18713 != '' AND 57813X544X18713 != '99', 57813X544X18713, 0 ) +
497
+ IF( 57813X544X18714 IS NOT NULL AND 57813X544X18714 != '' AND 57813X544X18714 != '99', 57813X544X18714, 0 ) +
498
+ IF( 57813X544X18715 IS NOT NULL AND 57813X544X18715 != '' AND 57813X544X18715 != '99', 57813X544X18715, 0 ) +
499
+ IF( 57813X544X18716 IS NOT NULL AND 57813X544X18716 != '' AND 57813X544X18716 != '99', 57813X544X18716, 0 ) +
500
+ IF( 57813X544X18717 IS NOT NULL AND 57813X544X18717 != '' AND 57813X544X18717 != '99', 57813X544X18717, 0 ) +
501
+ IF( 57813X544X18718 IS NOT NULL AND 57813X544X18718 != '' AND 57813X544X18718 != '99', 57813X544X18718, 0 )
502
+ )
503
+ /
504
+ (
505
+ IF( 57813X541X17271 IS NOT NULL AND 57813X541X17271 != '' AND 57813X541X17271 != '99', 1, 0 ) +
506
+ IF( 57813X541X17272 IS NOT NULL AND 57813X541X17272 != '' AND 57813X541X17272 != '99', 1, 0 ) +
507
+ IF( 57813X541X17273 IS NOT NULL AND 57813X541X17273 != '' AND 57813X541X17273 != '99', 1, 0 ) +
508
+ IF( 57813X541X17274 IS NOT NULL AND 57813X541X17274 != '' AND 57813X541X17274 != '99', 1, 0 ) +
509
+ IF( 57813X541X17275 IS NOT NULL AND 57813X541X17275 != '' AND 57813X541X17275 != '99', 1, 0 ) +
510
+ IF( 57813X541X17276 IS NOT NULL AND 57813X541X17276 != '' AND 57813X541X17276 != '99', 1, 0 ) +
511
+ IF( 57813X542X18131 IS NOT NULL AND 57813X542X18131 != '' AND 57813X542X18131 != '99', 1, 0 ) +
512
+ IF( 57813X542X18132 IS NOT NULL AND 57813X542X18132 != '' AND 57813X542X18132 != '99', 1, 0 ) +
513
+ IF( 57813X542X18133 IS NOT NULL AND 57813X542X18133 != '' AND 57813X542X18133 != '99', 1, 0 ) +
514
+ IF( 57813X542X18134 IS NOT NULL AND 57813X542X18134 != '' AND 57813X542X18134 != '99', 1, 0 ) +
515
+ IF( 57813X542X18135 IS NOT NULL AND 57813X542X18135 != '' AND 57813X542X18135 != '99', 1, 0 ) +
516
+ IF( 57813X542X18136 IS NOT NULL AND 57813X542X18136 != '' AND 57813X542X18136 != '99', 1, 0 ) +
517
+ IF( 57813X542X18137 IS NOT NULL AND 57813X542X18137 != '' AND 57813X542X18137 != '99', 1, 0 ) +
518
+ IF( 57813X542X18138 IS NOT NULL AND 57813X542X18138 != '' AND 57813X542X18138 != '99', 1, 0 ) +
519
+ IF( 57813X542X18139 IS NOT NULL AND 57813X542X18139 != '' AND 57813X542X18139 != '99', 1, 0 ) +
520
+ IF( 57813X543X18451 IS NOT NULL AND 57813X543X18451 != '' AND 57813X543X18451 != '99', 1, 0 ) +
521
+ IF( 57813X543X18452 IS NOT NULL AND 57813X543X18452 != '' AND 57813X543X18452 != '99', 1, 0 ) +
522
+ IF( 57813X543X18453 IS NOT NULL AND 57813X543X18453 != '' AND 57813X543X18453 != '99', 1, 0 ) +
523
+ IF( 57813X543X18454 IS NOT NULL AND 57813X543X18454 != '' AND 57813X543X18454 != '99', 1, 0 ) +
524
+ IF( 57813X543X18455 IS NOT NULL AND 57813X543X18455 != '' AND 57813X543X18455 != '99', 1, 0 ) +
525
+ IF( 57813X543X18456 IS NOT NULL AND 57813X543X18456 != '' AND 57813X543X18456 != '99', 1, 0 ) +
526
+ IF( 57813X544X18711 IS NOT NULL AND 57813X544X18711 != '' AND 57813X544X18711 != '99', 1, 0 ) +
527
+ IF( 57813X544X18712 IS NOT NULL AND 57813X544X18712 != '' AND 57813X544X18712 != '99', 1, 0 ) +
528
+ IF( 57813X544X18713 IS NOT NULL AND 57813X544X18713 != '' AND 57813X544X18713 != '99', 1, 0 ) +
529
+ IF( 57813X544X18714 IS NOT NULL AND 57813X544X18714 != '' AND 57813X544X18714 != '99', 1, 0 ) +
530
+ IF( 57813X544X18715 IS NOT NULL AND 57813X544X18715 != '' AND 57813X544X18715 != '99', 1, 0 ) +
531
+ IF( 57813X544X18716 IS NOT NULL AND 57813X544X18716 != '' AND 57813X544X18716 != '99', 1, 0 ) +
532
+ IF( 57813X544X18717 IS NOT NULL AND 57813X544X18717 != '' AND 57813X544X18717 != '99', 1, 0 ) +
533
+ IF( 57813X544X18718 IS NOT NULL AND 57813X544X18718 != '' AND 57813X544X18718 != '99', 1, 0 )
534
+ )
535
+ )
536
+ )
537
+ / COUNT(*) ), 4) as `AVG`
538
+ FROM `t1`
539
+ WHERE `submitdate` IS NOT NULL
540
+ AND (
541
+ ( 57813X541X17271 IS NOT NULL AND 57813X541X17271 != '' AND 57813X541X17271 != '99' ) OR
542
+ ( 57813X541X17272 IS NOT NULL AND 57813X541X17272 != '' AND 57813X541X17272 != '99' ) OR
543
+ ( 57813X541X17273 IS NOT NULL AND 57813X541X17273 != '' AND 57813X541X17273 != '99' ) OR
544
+ ( 57813X541X17274 IS NOT NULL AND 57813X541X17274 != '' AND 57813X541X17274 != '99' ) OR
545
+ ( 57813X541X17275 IS NOT NULL AND 57813X541X17275 != '' AND 57813X541X17275 != '99' ) OR
546
+ ( 57813X541X17276 IS NOT NULL AND 57813X541X17276 != '' AND 57813X541X17276 != '99' ) OR
547
+ ( 57813X542X18131 IS NOT NULL AND 57813X542X18131 != '' AND 57813X542X18131 != '99' ) OR
548
+ ( 57813X542X18132 IS NOT NULL AND 57813X542X18132 != '' AND 57813X542X18132 != '99' ) OR
549
+ ( 57813X542X18133 IS NOT NULL AND 57813X542X18133 != '' AND 57813X542X18133 != '99' ) OR
550
+ ( 57813X542X18134 IS NOT NULL AND 57813X542X18134 != '' AND 57813X542X18134 != '99' ) OR
551
+ ( 57813X542X18135 IS NOT NULL AND 57813X542X18135 != '' AND 57813X542X18135 != '99' ) OR
552
+ ( 57813X542X18136 IS NOT NULL AND 57813X542X18136 != '' AND 57813X542X18136 != '99' ) OR
553
+ ( 57813X542X18137 IS NOT NULL AND 57813X542X18137 != '' AND 57813X542X18137 != '99' ) OR
554
+ ( 57813X542X18138 IS NOT NULL AND 57813X542X18138 != '' AND 57813X542X18138 != '99' ) OR
555
+ ( 57813X542X18139 IS NOT NULL AND 57813X542X18139 != '' AND 57813X542X18139 != '99' ) OR
556
+ ( 57813X543X18451 IS NOT NULL AND 57813X543X18451 != '' AND 57813X543X18451 != '99' ) OR
557
+ ( 57813X543X18452 IS NOT NULL AND 57813X543X18452 != '' AND 57813X543X18452 != '99' ) OR
558
+ ( 57813X543X18453 IS NOT NULL AND 57813X543X18453 != '' AND 57813X543X18453 != '99' ) OR
559
+ ( 57813X543X18454 IS NOT NULL AND 57813X543X18454 != '' AND 57813X543X18454 != '99' ) OR
560
+ ( 57813X543X18455 IS NOT NULL AND 57813X543X18455 != '' AND 57813X543X18455 != '99' ) OR
561
+ ( 57813X543X18456 IS NOT NULL AND 57813X543X18456 != '' AND 57813X543X18456 != '99' ) OR
562
+ ( 57813X544X18711 IS NOT NULL AND 57813X544X18711 != '' AND 57813X544X18711 != '99' ) OR
563
+ ( 57813X544X18712 IS NOT NULL AND 57813X544X18712 != '' AND 57813X544X18712 != '99' ) OR
564
+ ( 57813X544X18713 IS NOT NULL AND 57813X544X18713 != '' AND 57813X544X18713 != '99' ) OR
565
+ ( 57813X544X18714 IS NOT NULL AND 57813X544X18714 != '' AND 57813X544X18714 != '99' ) OR
566
+ ( 57813X544X18715 IS NOT NULL AND 57813X544X18715 != '' AND 57813X544X18715 != '99' ) OR
567
+ ( 57813X544X18716 IS NOT NULL AND 57813X544X18716 != '' AND 57813X544X18716 != '99' ) OR
568
+ ( 57813X544X18717 IS NOT NULL AND 57813X544X18717 != '' AND 57813X544X18717 != '99' ) OR
569
+ ( 57813X544X18718 IS NOT NULL AND 57813X544X18718 != '' AND 57813X544X18718 != '99' ) )
570
+ AND 57813X540X1723 = 'Test';
571
+ N AVG
572
+ 0 NULL
573
+ drop table t1;
574
+ #
377
575
# End of 5.5 tests
378
576
#
0 commit comments