Github user arina-ielchiieva commented on a diff in the pull request:

    https://github.com/apache/drill/pull/1214#discussion_r183981250
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/store/ColumnExplorer.java ---
    @@ -156,43 +157,74 @@ public static boolean isPartitionColumn(String 
partitionDesignator, String path)
       }
     
       /**
    -   * Compares selection root and actual file path to determine partition 
columns values.
    -   * Adds implicit file columns according to columns list.
    +   * Creates map with implicit columns where key is column name, value is 
columns actual value.
    +   * This map contains partition and implicit file columns (if requested).
    +   * Partition columns names are formed based in partition designator and 
value index.
        *
    -   * @return map with columns names as keys and their values
    +   * @param filePath file path, used to populate file implicit columns
    +   * @param partitionValues list of partition values
    +   * @param includeFileImplicitColumns if file implicit columns should be 
included into the result
    +   * @return implicit columns map
        */
    -  public Map<String, String> populateImplicitColumns(FileWork work, String 
selectionRoot) {
    -    return populateImplicitColumns(work.getPath(), selectionRoot);
    -  }
    +  public Map<String, String> populateImplicitColumns(String filePath,
    +                                                     List<String> 
partitionValues,
    +                                                     boolean 
includeFileImplicitColumns) {
    +    Map<String, String> implicitValues = new LinkedHashMap<>();
     
    -  /**
    -   * Compares selection root and actual file path to determine partition 
columns values.
    -   * Adds implicit file columns according to columns list.
    -   *
    -   * @return map with columns names as keys and their values
    -   */
    -  public Map<String, String> populateImplicitColumns(String filePath, 
String selectionRoot) {
    -    Map<String, String> implicitValues = Maps.newLinkedHashMap();
    -    if (selectionRoot != null) {
    -      String[] r = Path.getPathWithoutSchemeAndAuthority(new 
Path(selectionRoot)).toString().split("/");
    -      Path path = Path.getPathWithoutSchemeAndAuthority(new 
Path(filePath));
    -      String[] p = path.toString().split("/");
    -      if (p.length > r.length) {
    -        String[] q = ArrayUtils.subarray(p, r.length, p.length - 1);
    -        for (int a = 0; a < q.length; a++) {
    -          if (isStarQuery || selectedPartitionColumns.contains(a)) {
    -            implicitValues.put(partitionDesignator + a, q[a]);
    -          }
    -        }
    +    for(int i = 0; i < partitionValues.size(); i++) {
    --- End diff --
    
    Fixed.


---

Reply via email to