typeFactory.createTypeWithNullability(
udxRel.getRowType(),
true);
RelNode rel =
new FarragoJavaUdxRel(
udxRel.getCluster(),
rexCall,
resultType,
udxRel.getServerMofId(),
RelNode.emptyArray);
rel = RelOptUtil.createCastRel(rel, udxRel.getRowType(), true);
RexNode extraFilter = null;
List<SargBinding> residualSargBindingList = sargBindingList;
RexNode residualRexNode =
rexAnalyzer.getResidualSargRexNode(residualSargBindingList);
RexNode postFilterRexNode = rexAnalyzer.getPostFilterRexNode();
if ((residualRexNode != null) && (postFilterRexNode != null)) {
extraFilter =
rexBuilder.makeCall(
SqlStdOperatorTable.andOperator,
residualRexNode,
postFilterRexNode);
} else if (residualRexNode != null) {
extraFilter = residualRexNode;
} else if (postFilterRexNode != null) {
extraFilter = postFilterRexNode;
}
if (extraFilter != null) {
rel = new FilterRel(rel.getCluster(), rel, extraFilter);
}
if (relLength == 3) {
ProjectRel pRel = null;
if (filterOnProj) {