AbstractDetailQueryResultIterator(List<BlockExecutionInfo> infos, QueryModel queryModel, ExecutorService execService) { String batchSizeString = CarbonProperties.getInstance().getProperty(CarbonCommonConstants.DETAIL_QUERY_BATCH_SIZE); if (null != batchSizeString) { try { batchSize = Integer.parseInt(batchSizeString); } catch (NumberFormatException ne) { LOGGER.error("Invalid inmemory records size. Using default value"); batchSize = CarbonCommonConstants.DETAIL_QUERY_BATCH_SIZE_DEFAULT; } } else { batchSize = CarbonCommonConstants.DETAIL_QUERY_BATCH_SIZE_DEFAULT; } this.recorder = queryModel.getStatisticsRecorder(); this.blockExecutionInfos = infos; this.fileReader = FileFactory.getFileHolder( FileFactory.getFileType(queryModel.getAbsoluteTableIdentifier().getTablePath())); this.fileReader.setReadPageByPage(queryModel.isReadPageByPage()); this.execService = execService; intialiseInfos(); initQueryStatiticsModel(); }