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

    https://github.com/apache/carbondata/pull/3019#discussion_r244104691
  
    --- Diff: 
integration/presto/src/main/java/org/apache/carbondata/presto/CarbondataPageSourceProvider.java
 ---
    @@ -43,63 +43,78 @@
     
     import static org.apache.carbondata.presto.Types.checkType;
     
    +import com.facebook.presto.hive.HdfsEnvironment;
    +import com.facebook.presto.hive.HiveClientConfig;
    +import com.facebook.presto.hive.HiveColumnHandle;
    +import com.facebook.presto.hive.HivePageSourceFactory;
    +import com.facebook.presto.hive.HivePageSourceProvider;
    +import com.facebook.presto.hive.HiveRecordCursorProvider;
    +import com.facebook.presto.hive.HiveSplit;
     import com.facebook.presto.spi.ColumnHandle;
     import com.facebook.presto.spi.ConnectorPageSource;
     import com.facebook.presto.spi.ConnectorSession;
     import com.facebook.presto.spi.ConnectorSplit;
    -import com.facebook.presto.spi.connector.ConnectorPageSourceProvider;
    +import com.facebook.presto.spi.SchemaTableName;
     import com.facebook.presto.spi.connector.ConnectorTransactionHandle;
    +import com.facebook.presto.spi.type.TypeManager;
     import com.google.common.collect.ImmutableList;
     import com.google.inject.Inject;
     import org.apache.hadoop.conf.Configuration;
    +import org.apache.hadoop.fs.Path;
     import org.apache.hadoop.mapred.JobConf;
     import org.apache.hadoop.mapred.TaskAttemptContextImpl;
     import org.apache.hadoop.mapred.TaskAttemptID;
     import org.apache.hadoop.mapreduce.TaskType;
     
    -import static com.google.common.base.Preconditions.checkArgument;
     import static com.google.common.base.Preconditions.checkNotNull;
     
    -
     /**
      * Provider Class for Carbondata Page Source class.
      */
    -public class CarbondataPageSourceProvider implements 
ConnectorPageSourceProvider {
    +public class CarbondataPageSourceProvider extends HivePageSourceProvider {
     
    -  private String connectorId;
       private CarbonTableReader carbonTableReader;
       private String queryId ;
    -
    -  @Inject public CarbondataPageSourceProvider(CarbondataConnectorId 
connectorId,
    +  private HdfsEnvironment hdfsEnvironment;
    +
    +  @Inject public CarbondataPageSourceProvider(
    +      HiveClientConfig hiveClientConfig,
    +      HdfsEnvironment hdfsEnvironment,
    +      Set<HiveRecordCursorProvider> cursorProviders,
    +      Set<HivePageSourceFactory> pageSourceFactories,
    +      TypeManager typeManager,
           CarbonTableReader carbonTableReader) {
    -    this.connectorId = requireNonNull(connectorId, "connectorId is 
null").toString();
    +    super(hiveClientConfig, hdfsEnvironment, cursorProviders, 
pageSourceFactories, typeManager);
         this.carbonTableReader = requireNonNull(carbonTableReader, 
"carbonTableReader is null");
    +    this.hdfsEnvironment = hdfsEnvironment;
       }
     
       @Override
       public ConnectorPageSource createPageSource(ConnectorTransactionHandle 
transactionHandle,
           ConnectorSession session, ConnectorSplit split, List<ColumnHandle> 
columns) {
    -    this.queryId = ((CarbondataSplit)split).getQueryId();
    +    HiveSplit carbonSplit =
    +        checkType(split, HiveSplit.class, "split is not class HiveSplit");
    +    if (carbonSplit.getSchema().getProperty("queryId") == null) {
    +      return super.createPageSource(transactionHandle, session, split, 
columns);
    +    }
    +    this.queryId = carbonSplit.getSchema().getProperty("queryId");
    --- End diff --
    
    Move this line above If condition and in if condition check if queryId is 
null


---

Reply via email to