Commit 4d3803f0 authored by unknown's avatar unknown
Browse files

Manually merged


mysql-test/r/insert_select.result:
  Auto merged
mysql-test/t/insert_select.test:
  Auto merged
parents 9ef50ebe 846c46ea
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -686,3 +686,7 @@ ERROR 42S22: Unknown column 'z' in 'field list'
insert into t1(x,y) select x,z from t2 on duplicate key update x=values(t2.x);
ERROR 42S22: Unknown column 't2.x' in 'field list'
drop table t1,t2;
CREATE TABLE t1 (a int PRIMARY KEY);
INSERT INTO t1 values (1), (2);
INSERT INTO t1 SELECT a + 2 FROM t1 LIMIT 1;
DROP TABLE t1;
+13 −0
Original line number Diff line number Diff line
@@ -224,4 +224,17 @@ insert into t1(x,y) select x,z from t2 on duplicate key update x=values(z);
insert into t1(x,y) select x,z from t2 on duplicate key update x=values(t2.x);
drop table t1,t2; 

#
# Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big 
#             tables
#

#Note: not an exsaustive test : just a check of the code path.
CREATE TABLE t1 (a int PRIMARY KEY);
INSERT INTO t1 values (1), (2);

INSERT INTO t1 SELECT a + 2 FROM t1 LIMIT 1;

DROP TABLE t1;

# End of 4.1 tests
+8 −2
Original line number Diff line number Diff line
@@ -1068,8 +1068,9 @@ JOIN::optimize()
			   group_list ? 0 : select_distinct,
			   group_list && simple_group,
			   select_options,
			   (order == 0 || skip_sort_order) ? select_limit :
			   HA_POS_ERROR,
			   (order == 0 || skip_sort_order || 
                            test(select_options & OPTION_BUFFER_RESULT)) ? 
                             select_limit : HA_POS_ERROR,
			   (char *) "")))
      DBUG_RETURN(1);

@@ -8814,6 +8815,11 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List<Item> &fields,
      keyinfo->key_length+=  key_part_info->length;
    }
  }
  else
  {
    set_if_smaller(table->max_rows, rows_limit);
    param->end_write_records= rows_limit;
  }

  if (distinct && field_count != param->hidden_field_count)
  {