Not currently, but it wouldn’t be too much work. Consider a similar query:
SELECT * FROM mysqlTable UNION ALL SELECT * FROM cassandraTable This would convert into an EnumerableUnion which would send sub-queries to the two back ends and combine the results. You’d need a new relational operator which, I assume, would go with whichever result arrives first. A new sub-class of RelNode, perhaps similar to EnumerableUnion, or perhaps you could use a table-valued function. Julian > On Oct 21, 2019, at 7:27 PM, Juan Pan <[email protected]> wrote: > > Hi everyone, > > > Thanks for your attention. I can not get a clear result after read most of > Calcite document. So i send this email for your suggestion. > > > Suppose there are two data storages, e.g, MySQL and Cassandra behind Calcite, > and data is separately stored in two of them, can i execute a query, e.g > `SELECT * FROM tb WHERE id = 1` simultaneously on two of data storages > through Calcite? In other words, i want to get the final combined result from > MySQL and Cassandra, which store part of data in different forms separately > through Calcite. > > > Looking forward to your suggestions and thoughts. > > > Best wishes, > Trista > > > Juan Pan > > > [email protected] > Juan Pan(Trista), Apache ShardingSphere >
