@Override public Collection<String> getColumns() { return Sets.union(dimtable.getAllFieldNames(), dimtable.getPartCols()); }
@Override public Collection<String> getColumns() { return Sets.union(dimtable.getAllFieldNames(), dimtable.getPartCols()); }
private void pruneAllPaths(final Map<Dimension, CandidateDim> dimsToQuery) throws LensException { // Remove join paths which cannot be satisfied by the resolved dimension // tables if (dimsToQuery != null && !dimsToQuery.isEmpty()) { for (CandidateDim candidateDim : dimsToQuery.values()) { Set<String> dimCols = candidateDim.getTable().getAllFieldNames(); for (List<JoinPath> paths : allPaths.values()) { for (int i = 0; i < paths.size(); i++) { JoinPath jp = paths.get(i); List<String> candidateDimCols = jp.getColumnsForTable(candidateDim.getBaseTable()); if (candidateDimCols != null && !dimCols.containsAll(candidateDimCols)) { // This path requires some columns from the dimension which are // not present in the candidate dim // Remove this path log.info("Removing join path:{} as columns :{} dont exist", jp, candidateDimCols); paths.remove(i); i--; } } } } pruneEmptyPaths(allPaths); } }
private void pruneAllPaths(final Map<Dimension, CandidateDim> dimsToQuery) throws LensException { // Remove join paths which cannot be satisfied by the resolved dimension // tables if (dimsToQuery != null && !dimsToQuery.isEmpty()) { for (CandidateDim candidateDim : dimsToQuery.values()) { Set<String> dimCols = candidateDim.getTable().getAllFieldNames(); for (List<JoinPath> paths : allPaths.values()) { for (int i = 0; i < paths.size(); i++) { JoinPath jp = paths.get(i); List<String> candidateDimCols = jp.getColumnsForTable(candidateDim.getBaseTable()); if (candidateDimCols != null && !dimCols.containsAll(candidateDimCols)) { // This path requires some columns from the dimension which are // not present in the candidate dim // Remove this path log.info("Removing join path:{} as columns :{} dont exist", jp, candidateDimCols); paths.remove(i); i--; } } } } pruneEmptyPaths(allPaths); } }