From: Alexander Nozdrin Date: April 22 2011 6:30pm Subject: bzr commit into mysql-5.5 branch (alexander.nozdrin:3458) Bug#12362125 List-Archive: http://lists.mysql.com/commits/135972 X-Bug: 12362125 Message-Id: <201104221830.p3MIUdG4005808@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0383207939898206561==" --===============0383207939898206561== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/alik/MySQL/bzr/00/bug12362125/mysql-5.5-bug12362125/ based on revid:jon.hauglid@stripped 3458 Alexander Nozdrin 2011-04-22 Patch for Bug#12362125 (SP INOUT HANDLING IS BROKEN FOR TEXT TYPE). The problem was that BLOBs were not copied to the result table from triggers. modified: mysql-test/r/trigger.result mysql-test/t/trigger.test sql/item.cc === modified file 'mysql-test/r/trigger.result' --- a/mysql-test/r/trigger.result 2011-03-10 08:07:57 +0000 +++ b/mysql-test/r/trigger.result 2011-04-22 18:30:36 +0000 @@ -2208,4 +2208,22 @@ trigger_name # Clean-up. drop temporary table t1; drop table t1; -End of 6.0 tests. + +# +# Bug #12362125: SP INOUT HANDLING IS BROKEN FOR TEXT TYPE. +# +DROP TABLE IF EXISTS t1; +CREATE TABLE t1(c TEXT); +CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW +BEGIN +DECLARE v TEXT; +SET v = 'aaa'; +SET NEW.c = v; +END| +INSERT INTO t1 VALUES('qazwsxedc'); +SELECT c FROM t1; +c +aaa +DROP TABLE t1; + +End of 5.5 tests. === modified file 'mysql-test/t/trigger.test' --- a/mysql-test/t/trigger.test 2011-03-10 08:07:57 +0000 +++ b/mysql-test/t/trigger.test 2011-04-22 18:30:36 +0000 @@ -2583,4 +2583,32 @@ select trigger_name from information_sch drop temporary table t1; drop table t1; ---echo End of 6.0 tests. + +--echo +--echo # +--echo # Bug #12362125: SP INOUT HANDLING IS BROKEN FOR TEXT TYPE. +--echo # + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +CREATE TABLE t1(c TEXT); + +delimiter |; +CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW +BEGIN + DECLARE v TEXT; + SET v = 'aaa'; + SET NEW.c = v; +END| +delimiter ;| + +INSERT INTO t1 VALUES('qazwsxedc'); + +SELECT c FROM t1; + +DROP TABLE t1; + +--echo +--echo End of 5.5 tests. === modified file 'sql/item.cc' --- a/sql/item.cc 2011-04-08 13:15:23 +0000 +++ b/sql/item.cc 2011-04-22 18:30:36 +0000 @@ -7131,8 +7131,18 @@ bool Item_trigger_field::set_value(THD * { Item *item= sp_prepare_func_item(thd, it); - return (!item || (!fixed && fix_fields(thd, 0)) || - (item->save_in_field(field, 0) < 0)); + if (!item) + return true; + + if (!fixed) + { + if (fix_fields(thd, NULL)) + return true; + } + + field->table->copy_blobs= true; + + return item->save_in_field(field, 0) < 0; } --===============0383207939898206561== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/alexander.nozdrin@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: alexander.nozdrin@stripped\ # xfhoku6v9tuocnwr # target_branch: file:///home/alik/MySQL/bzr/00/bug12362125/mysql-5.5-\ # bug12362125/ # testament_sha1: f07e88a96e4531851a99c8d2e44fdd9ee322de9e # timestamp: 2011-04-22 22:30:40 +0400 # base_revision_id: jon.hauglid@stripped\ # wqkqx1u7jjw06jrh # # Begin bundle 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 HfAU/8A= --===============0383207939898206561==--