My own digging here and there reveals me that the data I am looking for resides inside a JOIN_CACHE object inside a JOIN_TAB.

 

However, it seems that the data can’t be accessed unless some fields and methods are moved from protected to public in the class. Am I right here? Is there other (easier) way to accomplish what I am trying to do? (to recap: access “on the fly” records during a JOIN so that I can use that data for condition pushdown).

 

Thanks,

 

 

From: Maria-developers <maria-developers-bounces+eduardo.berrocal=intel.com@lists.launchpad.net> On Behalf Of Berrocal, Eduardo
Sent: Tuesday, July 6, 2021 4:13 PM
To: maria-developers@lists.launchpad.net
Subject: [Maria-developers] Accessing read records during join for condition pushdown

 

Hello list (first email here, hopefully sending it to the right address),

I have been trying to solve this problem for a while now, and I am stuck. I wonder if what I am trying to do is even possible.

 

I am implementing a new storage engine which handles engine condition pushdown. Now, when MariaDB is working on a JOIN using more than one table (for simplicity, let’s assume 2), how can I access the read records for table 1 when working on a condition pushdown for table 2? When joining like this: table1.field1 = table2.field1, I can see 2 Item objects of type FIELD in the condition. However, I can’t find where the read records for table1 are so I can effectively filter records in table2 by those values.

 

Thanks a lot for your help,

 

 

 

 

A close up of a sign

Description automatically generated


Eduardo Berrocal García de Carellán

Senior Software Engineer

 

Intel Corporation  |  intel.com