~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/optimizer.test

  • Committer: Monty Taylor
  • Date: 2010-08-21 04:05:07 UTC
  • mfrom: (1685.8.2 drizzle)
  • mto: This revision was merged to the branch mainline in revision 1726.
  • Revision ID: mordred@inaugust.com-20100821040507-49agnt9lqpj1abbd
Fixed crashing bug in optimizer.

Show diffs side-by-side

added added

removed removed

Lines of Context:
432
432
DROP TABLE `bb`;
433
433
DROP TABLE `dd`;
434
434
--echo End Bug#608416
 
435
 
 
436
--echo Bug#615419
 
437
--echo Crash/segfault - in drizzled::DTCollation::set (this=0x60, dt=...) at drizzled/dtcollation.cc:51 51 collation= dt.collation
 
438
--disable_warnings
 
439
DROP TABLE IF EXISTS `aa`;
 
440
DROP TABLE IF EXISTS `bb`;
 
441
DROP TABLE IF EXISTS `cc`;
 
442
--enable_warnings
 
443
 
 
444
CREATE TABLE `aa` (
 
445
  `pk` int NOT NULL AUTO_INCREMENT,
 
446
  `col_char_10_key` varchar(10) DEFAULT NULL,
 
447
  `col_char_1024_not_null_key` varchar(1024) NOT NULL,
 
448
  `col_int_not_null_key` int NOT NULL,
 
449
  `col_int_key` int DEFAULT NULL,
 
450
  `col_bigint_key` bigint DEFAULT NULL,
 
451
  PRIMARY KEY (`pk`),
 
452
  KEY `col_char_10_key` (`col_char_10_key`),
 
453
  KEY `col_char_1024_not_null_key` (`col_char_1024_not_null_key`(255)),
 
454
  KEY `col_int_not_null_key` (`col_int_not_null_key`),
 
455
  KEY `col_int_key` (`col_int_key`),
 
456
  KEY `col_bigint_key` (`col_bigint_key`)
 
457
) ENGINE=InnoDB;
 
458
 
 
459
INSERT INTO `aa` VALUES (1,'ZDPHP','well',-523436032,2071265280,NULL),(2,'AIJUR','on',1,1,NULL),(3,'NEMIU','ASUNK',621543424,NULL,-2842897264777625600),(4,'HMHFF','d',880148480,1734213632,NULL),(5,'XIXMV','m',1963982848,1505558528,3557843705622691840),(6,'k','to',8,8,-4628011567076605952),(7,'GJZBY','t',1445462016,NULL,-5755881798756204544),(8,'UGMMS','m',0,-1685520384,NULL),(9,'p','USQVA',-747241472,NULL,NULL),(10,'RMZLQ','FUBQO',6,-1431502848,-5719290051783819264);
 
460
 
 
461
CREATE TABLE `bb` (
 
462
  `col_enum_not_null_key` enum('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z') NOT NULL,
 
463
  `col_text_not_null_key` text NOT NULL,
 
464
  `col_char_10_not_null_key` varchar(10) NOT NULL,
 
465
  `col_char_1024_not_null_key` varchar(1024) NOT NULL,
 
466
  `col_bigint_key` bigint DEFAULT NULL,
 
467
  `pk` int NOT NULL AUTO_INCREMENT,
 
468
  `col_int_key` int DEFAULT NULL,
 
469
  `col_int_not_null` int NOT NULL,
 
470
  PRIMARY KEY (`pk`),
 
471
  KEY `col_enum_not_null_key` (`col_enum_not_null_key`),
 
472
  KEY `col_text_not_null_key` (`col_text_not_null_key`(255)),
 
473
  KEY `col_char_10_not_null_key` (`col_char_10_not_null_key`),
 
474
  KEY `col_char_1024_not_null_key` (`col_char_1024_not_null_key`(255)),
 
475
  KEY `col_bigint_key` (`col_bigint_key`),
 
476
  KEY `col_int_key` (`col_int_key`)
 
477
) ENGINE=InnoDB;
 
478
 
 
479
INSERT INTO `bb` VALUES ('r','','DCJRX','IHTVZ',NULL,1,NULL,763953152),('a','','x','a',NULL,2,4,-132513792),('s','','ZMHDL','s',-647673921411219456,3,-628359168,3),('i','','SJGHS','d',-5702401553181179904,4,-2114322432,-1349844992),('w','','his','TTNNK',NULL,5,105971712,-2019688448),('v','','m','GKTRR',4,6,2,-38207488),('d','','i','ZZDWO',NULL,7,NULL,3),('f','','d','up',8,8,NULL,8),('y','','from','would',NULL,9,-607322112,-1129054208),('o','','h','JNAFV',NULL,10,0,-415629312);
 
480
 
 
481
CREATE TABLE `cc` (
 
482
  `pk` int NOT NULL AUTO_INCREMENT,
 
483
  `col_int_not_null` int NOT NULL,
 
484
  `col_int_not_null_key` int NOT NULL,
 
485
  PRIMARY KEY (`pk`),
 
486
  KEY `col_int_not_null_key` (`col_int_not_null_key`)
 
487
) ENGINE=InnoDB;
 
488
 
 
489
INSERT INTO `cc` VALUES (1,9,-1665335296),(2,2,0),(3,0,1736638464),(4,-1205207040,-2136604672),(5,-330170368,3),(6,7,309592064),(7,-858259456,4),(8,-1265565696,1614217216),(9,532217856,1822883840),(10,-1106640896,1),(11,7,0),(12,-2060517376,8),(13,9,248709120),(14,3,8),(15,1633353728,-1300496384),(16,621150208,1776549888),(17,6,2053242880),(18,8,-2143551488),(19,7,1),(20,1232142336,7),(21,1089404928,1946615808),(22,2,-141492224),(23,-1999896576,1),(24,-858324992,2062483456),(25,2034565120,2115698688),(26,-2020933632,-1325596672),(27,108658688,1),(28,-1947402240,759889920),(29,-1483669504,9),(30,2,-1726873600),(31,711720960,1),(32,4,8),(33,0,381353984),(34,2,-1951727616),(35,412811264,-1688338432),(36,3,6),(37,4,-1386217472),(38,335544320,680787968),(39,-1573322752,8),(40,-1445724160,3),(41,1,8),(42,7,9),(43,998375424,-1370816512),(44,1,6),(45,6,4),(46,6,612171776),(47,6,9),(48,4,693370880),(49,1413349376,1978990592),(50,-1399783424,4),(51,5,-40304640),(52,4,-562626560),(53,1834352640,6),(54,9,6),(55,37158912,4),(56,1434648576,6),(57,1995636736,0),(58,2,-1440415744),(59,8,9),(60,-1991114752,-883687424),(61,8,5),(62,2,8),(63,-2013528064,79429632),(64,7,4128768),(65,1269104640,-1750990848),(66,563675136,1545011200),(67,707330048,3),(68,-460324864,-959643648),(69,436142080,1),(70,-1233977344,1),(71,-602931200,6),(72,6,1964769280),(73,741867520,1),(74,2045575168,4),(75,2,-117506048),(76,-1779499008,0),(77,6,1717436416),(78,1460862976,1473773568),(79,6,140902400),(80,8,4),(81,1401683968,1398669312),(82,-853671936,-1045561344),(83,58261504,-817299456),(84,7,7),(85,0,-976027648),(86,-1865809920,1135542272),(87,-1795358720,8),(88,1723465728,6),(89,-1031340032,2),(90,9,1),(91,5,-1602879488),(92,-938999808,4),(93,-2075787264,6),(94,379453440,-336789504),(95,347734016,1),(96,0,-1887174656),(97,4,8),(98,4,-1159266304),(99,1025703936,523763712),(100,1,1434124288);
 
490
 
 
491
SELECT table2 . `col_enum_not_null_key` AS field1
 
492
 FROM ( BB AS table1 STRAIGHT_JOIN
 
493
( ( BB AS table2 INNER JOIN
 
494
 CC AS table3 ON
 
495
(table3 . `col_int_not_null` = table2 . `col_bigint_key` AND ( 6, 6 )
 
496
IN ( SELECT SUBQUERY1_t1 . `col_bigint_key` AS SUBQUERY1_field1 , SUM( SUBQUERY1_t1 . `col_int_key` ) AS SUBQUERY1_field2 FROM ( AA AS SUBQUERY1_t1 RIGHT OUTER JOIN AA AS SUBQUERY1_t2 ON (SUBQUERY1_t2 . `col_int_not_null_key` = SUBQUERY1_t1 . `col_int_not_null_key` ) ) WHERE SUBQUERY1_t2 . `col_char_1024_not_null_key` != SUBQUERY1_t1 . `col_char_10_key` ) ) ) ) ON (table3 . `col_int_not_null_key` = table2 . `pk` ) ) WHERE ( ( 'a', 't' ) IN ( SELECT SUBQUERY2_t1 . `col_char_1024_not_null_key` AS SUBQUERY2_field1 , SUBQUERY2_t1 . `col_text_not_null_key` AS SUBQUERY2_field2 FROM BB AS SUBQUERY2_t1 WHERE SUBQUERY2_t1 . `col_char_1024_not_null_key` >= 'y' ) ) AND ( table1 . `col_int_key` > 20 AND table1 . `col_int_key` < ( 20 + 229 ) OR table1 . `pk` > 20 AND table1 . `pk` < ( 20 + 158 ) ) OR ( table2 . `col_char_1024_not_null_key` < table2 . `col_char_1024_not_null_key` AND table1 . `col_int_not_null` IS NULL ) HAVING field1 <> 56 ORDER BY table1 . `col_char_10_not_null_key` , table3 .`pk` DESC;
 
497
 
 
498
DROP TABLE `aa`, `bb`, `cc` ;
 
499
--echo End Bug#615419