QueryableRelBuilder can handle translating simple Linq4j expressions to RelNodes. E.g. QueryableRelBuilder.where creates a LogicalFilter.
In theory you ought to be able to invoke it via CalciteConnectionImpl.executeQuery(Queryable). I thought there were tests, but I can't find any. On Wed, Mar 14, 2018 at 3:10 PM, Michael Mior <[email protected]> wrote: > Others may correct me, but I don't believe this is currently supported. We > may not be able to support all of Linq4j, but I'd imagine a usable subset > would be possible. If you're interested in implementing, that would be > great! Either way, I'd suggest you file a JIRA case for this. Thanks! > > -- > Michael Mior > [email protected] > > 2018-03-14 2:27 GMT-04:00 Walaa Eldin Moustafa <[email protected]>: > >> Does Calcite currently support converting a Linq4j expression to relational >> algebra? After a quick look at the code, it seems that it does not, so if >> not, do you think it is feasible? On one hand, the Linq4j expressions are >> very similar to the RelBuilder structure, (e.g., .groupBy(), .orderBy(), >> etc). On the other hand, the extensive use of functions (e.g., selectors) >> and in-memory data-types may be difficult to implement as a RelBuilder. The >> use case I have in mind is to have Linq4j as another top-level interface >> (that is interpretable to relational algebra) to Calcite in addition to SQL >> and Piglet. >> >> Thanks, >> Walaa. >>
