summaryrefslogtreecommitdiff
path: root/mysql-test/t/ps.test
diff options
context:
space:
mode:
authorunknown <dlenev@mockturtle.local>2007-01-24 10:42:57 +0300
committerunknown <dlenev@mockturtle.local>2007-01-24 10:42:57 +0300
commita45938bf5af8b179ac998181ca8699b3403a95e8 (patch)
treefa67bc316c122857781f96764ea450c017cfbc10 /mysql-test/t/ps.test
parent426c64fdb1e24a4f584d5091e4f9cba81f155a72 (diff)
parent5f544ed03215d8bf3c6050df551717d513b42b66 (diff)
downloadmariadb-git-a45938bf5af8b179ac998181ca8699b3403a95e8.tar.gz
Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg24491
into mockturtle.local:/home/dlenev/src/mysql-5.1-bg24491 mysql-test/t/sp-error.test: Auto merged sql/item.h: Auto merged sql/sql_table.cc: Auto merged mysql-test/r/ps.result: SCCS merged mysql-test/r/sp-error.result: SCCS merged mysql-test/t/disabled.def: SCCS merged mysql-test/t/ps.test: SCCS merged
Diffstat (limited to 'mysql-test/t/ps.test')
-rw-r--r--mysql-test/t/ps.test31
1 files changed, 31 insertions, 0 deletions
diff --git a/mysql-test/t/ps.test b/mysql-test/t/ps.test
index d65da7f3018..7ba8de85ae8 100644
--- a/mysql-test/t/ps.test
+++ b/mysql-test/t/ps.test
@@ -1576,6 +1576,7 @@ execute sq;
deallocate prepare no_index;
deallocate prepare sq;
+
#
# Bug 25027: query with a single-row non-correlated subquery
# and IS NULL predicate
@@ -1599,6 +1600,36 @@ DEALLOCATE PREPARE stmt;
DROP TABLE t1,t2;
+
+#
+# BUG#24491 "using alias from source table in insert ... on duplicate key"
+#
+--disable_warnings
+drop tables if exists t1;
+--enable_warnings
+create table t1 (id int primary key auto_increment, value varchar(10));
+insert into t1 (id, value) values (1, 'FIRST'), (2, 'SECOND'), (3, 'THIRD');
+# Let us prepare INSERT ... SELECT ... ON DUPLICATE KEY UPDATE statement
+# which in its ON DUPLICATE KEY clause erroneously tries to assign value
+# to a column which is mentioned only in SELECT part.
+prepare stmt from "insert into t1 (id, value) select * from (select 4 as i, 'FOURTH' as v) as y on duplicate key update v = 'DUP'";
+# Both first and second attempts to execute it should fail
+--error ER_BAD_FIELD_ERROR
+execute stmt;
+--error ER_BAD_FIELD_ERROR
+execute stmt;
+deallocate prepare stmt;
+# And now the same test for more complex case which is more close
+# to the one that was reported originally.
+prepare stmt from "insert into t1 (id, value) select * from (select 4 as id, 'FOURTH' as value) as y on duplicate key update y.value = 'DUP'";
+--error ER_BAD_FIELD_ERROR
+execute stmt;
+--error ER_BAD_FIELD_ERROR
+execute stmt;
+deallocate prepare stmt;
+drop tables t1;
+
+
--echo End of 5.0 tests.
#