I implement an LDAPUnion and rule to convert from logicalunion, and of
course, the error goes away. But I didn’t implement the union correctly, so
nothing is returned in my query. Is there a way to have my LDAPUnion
use EnumerableUnion,
or a way to not have LDAPUnion and take care of this with a rule?

Thank you again!
Eric

On Tue, Jul 16, 2024 at 14:24 Eric Berryman <eric.berry...@gmail.com> wrote:

> 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
>>>>> >
>>>>>
>>>>

Reply via email to