stoneatom / stonedb

StoneDB is an Open-Source MySQL HTAP and MySQL-Native DataBase for OLTP, Real-Time Analytics, a counterpart of MySQLHeatWave. (https://stonedb.io)
https://stonedb.io/
GNU General Public License v2.0
861 stars 139 forks source link

feature: cross engine UNION is not supported #1001

Open davidshiz opened 1 year ago

davidshiz commented 1 year ago

Is your feature request related to a problem? Please describe.

CREATE TABLE t1 (t1_int INT, t1_char CHAR(5));
CREATE TABLE t2 (t2_int INT, t2_char CHAR(5));
CREATE TABLE t3 (t3_int INT, t3_char CHAR(5))ENGINE=Innodb;
CREATE TABLE t4 (t4_int INT, t4_char CHAR(5))ENGINE=Myisam;
SELECT t1_int FROM t1 UNION SELECT t3_int FROM t3 ORDER BY t1_int;
SELECT t2_int FROM t2 UNION SELECT t4_int FROM t4 ORDER BY t2_int;
mysql> SELECT t1_int FROM t1 UNION SELECT t3_int FROM t3 ORDER BY t1_int;
ERROR 6 (HY000): The query includes syntax that is not supported by the storage engine. 
Either restructure the query with supported syntax, or enable the MySQL core::Query Path in config file to execute the query with reduced performance.
mysql>
mysql> SELECT t2_int FROM t2 UNION SELECT t4_int FROM t4 ORDER BY t2_int;
ERROR 6 (HY000): The query includes syntax that is not supported by the storage engine. 
Either restructure the query with supported syntax, or enable the MySQL core::Query Path in config file to execute the query with reduced performance.
haitaoguan commented 1 year ago

If the parameter tianmu_ini_allowmysqlquerypath is 1,the query includes syntax that is supported by the storage engine. but the query with reduced performance.

hustjieke commented 1 year ago

If the parameter tianmu_ini_allowmysqlquerypath is 1,the query includes syntax that is supported by the storage engine. but the query with reduced performance.

Is your problem solved? ping @davidshiz

davidshiz commented 1 year ago

It is not recommended to open the parameter(tianmu_ini_allowmysqlquerypath) @hustjieke @haitaoguan