private static void dropDatasetFiles(Dataset dataset, MetadataProvider metadataProvider, IHyracksClientConnection hcc) throws Exception { List<JobSpecification> jobs = new ArrayList<>(); List<Index> indexes = metadataProvider.getDatasetIndexes(dataset.getDataverseName(), dataset.getDatasetName()); for (Index index : indexes) { jobs.add(IndexUtil.buildDropIndexJobSpec(index, metadataProvider, dataset, EnumSet.of(DropOption.IF_EXISTS, DropOption.WAIT_ON_IN_USE), null)); } for (JobSpecification jobSpec : jobs) { JobUtils.runJob(hcc, jobSpec, true); } }
private static void createAndLoadSecondaryIndexesForTarget(Dataset source, Dataset target, MetadataProvider metadataProvider, IHyracksClientConnection hcc) throws Exception { for (Index index : metadataProvider.getDatasetIndexes(source.getDataverseName(), source.getDatasetName())) { if (!index.isSecondaryIndex()) { continue; } // Creates the secondary index. JobSpecification indexCreationJobSpec = IndexUtil.buildSecondaryIndexCreationJobSpec(target, index, metadataProvider, null); JobUtils.runJob(hcc, indexCreationJobSpec, true); // Loads the secondary index. JobSpecification indexLoadingJobSpec = IndexUtil.buildSecondaryIndexLoadingJobSpec(target, index, metadataProvider, null); JobUtils.runJob(hcc, indexLoadingJobSpec, true); } }
if (subTree.getDataSourceType() != DataSourceType.COLLECTION_SCAN && subTree.getDataSourceType() != DataSourceType.INDEXONLY_PLAN_SECONDARY_INDEX_LOOKUP) { datasetIndexes = metadataProvider.getDatasetIndexes(subTree.getDataset().getDataverseName(), subTree.getDataset().getDatasetName()); List<LogicalVariable> datasetVars = subTree.getDataSourceVariables();
.getDatasetIndexes(dataset.getDataverseName(), dataset.getDatasetName());
.getDatasetIndexes(dataset.getDataverseName(), dataset.getDatasetName()); for (Index index : indexes) { if (index.getKeyFieldNames().isEmpty()) {
List<Index> datasetIndexes = mp.getDatasetIndexes(dataset.getDataverseName(), dataset.getDatasetName()); boolean hasSecondaryIndex = false; for (Index index : datasetIndexes) {
metaType = (ARecordType) mp.findType(dataset.getMetaItemTypeDataverseName(), dataset.getMetaItemTypeName()); List<Index> indexes = mp.getDatasetIndexes(dataset.getDataverseName(), dataset.getDatasetName());
metadataProvider.getDatasetIndexes(dataset.getDataverseName(), dataset.getDatasetName()).size() > 1; IStorageComponentProvider storageComponentProvider = metadataProvider.getStorageComponentProvider(); IModificationOperationCallbackFactory modificationCallbackFactory = dataset.getModificationCallbackFactory(