/** * <p>modifyColumns.</p> * * @param tableName a {@link TableName} object for error messages. * @param columnName a {@link String} object for error messages * @param modificationType a {@link String} object for error messages * @param builder a {@link ModifyTableBuilder} object to send. * @throws java.io.IOException if any. */ protected Void modifyColumns(TableName tableName, String columnName, String modificationType, ModifyTableBuilder builder) throws IOException { ModifyColumnFamiliesRequest request = builder.build(); try { bigtableTableAdminClient.modifyColumnFamily( request.toProto(bigtableInstanceName.toAdminInstanceName())); return null; } catch (Throwable throwable) { throw new IOException( String.format( "Failed to %s column '%s' in table '%s'", modificationType, columnName, tableName.getNameAsString()), throwable); } }
/** {@inheritDoc} */ @Override public Table modifyFamilies(ModifyColumnFamiliesRequest request) { com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest modifyColumnRequestProto = request.toProto(instanceName.getProjectId(), instanceName.getInstanceId()); return Table.fromProto(adminClient.modifyColumnFamily(modifyColumnRequestProto)); }
/** {@inheritDoc} */ @Override public void modifyTable(TableName tableName, HTableDescriptor newDecriptor) throws IOException { if (isTableAvailable(tableName)) { try { ModifyColumnFamiliesRequest request = buildModifications(newDecriptor, getTableDescriptor(tableName)).build(); bigtableTableAdminClient.modifyColumnFamily( request.toProto(bigtableInstanceName.toAdminInstanceName())); } catch (Throwable throwable) { throw new IOException( String.format("Failed to modify table '%s'", tableName.getNameAsString()), throwable); } } else { throw new TableNotFoundException(tableName); } }