if ((nonDistinctCount == 0) && (argListSets.size() == 1)) { for (Integer arg : argListSets.iterator().next()) { Set<RelColumnOrigin> colOrigs = mq.getColumnOrigins(aggregate.getInput(), arg); if (null != colOrigs) { for (RelColumnOrigin colOrig : colOrigs) {
Set<RelColumnOrigin> colOrigs = RelMetadataQuery.instance().getColumnOrigins(aggregate, arg); if (null != colOrigs) { for (RelColumnOrigin colOrig : colOrigs) {
public Void visitInputRef(RexInputRef inputRef) { Set<RelColumnOrigin> inputSet = mq.getColumnOrigins(input, inputRef.getIndex()); if (inputSet != null) { set.addAll(inputSet); } return null; } };
public Set<RelColumnOrigin> getColumnOrigins(SetOp rel, RelMetadataQuery mq, int iOutputColumn) { final Set<RelColumnOrigin> set = new HashSet<>(); for (RelNode input : rel.getInputs()) { Set<RelColumnOrigin> inputSet = mq.getColumnOrigins(input, iOutputColumn); if (inputSet == null) { return null; } set.addAll(inputSet); } return set; }
public Set<RelColumnOrigin> getColumnOrigins(SetOp rel, RelMetadataQuery mq, int iOutputColumn) { final Set<RelColumnOrigin> set = new HashSet<>(); for (RelNode input : rel.getInputs()) { Set<RelColumnOrigin> inputSet = mq.getColumnOrigins(input, iOutputColumn); if (inputSet == null) { return null; } set.addAll(inputSet); } return set; }
public Set<RelColumnOrigin> getColumnOrigins(Exchange rel, RelMetadataQuery mq, int iOutputColumn) { return mq.getColumnOrigins(rel.getInput(), iOutputColumn); }
public Set<RelColumnOrigin> getColumnOrigins(Sort rel, RelMetadataQuery mq, int iOutputColumn) { return mq.getColumnOrigins(rel.getInput(), iOutputColumn); }
public Set<RelColumnOrigin> getColumnOrigins(ExpansionNode rel, RelMetadataQuery mq, int iOutputColumn) { return mq.getColumnOrigins(rel.getInput(), iOutputColumn); }
public Set<RelColumnOrigin> getColumnOrigins(DictionaryLookupPrel rel, RelMetadataQuery mq, int iOutputColumn) { return mq.getColumnOrigins(rel.getInput(), iOutputColumn); }
public Set<RelColumnOrigin> getColumnOrigins(SelectionVectorRemoverPrel selectionVectorRemoverPrel, RelMetadataQuery mq, int iOutputColumn) { return mq.getColumnOrigins(selectionVectorRemoverPrel.getInput(), iOutputColumn); }
public Void visitInputRef(RexInputRef inputRef) { Set<RelColumnOrigin> inputSet = mq.getColumnOrigins(input, inputRef.getIndex()); if (inputSet != null) { set.addAll(inputSet); } return null; } };
public Set<RelColumnOrigin> getColumnOrigins(Sort rel, RelMetadataQuery mq, int iOutputColumn) { return mq.getColumnOrigins(rel.getInput(), iOutputColumn); }
public Set<RelColumnOrigin> getColumnOrigins(LimitRelBase rel, RelMetadataQuery mq, int iOutputColumn) { return mq.getColumnOrigins(rel.getInput(), iOutputColumn); }
public Set<RelColumnOrigin> getColumnOrigins(CustomPrel rel, RelMetadataQuery mq, int iOutputColumn) { return mq.getColumnOrigins(rel.getOriginPrel(), iOutputColumn); }
public Set<RelColumnOrigin> getColumnOrigins(JdbcRelBase jdbc, RelMetadataQuery mq, int iOutputColumn) { return mq.getColumnOrigins(jdbc.getSubTree(), iOutputColumn); }
public Set<RelColumnOrigin> getColumnOrigins(Filter rel, RelMetadataQuery mq, int iOutputColumn) { return mq.getColumnOrigins(rel.getInput(), iOutputColumn); }
public Set<RelColumnOrigin> getColumnOrigins(Exchange rel, RelMetadataQuery mq, int iOutputColumn) { return mq.getColumnOrigins(rel.getInput(), iOutputColumn); }
public Set<RelColumnOrigin> getColumnOrigins(ConvertFromJsonPrel rel, RelMetadataQuery mq, int iOutputColumn) { final List<ConversionColumn> conversions = rel.getConversions(); if (iOutputColumn < conversions.size()) { return null; // just return null for now, it should work for ConvertFromJsonConverter } return mq.getColumnOrigins(rel.getInput(), iOutputColumn); }
private Set<RelColumnOrigin> checkColumnOrigin(String sql) { RelNode rel = convertSql(sql); final RelMetadataQuery mq = RelMetadataQuery.instance(); return mq.getColumnOrigins(rel, 0); }
private Set<RelColumnOrigin> checkColumnOrigin(String sql) { RelNode rel = convertSql(sql); final RelMetadataQuery mq = RelMetadataQuery.instance(); return mq.getColumnOrigins(rel, 0); }