SourceTableDefinition getDatasetWithOptions(NamespaceKey datasetPath, TableInstance instance, boolean ignoreAuthErrors, String user) throws Exception{ final FormatPluginConfig fconfig = optionExtractor.createConfigForTable(instance); return getDatasetWithFormat( datasetPath, null, fconfig, DatasetRetrievalOptions.DEFAULT.toBuilder() .setIgnoreAuthzErrors(ignoreAuthErrors) .build(), user ); }
@Override public CheckResult checkReadSignature( ByteString key, DatasetConfig oldConfig, DatasetRetrievalOptions retrievalOptions ) throws Exception { final SourceTableDefinition definition = getDataset( new NamespaceKey(oldConfig.getFullPathList()), oldConfig, retrievalOptions.toBuilder() .setIgnoreAuthzErrors(true) .build()); if(definition == null) { return CheckResult.DELETED; } return new CheckResult() { @Override public UpdateStatus getStatus() { return UpdateStatus.CHANGED; } @Override public SourceTableDefinition getDataset() { return definition; }}; }
DatasetRetrievalOptions.DEFAULT.toBuilder() .setDeleteUnavailableDatasets(false) .build()));
DatasetRetrievalOptions.DEFAULT.toBuilder() .setDeleteUnavailableDatasets(false) .build()));
DatasetRetrievalOptions.DEFAULT.toBuilder() .setForceUpdate(true) .build());
public SourceTableDefinition getTable(NamespaceKey key, DatasetConfig datasetConfig, final boolean ignoreAuthErrors) throws Exception { DatasetRetrievalOptions retrievalOptions = getDefaultRetrievalOptions().toBuilder() .setIgnoreAuthzErrors(ignoreAuthErrors) .build(); try(AutoCloseableLock l = readLock()) { checkState(); if (datasetConfig != null && datasetConfig.getReadDefinition() != null) { final CheckResult res = plugin.checkReadSignature( datasetConfig.getReadDefinition().getReadSignature(), datasetConfig, retrievalOptions ); if (res.getStatus() == UpdateStatus.DELETED) { return null; } else if (res.getStatus() == UpdateStatus.CHANGED || res.getDataset() != null) { return res.getDataset(); } } return plugin.getDataset(key, datasetConfig, retrievalOptions); } }