I see that Mongo's adapter uses the *EnumerableRel* interface, while
Druid's uses *BindableRel*.

I can't decide why would I use any of those approaches to satisfy my
requirements but I'm tempted to use Druid's because it combines operators
that could be pushed down into a single node which sounds logical and
easier to me than Mongo adapter's approach.

My question is why would convert my table to an *EnumerableRel* or a
*BindableRel* ?

This JIRA issue <https://issues.apache.org/jira/browse/CALCITE-558>
suggests that Bindable convention solves some Enumerable convention
problems that I can't understand. What is meant by that Enumerable nodes
need to implement themselves using "code", while with Bindable nodes, they
can be implemented using and interpreter ? I understand what an interpreter
is but what does it has to do with nodes here ?! Shouldn't a node just
return a collection of records when implemented ?

One last thing, I tend to always understand the reason behind naming
things, so why is the *BindableRel* interface named *bindable* ?

Thanks,
Gelbana

Reply via email to