Stamatis>I think you can add a watch expression on RelBuilder#peek[1]
method and
Good luck with EnumerableBatchNestedLoopJoinRule :-)
call.transformTo(
EnumerableBatchNestedLoopJoin.create(
convert(join.getLeft(), join.getLeft().getTraitSet()
.replace(EnumerableConvention.INSTANCE)),
convert(right, right.getTraitSet()
.replace(EnumerableConvention.INSTANCE)),
join.getCondition(),
requiredColumns.build(),
correlationIds,
join.getJoinType()));
What I also do is I use conditional breakpoints:
a) Add a breakpoint to RelOptRuleCall#transformTo, and add a condition to
confine the rule or the relation (e.g. when I know its ID)
b) Add if (...) { "break".hashCode(); } and put a breakpoint inside. That
works much faster than a conditional breakpoint for hot code.
Vladimir