[MCOL-384] support querying temporary tables with cross engine joins Created: 2016-10-31  Updated: 2022-02-25  Resolved: 2017-09-12

Status: Closed
Project: MariaDB ColumnStore
Component/s: MariaDB Server
Affects Version/s: 1.0.4
Fix Version/s: Icebox

Type: New Feature Priority: Major
Reporter: David Thompson (Inactive) Assignee: Todd Stoffel (Inactive)
Resolution: Won't Fix Votes: 1
Labels: None


 Description   

If you create a temporary table in the session and try to join a columnstore table with it (with cross engine join enabled), then an error is returned:

MariaDB [test]> create table tc (id int, c1 char(3)) engine=columnstore;
Query OK, 0 rows affected (0.74 sec)
 
MariaDB [test]> insert into tc values (1, 'ABC');
Query OK, 1 row affected (0.32 sec)
 
MariaDB [test]> create temporary table tt (select id from tc where id < 10);
Query OK, 1 row affected, 1 warning (0.02 sec)
Records: 1  Duplicates: 0  Warnings: 1
 
MariaDB [test]> select * from tc t1 join tt t2 on t1.id = t2.id;
ERROR 1815 (HY000): Internal error: fatal error executing query in crossengine client lib(17)(17)
MariaDB [test]>

The reason for this is that the current architecture uses a separate connection to perform the non column store query. This is because it can support the tables not being local to the server the query is running on. To support this would require some re-architecture and limitations.



 Comments   
Comment by David Thompson (Inactive) [ 2017-09-12 ]

The current architecture of cross engine join uses a distinct connection from exemgr where the CEJ job step is executed back to the mariadb server mysqld process. As such this session will not have visibility on temporary tables created by the client session. It is possible this could be fixed with a major architecture change but this is unlikely given the current roadmap priorities.

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