summaryrefslogtreecommitdiff
path: root/mysql-test/t/sp-error.test
diff options
context:
space:
mode:
authordlenev@mockturtle.local <>2007-01-24 10:42:57 +0300
committerdlenev@mockturtle.local <>2007-01-24 10:42:57 +0300
commit282501df21002c757796e5250e18927dd50bcea9 (patch)
treefa67bc316c122857781f96764ea450c017cfbc10 /mysql-test/t/sp-error.test
parent4c4b58a17b7adb82b203caef7bc1082924780886 (diff)
parent6562df201a04de0701ccc6837c328a1ce126f0ef (diff)
downloadmariadb-git-282501df21002c757796e5250e18927dd50bcea9.tar.gz
Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg24491
into mockturtle.local:/home/dlenev/src/mysql-5.1-bg24491
Diffstat (limited to 'mysql-test/t/sp-error.test')
-rw-r--r--mysql-test/t/sp-error.test32
1 files changed, 32 insertions, 0 deletions
diff --git a/mysql-test/t/sp-error.test b/mysql-test/t/sp-error.test
index 456a23123d3..bff3627e194 100644
--- a/mysql-test/t/sp-error.test
+++ b/mysql-test/t/sp-error.test
@@ -1854,6 +1854,38 @@ drop function bug20701;
--echo End of 5.1 tests
#
+# BUG#24491 "using alias from source table in insert ... on duplicate key"
+#
+--disable_warnings
+drop tables if exists t1;
+drop procedure if exists bug24491;
+--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 create routine with 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.
+create procedure bug24491()
+ 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 calls to it should fail
+--error ER_BAD_FIELD_ERROR
+call bug24491();
+--error ER_BAD_FIELD_ERROR
+call bug24491();
+drop procedure bug24491;
+# And now the same test for more complex case which is more close
+# to the one that was reported originally.
+create procedure bug24491()
+ 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
+call bug24491();
+--error ER_BAD_FIELD_ERROR
+call bug24491();
+drop procedure bug24491;
+drop tables t1;
+
+
+#
# BUG#NNNN: New bug synopsis
#
#--disable_warnings