Hi,

I'm developing an adapter with JOIN push-down.


I'm generating *DataContext* object with

*implementor.getRootExpression()*

in my implementation of

*EnumerableRel.implement(EnumerableRelImplementor implementor, Prefer pref)*


During the query execution phase it contains a map of dynamic variables
with names like '?0', '?1', '?2', ...

The problem is that I cannot distinguish which parameters should go on the
left and which should go on the right hand sides of the join expression, so
I can use them to propagate to my underlying data storage.

Example,

SELECT e.name, e.id
FROM Employee e
JOIN Department d ON e.departmentId = d.id
WHERE d.id = ? AND e.name = ?

In DataContext I'm getting
?0 = '99'
?1 = 'Adams'

I cannot infer that '99' should be bound to Department table and 'Adams' to
Employee table.

Any ideas?

--
Oleksiy

Reply via email to