[MCOL-830] CrossEngineSupport can not retrieve multi byte fields normally Created: 2017-07-25  Updated: 2017-08-03  Resolved: 2017-08-03

Status: Closed
Project: MariaDB ColumnStore
Component/s: ExeMgr
Affects Version/s: 1.0.6.1
Fix Version/s: 1.0.11, 1.1.0

Type: Bug Priority: Major
Reporter: kaifengchen Assignee: Daniel Lee (Inactive)
Resolution: Fixed Votes: 0
Labels: community
Environment:

CentOS 6.5


Sprint: 2017-15

 Description   

When the CrossEngineSupport is enabled, we can run the SQL on two tables with different engine type(ColumnStore, MyISAM) but the results is not normal.

CREATE TABLE `test_cs` (
`c1` int(11) DEFAULT NULL,
`c2` varchar(64) DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=utf8;

CREATE TABLE `test_myisam` (
`c1` int(11) DEFAULT NULL,
`c2` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

insert into test.test_cs values(1, 'cs测试');
insert into test.test_myisam values(2, 'myisam测试');

select * from test.test_cs union select * from test.test_myisam;

--------------+

c1 c2

--------------+

2 myisam??
1 cs测试

--------------+
2 rows in set (0.14 sec)

It seems that the data of MyISAM table is not normal.



 Comments   
Comment by David Thompson (Inactive) [ 2017-07-26 ]

yes, it seems there is character corruption of utf8 text across cross engine join.

Comment by Andrew Hutchings (Inactive) [ 2017-07-27 ]

The cross engine connection is defaulting to latin charset. Fixing it to work with UTF8.

Comment by Andrew Hutchings (Inactive) [ 2017-07-27 ]

Pull requests for 1.0, 1.1 and regression suites. Should not be merged until 1.0.10 is tagged.

For QA: test is in description and regression suite.

Comment by Daniel Lee (Inactive) [ 2017-08-03 ]

Builds verified: Github source 1.0.10, 1.1.0

1.0.10
commit 948b27f00e26266aa6ece760e454195a0ecb10aa
Author: david hill <david.hill@mariadb.com>
Date: Fri Jul 28 10:51:30 2017 -0500

commit 12d98d5a4e941c333ba355fa4c269bb217e41768
Merge: e4cd7d3 2aacb56
Author: David.Hall <david.hall@mariadb.com>
Date: Mon Jul 31 13:10:57 2017 -0500

1.1.0
commit 97284ea4ba429726fe9e3573590464b420501a89
Merge: 4074adf effb08d
Author: Andrew Hutchings <andrew@linuxjedi.co.uk>
Date: Thu Aug 3 10:14:21 2017 +0100

commit 630b113565a624c5a73438d51f2d3422ff7f2e92
Merge: 606846e 6aeb1bf
Author: David.Hall <david.hall@mariadb.com>
Date: Tue Aug 1 12:29:15 2017 -0500

MariaDB [mytest]> CREATE TABLE `test_cs` (
-> `c1` int(11) DEFAULT NULL,
-> `c2` varchar(64) DEFAULT NULL
-> ) ENGINE=Columnstore DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.26 sec)

MariaDB [mytest]> CREATE TABLE `test_myisam` (
-> `c1` int(11) DEFAULT NULL,
-> `c2` varchar(64) DEFAULT NULL
-> ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.01 sec)

MariaDB [mytest]> insert into test_cs values(1, 'cs测试');
Query OK, 1 row affected (0.30 sec)

MariaDB [mytest]> insert into test_myisam values(2, 'myisam测试');
Query OK, 1 row affected (0.00 sec)

MariaDB [mytest]> select * from test_cs union select * from test_myisam;
------------------+

c1 c2

------------------+

2 myisam测试
1 cs测试

------------------+
2 rows in set (0.07 sec)

Generated at Thu Feb 08 02:24:08 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.