Bug #6513 Test Suite: Values inserted by using cursor is interpreted latin1 character
Submitted: 9 Nov 2004 2:22 Modified: 23 Sep 2005 18:15
Reporter: Shuichi Tamagawa Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.0.2 OS:Linux (SuSE Linux 9.0)
Assigned to: Konstantin Osipov CPU Architecture:Any

[9 Nov 2004 2:22] Shuichi Tamagawa
Description:
Values inserted by using cursor is interpreted latin1 even if the character set variables are set to ujis. As a result, the values are not stored correctly. This happend only to mysql test suite.

How to repeat:
Please use the attached test case file.

./mysql-test-run cursor.test
more r/cursor.result

You can also see the expected result by executing
./mysql -u root -p test < cursor.test
[9 Nov 2004 2:23] Shuichi Tamagawa
Test case file

Attachment: cursor.test (application/octet-stream, text), 944 bytes.

[21 Sep 2005 18:28] Konstantin Osipov
Shuishi,
could you confirm that the below output of the test is correct?

+ DROP PROCEDURE IF EXISTS sp1;
+ set names ujis;
+ set character_set_database = ujis;
+ set character_set_server = ujis;
+ CREATE TABLE t1(c1 char(2)) default charset = ujis;
+ CREATE TABLE t2(c2 char(2)) default charset = ujis;
+ INSERT INTO t1 VALUES(_ujis 0xA4A2);
+ CREATE PROCEDURE sp1()
+ BEGIN
+ DECLARE a CHAR(1);
+ DECLARE cur1 CURSOR FOR SELECT c1 FROM t1;
+ OPEN cur1;
+ FETCH cur1 INTO a;
+ INSERT INTO t2 VALUES (a);
+ CLOSE cur1;
+ END|
+ CALL sp1();
+ SELECT c1,c2 FROM t1,t2;
+ c1    c2
+ ╓╒    ╓╒
+ SELECT hex(convert(_latin1 0xA4A2 using ujis)),hex(c2) FROM t1,t2;
+ hex(convert(_latin1 0xA4A2 using ujis))       hex(c2)
+ 8FA2F0A1F1    A4A2
+ DROP PROCEDURE sp1;
+ DROP TABLE t1;
+ DROP TABLE t2;
[21 Sep 2005 18:59] Shuichi Tamagawa
Hi Konstantin,

Good. The result is correct.
[21 Sep 2005 22:23] Konstantin Osipov
Fixed by a patch for Bug#9819 in 5.0.13
[23 Sep 2005 18:15] Paul DuBois
Noted in 5.0.13 changelog.