Well, I was wrong. That didn’t solve my problem with : Missing conversion is LogicalUnion[convention: NONE -> LDAP]
Do I have to implement my own union? Is there a way I could just use the EnumerableUnion? ie. NONE -> Enumerable and skip implementing one for my ldap datastore? Thank you! Eric On Tue, Jul 16, 2024 at 09:00 Eric Berryman <eric.berry...@gmail.com> wrote: > When I register my tablescan object, and add my rules, I also added a > removeRule for EnumerableRules.ENUMERABLE_MERGE_UNION_RULE, and now > everything works with an offset also. > > Although, I don’t know why this is. I noticed the EnumerableMergeUnion > object in the plan, and thought I would try to remove it, because it was > different. > > Any explanation is appreciated, thank you!!! > Eric > > > On Mon, Jul 15, 2024 at 18:02 Eric Berryman <eric.berry...@gmail.com> > wrote: > >> Hello! >> >> I seem to have an issue with my new limit rule which pushes down to the >> datastore. It works fine, unless I add an offset to the fetch. Where I end >> up with the following error: >> There are not enough rules… Missing conversion is >> LogicalUnion[convention: NONE -> LDAP] >> >> Why would this only come up when an offset value is added? >> >> Thank you! >> Eric >> >> >> On Fri, Jun 21, 2024 at 09:25 Eric Berryman <eric.berry...@gmail.com> >> wrote: >> >>> That’s perfect >>> >>> https://github.com/apache/calcite/blob/main/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraRules.java#L401 >>> >>> Thank you for such a quick response! >>> Eric >>> >>> >>> On Fri, Jun 21, 2024 at 09:14 Michael Mior <mm...@apache.org> wrote: >>> >>>> Eric, >>>> >>>> Could you give a more specific example of the failure scenario you're >>>> experiencing? >>>> >>>> For a simple example of how limits can be pushed down, this is done in >>>> the >>>> Cassandra adapter with CassandraLimitRule. It matches an >>>> EnumerableLimit on >>>> top of a CassandraToEnumerableConverter and then converts that limit to >>>> a >>>> CassandraLimit which passes along the limit and offset information to >>>> CassandraToEnumerableConverter for when the query is executed. The >>>> EnumerableLimit is then replaced with a CassandraLimit effectively as a >>>> placeholder to signal that the limit has been handled. >>>> >>>> -- >>>> Michael Mior >>>> mm...@apache.org >>>> >>>> >>>> On Fri, Jun 21, 2024 at 8:44 AM Eric Berryman <eric.berry...@gmail.com> >>>> wrote: >>>> >>>> > Hello! >>>> > >>>> > When I add limit to my relbuilder object, the planner gives up. But >>>> works >>>> > fine without it. >>>> > >>>> > I wasn’t able to find any examples of using limit and pushing the >>>> limit >>>> > values down to a data source. >>>> > >>>> > Could someone help with some links on this subject? >>>> > >>>> > Thank you! >>>> > Eric >>>> > >>>> >>>