Commit 9825da76 authored by unknown's avatar unknown
Browse files

Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0

into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21081

parents afedaa10 7efdc62f
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -1311,4 +1311,25 @@ EXECUTE stmt USING @a;
i	j	i	i	j
DEALLOCATE PREPARE stmt;
DROP TABLE IF EXISTS t1, t2, t3;
DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (i INT KEY);
CREATE TABLE t2 (i INT);
INSERT INTO t1 VALUES (1), (2);
INSERT INTO t2 VALUES (1);
PREPARE stmt FROM "SELECT t2.i FROM t1 LEFT JOIN t2 ON t2.i = t1.i
                   WHERE t1.i = ?";
SET @arg= 1;
EXECUTE stmt USING @arg;
i
1
SET @arg= 2;
EXECUTE stmt USING @arg;
i
NULL
SET @arg= 1;
EXECUTE stmt USING @arg;
i
1
DEALLOCATE PREPARE stmt;
DROP TABLE t1, t2;
End of 5.0 tests.
+27 −0
Original line number Diff line number Diff line
@@ -1358,4 +1358,31 @@ DEALLOCATE PREPARE stmt;
DROP TABLE IF EXISTS t1, t2, t3;


#
# BUG#21081: SELECT inside stored procedure returns wrong results
#
--disable_warnings
DROP TABLE IF EXISTS t1, t2;
--enable_warnings

CREATE TABLE t1 (i INT KEY);
CREATE TABLE t2 (i INT);

INSERT INTO t1 VALUES (1), (2);
INSERT INTO t2 VALUES (1);

PREPARE stmt FROM "SELECT t2.i FROM t1 LEFT JOIN t2 ON t2.i = t1.i
                   WHERE t1.i = ?";

SET @arg= 1;
EXECUTE stmt USING @arg;
SET @arg= 2;
EXECUTE stmt USING @arg;
SET @arg= 1;
EXECUTE stmt USING @arg;

DEALLOCATE PREPARE stmt;
DROP TABLE t1, t2;


--echo End of 5.0 tests.
+1 −0
Original line number Diff line number Diff line
@@ -3744,6 +3744,7 @@ void Item_field::cleanup()
    I.e. we can drop 'field'.
   */
  field= result_field= 0;
  null_value= FALSE;
  DBUG_VOID_RETURN;
}