You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mysql> create table tt(id decimal(18,0));
Query OK, 0 rows affected (0.13 sec)
mysql>insert into tt values(1111.0);
Query OK, 1 row affected (0.01 sec)
mysql>select*from tt;
+------+
| id |
+------+
| 1111 |
+------+1 row inset (0.00 sec)
mysql>select id from tt union allselect2222 c1 from dual;
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 Pathin config file to execute the query with reduced performance.
Expected behavior
mysql>select id from tt union allselect2222 c1 from dual;
+------+
| id |
+------+
| 1111 |
| 2222 |
+------+2 rows inset (0.00 sec)
The text was updated successfully, but these errors were encountered:
mysql> create table ttt(name varchar(5));
Query OK, 0 rows affected (0.01 sec)
mysql>insert into ttt values('AAA');
Query OK, 1 row affected (0.00 sec)
mysql>select name from ttt union allselect'BBB' C1 from dual;
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 Pathin config file to execute the query with reduced performance.
From the exception message indicated that the root cause maybe in the following reasons:
1: The table dual is not recongnized as a tianmu table, therefore, tianmu execution engine dont think that this sql statement can be executed in tianmu layer.
in Query::Compile fuction, it returns kToMySQL at processing the second statement of union. Diving into deeper, we find that it can not handle the join condition via AddJoins.
2: select xxx from dual, as we know that dual is a dummy table, which has not any real sql syntax roles in a statement. It's just only for usage convention. Therefore, in tianmu layer, it cannot deal with this sql pattern properly.
mysql> select id from tt union all select 2222 c1 from dual;
+------+
| id |
+------+
| 1111 |
| 2222 |
+------+
mysql> select id from tt union all select 2222 ;
+------+
| id |
+------+
| 1111 |
| 2222 |
+------+
The engine we used here is : Tianmu
The text was updated successfully, but these errors were encountered: