Github user vdiravka commented on a diff in the pull request:

    https://github.com/apache/drill/pull/1083#discussion_r160663414
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/SchemalessScan.java
 ---
    @@ -0,0 +1,80 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to you under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + * http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.drill.exec.physical.base;
    +
    +import com.fasterxml.jackson.annotation.JsonTypeName;
    +import com.google.common.base.Preconditions;
    +import org.apache.drill.common.exceptions.ExecutionSetupException;
    +import org.apache.drill.common.expression.SchemaPath;
    +import org.apache.drill.exec.physical.PhysicalOperatorSetupException;
    +import org.apache.drill.exec.planner.logical.DynamicDrillTable;
    +import org.apache.drill.exec.proto.CoordinationProtos;
    +
    +import java.util.List;
    +
    +/**
    + *  The type of scan operator, which allows to scan schemaless tables 
({@link DynamicDrillTable} with null selection)
    + */
    +@JsonTypeName("schemaless-scan")
    +public class SchemalessScan extends AbstractGroupScan implements SubScan {
    +
    +  public SchemalessScan(String userName) {
    +    super(userName);
    +  }
    +
    +  public SchemalessScan(AbstractGroupScan that) {
    +    super(that);
    +  }
    +
    +  @Override
    +  public void applyAssignments(List<CoordinationProtos.DrillbitEndpoint> 
endpoints) throws PhysicalOperatorSetupException {
    +  }
    +
    +  @Override
    +  public SubScan getSpecificScan(int minorFragmentId) throws 
ExecutionSetupException {
    +    return this;
    +  }
    +
    +  @Override
    +  public int getMaxParallelizationWidth() {
    +    return 1;
    +  }
    +
    +  @Override
    +  public String getDigest() {
    +    return toString();
    --- End diff --
    
    Thanks. Forgot to override this.
    
    For now toString() is overridden. And to show selectionRoot I have replaced 
null file selection with current File Selection (with `emptyDirectory` flag, 
which indicates whether this FileSelection is an empty directory).
    
    Profiles - > Physical Plan shows the following info:
    `Scan(groupscan=[SchemalessScan [selectionRoot = 
file:/home/vitalii/Documents/parquet_for_union/folder2]]) : rowType = 
(DrillRecordRow[*, value]): rowcount = 1.0, cumulative cost = {0.0 rows, 0.0 
cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 334`


---

Reply via email to