summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2011-07-22 21:39:55 -0700
committerIgor Babaev <igor@askmonty.org>2011-07-22 21:39:55 -0700
commitd117f51901adc011d6d655216ec19ee0559e6acf (patch)
tree27966c23b482817f4115fded3057b2f4b39f3e92
parent2092436457414f93061715dc7b45dbbe28f1e111 (diff)
downloadmariadb-git-d117f51901adc011d6d655216ec19ee0559e6acf.tar.gz
Fixed a crash with pbxt.subselect when 'derived_merge' is set off in
the optimizer switch.
-rw-r--r--mysql-test/suite/pbxt/r/subselect.result3
-rw-r--r--mysql-test/suite/pbxt/t/subselect.test5
-rw-r--r--sql/sql_select.cc2
3 files changed, 1 insertions, 9 deletions
diff --git a/mysql-test/suite/pbxt/r/subselect.result b/mysql-test/suite/pbxt/r/subselect.result
index f2a5def6336..b5aa8317180 100644
--- a/mysql-test/suite/pbxt/r/subselect.result
+++ b/mysql-test/suite/pbxt/r/subselect.result
@@ -2627,8 +2627,6 @@ createDate datetime NOT NULL,
modifyDate timestamp NOT NULL
);
INSERT INTO t5 VALUES (5141,12,'2004-08-06','2004-08-06');
-set @save_optimizer_switch=@@optimizer_switch;
-set optimizer_switch='derived_merge=on';
select
count(distinct t2.userid) pass,
groupstuff.*,
@@ -2670,7 +2668,6 @@ pass userid parentid parentgroup childid groupname grouptypeid crse categoryid c
1 5141 12 group2 12 group2 5 1 1 87 Oct04
1 5141 12 group2 12 group2 5 1 2 88 Oct04
1 5141 12 group2 12 group2 5 1 2 89 Oct04
-set optimizer_switch=@save_optimizer_switch;
drop table t1, t2, t3, t4, t5;
create table t1 (a int);
insert into t1 values (1), (2), (3);
diff --git a/mysql-test/suite/pbxt/t/subselect.test b/mysql-test/suite/pbxt/t/subselect.test
index 4c78d2f805b..3f4d6a9a870 100644
--- a/mysql-test/suite/pbxt/t/subselect.test
+++ b/mysql-test/suite/pbxt/t/subselect.test
@@ -1674,9 +1674,6 @@ CREATE TABLE t5 (
);
INSERT INTO t5 VALUES (5141,12,'2004-08-06','2004-08-06');
-set @save_optimizer_switch=@@optimizer_switch;
-set optimizer_switch='derived_merge=on';
-
select
count(distinct t2.userid) pass,
groupstuff.*,
@@ -1709,8 +1706,6 @@ join
group by
groupstuff.groupname, colhead , t2.courseid;
-set optimizer_switch=@save_optimizer_switch;
-
drop table t1, t2, t3, t4, t5;
#
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index deb1fed4249..7301e51bdbe 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -5365,7 +5365,7 @@ best_access_path(JOIN *join,
/* Estimate the cost of the hash join access to the table */
ha_rows rnd_records= matching_candidates_in_table(s, found_constraint);
- tmp= s->quick ? s->quick->read_time : s->table->file->scan_time();
+ tmp= s->quick ? s->quick->read_time : s->scan_time();
tmp+= (s->records - rnd_records)/(double) TIME_FOR_COMPARE;
/* We read the table as many times as join buffer becomes full. */