/** * {@inheritDoc} */ @Override public void rename_partition(final String dbName, final String tblName, final List<String> partVals, final Partition newPart) throws TException { requestWrapper("rename_partition", new Object[]{dbName, tblName, partVals}, () -> { final TableDto tableDto = getTableDto(dbName, tblName); final String partName = hiveConverters.getNameFromPartVals(tableDto, partVals); final PartitionsSaveRequestDto partitionsSaveRequestDto = new PartitionsSaveRequestDto(); final PartitionDto partitionDto = hiveConverters.hiveToMetacatPartition(tableDto, newPart); partitionsSaveRequestDto.setPartitions(Lists.newArrayList(partitionDto)); partitionsSaveRequestDto.setPartitionIdsForDeletes(Lists.newArrayList(partName)); partV1.savePartitions(catalogName, dbName, tblName, partitionsSaveRequestDto); return null; }); }
/** * {@inheritDoc} */ @Override public void rename_partition(final String dbName, final String tblName, final List<String> partVals, final Partition newPart) throws TException { requestWrapper("rename_partition", new Object[]{dbName, tblName, partVals}, () -> { final TableDto tableDto = getTableDto(dbName, tblName); final String partName = hiveConverters.getNameFromPartVals(tableDto, partVals); final PartitionsSaveRequestDto partitionsSaveRequestDto = new PartitionsSaveRequestDto(); final PartitionDto partitionDto = hiveConverters.hiveToMetacatPartition(tableDto, newPart); partitionsSaveRequestDto.setPartitions(Lists.newArrayList(partitionDto)); partitionsSaveRequestDto.setPartitionIdsForDeletes(Lists.newArrayList(partName)); partV1.savePartitions(catalogName, dbName, tblName, partitionsSaveRequestDto); return null; }); }
dto.setPartitionIdsForDeletes(partitionIds); eventBus.post(new MetacatDeleteTablePartitionPreEvent(name, metacatRequestContext, this, dto)); final ConnectorPartitionService service = connectorManager.getPartitionService(name);
/** * Calls the right method of the event bus for the given qualified name. * * @param name name * @param metacatRequestContext context */ public void postPreDeleteEvent( final QualifiedName name, final MetacatRequestContext metacatRequestContext ) { if (name.isPartitionDefinition()) { final PartitionsSaveRequestDto partitionsSaveRequestDto = new PartitionsSaveRequestDto(); partitionsSaveRequestDto.setPartitionIdsForDeletes(Lists.newArrayList(name.getPartitionName())); this.eventBus.post( new MetacatDeleteTablePartitionPreEvent(name, metacatRequestContext, this, partitionsSaveRequestDto) ); } else if (name.isViewDefinition()) { this.eventBus.post( new MetacatDeleteMViewPreEvent(name, metacatRequestContext, this) ); } else if (name.isTableDefinition()) { this.eventBus.post(new MetacatDeleteTablePreEvent(name, metacatRequestContext, this)); } else if (name.isDatabaseDefinition()) { final DatabaseDto dto = new DatabaseDto(); dto.setName(name); eventBus.post(new MetacatDeleteDatabasePreEvent(name, metacatRequestContext, this, dto)); } else { throw new IllegalArgumentException(String.format("Invalid name %s", name)); } }
/** * {@inheritDoc} */ @Override public void deletePartitions(final QualifiedName name, final List<String> partitionIds) { final MetacatRequestContext metacatRequestContext = MetacatContextManager.getContext(); final PartitionsSaveRequestDto dto = new PartitionsSaveRequestDto(); dto.setPartitionIdsForDeletes(partitionIds); eventBus.post(new MetacatDeleteMViewPartitionPreEvent(name, metacatRequestContext, this, dto)); final QualifiedName viewQName = QualifiedName.ofTable(name.getCatalogName(), VIEW_DB_NAME, createViewName(name)); partitionService.delete(viewQName, partitionIds); eventBus.post( new MetacatDeleteMViewPartitionPostEvent(name, metacatRequestContext, this, partitionIds) ); }