Commit 6d399b0c authored by unknown's avatar unknown
Browse files

Merge mysql.com:/home/kgeorge/mysql/5.0/teamclean

into  mysql.com:/home/kgeorge/mysql/5.0/B18080


sql/sql_parse.cc:
  Auto merged
parents ea3392fb b92ad63f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -690,3 +690,8 @@ 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;
CREATE TABLE t1 (x int, y int);
CREATE TABLE t2 (z int, y int);
CREATE TABLE t3 (a int, b int);
INSERT INTO t3 (SELECT x, y FROM t1 JOIN t2 USING (y) WHERE z = 1);
DROP TABLE IF EXISTS t1,t2,t3;
+9 −0
Original line number Diff line number Diff line
@@ -238,3 +238,12 @@ INSERT INTO t1 SELECT a + 2 FROM t1 LIMIT 1;
DROP TABLE t1;

# End of 4.1 tests

#
# Bug #18080: INSERT ... SELECT ... JOIN results in ambiguous field list error
#
CREATE TABLE t1 (x int, y int);
CREATE TABLE t2 (z int, y int);
CREATE TABLE t3 (a int, b int);
INSERT INTO t3 (SELECT x, y FROM t1 JOIN t2 USING (y) WHERE z = 1);
DROP TABLE IF EXISTS t1,t2,t3;
+0 −9
Original line number Diff line number Diff line
@@ -3333,15 +3333,6 @@ mysql_execute_command(THD *thd)
                                             &lex->value_list,
                                             lex->duplicates, lex->ignore)))
      {
        /*
          Skip first table, which is the table we are inserting in.
          Below we set context.table_list again because the call above to
          mysql_insert_select_prepare() calls resolve_in_table_list_only(),
          which in turn resets context.table_list and
          context.first_name_resolution_table.
        */
        select_lex->context.table_list= 
          select_lex->context.first_name_resolution_table= second_table;
	res= handle_select(thd, lex, result, OPTION_SETUP_TABLES_DONE);
        /*
          Invalidate the table in the query cache if something changed