@Test public void defaultBuilder() { PartitionOptions parameters = PartitionOptions.getDefaultInstance(); assertThat(parameters.getPartitionSizeBytes()).isEqualTo(0); assertThat(parameters.getMaxPartitions()).isEqualTo(0); // Test serialization. reserializeAndAssert(parameters); }
private PartitionOptions getRandomPartitionOptions() { int desiredBytesPerBatch = 1 << 30; int maxPartitionCount = 100; PartitionOptions parameters = PartitionOptions.newBuilder() .setPartitionSizeBytes(desiredBytesPerBatch) .setMaxPartitions(maxPartitionCount) .build(); if (RANDOM.nextInt(2) == 1) { parameters = PartitionOptions.getDefaultInstance(); } return parameters; }
public PartitionOptions build() { return new PartitionOptions(this); } }
@Override public int hashCode() { return Objects.hash(getMaxPartitions(), getPartitionSizeBytes()); } }
@Test public void emptyBuilder() { PartitionOptions parameters = PartitionOptions.newBuilder().build(); assertThat(parameters.getPartitionSizeBytes()).isEqualTo(0); assertThat(parameters.getMaxPartitions()).isEqualTo(0); // Test serialization. reserializeAndAssert(parameters); }
void partitionRead() { // [START partition_read] final BatchReadOnlyTransaction txn = batchClient.batchReadOnlyTransaction(TimestampBound.strong()); List<Partition> partitions = txn.partitionRead( PartitionOptions.getDefaultInstance(), "Singers", KeySet.all(), Arrays.asList("SingerId", "FirstName", "LastName")); for (final Partition p : partitions) { try (ResultSet results = txn.execute(p)) { while (results.next()) { long singerId = results.getLong(0); String firstName = results.getString(1); String lastName = results.getString(2); System.out.println("[" + singerId + "] " + firstName + " " + lastName); } } } // [END partition_read] }
public static PartitionOptions getDefaultInstance() { return newBuilder().build(); }
com.google.spanner.v1.PartitionOptions.newBuilder(); if (partitionOptions != null) { partitionOptions.appendToProto(pbuilder);
void partitionReadUsingIndex() { // [START partition_read_using_index] final BatchReadOnlyTransaction txn = batchClient.batchReadOnlyTransaction(TimestampBound.strong()); List<Partition> partitions = txn.partitionReadUsingIndex( PartitionOptions.getDefaultInstance(), "Singers", "SingerId", KeySet.all(), Arrays.asList("SingerId", "FirstName", "LastName")); for (Partition p : partitions) { try (ResultSet results = txn.execute(p)) { while (results.next()) { long singerId = results.getLong(0); String firstName = results.getString(1); String lastName = results.getString(2); System.out.println("[" + singerId + "] " + firstName + " " + lastName); } } } // [END partition_read_using_index] } }
@Override public String toString() { return String.format( "partitionSizeBytes: %s, maxPartitions: %s", getPartitionSizeBytes(), getMaxPartitions()); }
@Test public void builder() { long desiredBytesPerBatch = 1 << 30; long maxPartitionCount = 100; PartitionOptions parameters = PartitionOptions.newBuilder() .setPartitionSizeBytes(desiredBytesPerBatch) .setMaxPartitions(maxPartitionCount) .build(); assertThat(parameters.getPartitionSizeBytes()).isEqualTo(desiredBytesPerBatch); assertThat(parameters.getMaxPartitions()).isEqualTo(maxPartitionCount); // Test serialization. reserializeAndAssert(parameters); }
@Test public void invalidDesiredBytesPerBatch() { expectedException.expect(IllegalArgumentException.class); PartitionOptions.newBuilder().setPartitionSizeBytes(-1).build(); }
com.google.spanner.v1.PartitionOptions.newBuilder(); if (partitionOptions != null) { partitionOptions.appendToProto(pbuilder);
void partitionQuery() { // [START partition_query] final BatchReadOnlyTransaction txn = batchClient.batchReadOnlyTransaction(TimestampBound.strong()); List<Partition> partitions = txn.partitionQuery( PartitionOptions.getDefaultInstance(), Statement.of("SELECT SingerId, FirstName, LastName FROM Singers")); for (final Partition p : partitions) { try (ResultSet results = txn.execute(p)) { while (results.next()) { long singerId = results.getLong(0); String firstName = results.getString(1); String lastName = results.getString(2); System.out.println("[" + singerId + "] " + firstName + " " + lastName); } } } // [END partition_query] }
@Test public void equalAndHashCode() { new EqualsTester() .addEqualityGroup( PartitionOptions.newBuilder() .setPartitionSizeBytes(1 << 30) .setMaxPartitions(100) .build(), PartitionOptions.newBuilder() .setPartitionSizeBytes(1 << 30) .setMaxPartitions(100) .build()) .addEqualityGroup( PartitionOptions.newBuilder().build(), PartitionOptions.getDefaultInstance()) .testEquals(); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } PartitionOptions that = (PartitionOptions) o; return Objects.equals(getMaxPartitions(), that.getMaxPartitions()) && Objects.equals(getPartitionSizeBytes(), that.getPartitionSizeBytes()); }
@Test public void invalidMaxPartitionCount() { expectedException.expect(IllegalArgumentException.class); PartitionOptions.newBuilder().setMaxPartitions(-1).build(); } }
com.google.spanner.v1.PartitionOptions.newBuilder(); if (partitionOptions != null) { partitionOptions.appendToProto(pbuilder);
public PartitionOptions build() { return new PartitionOptions(this); } }
@Override public Void run(TransactionContext transaction) throws SpannerException { BatchClient batchClient = env.getTestHelper().getBatchClient(db); BatchReadOnlyTransaction batchTxn = batchClient.batchReadOnlyTransaction(TimestampBound.strong()); batchTxn.partitionReadUsingIndex( PartitionOptions.getDefaultInstance(), "Test", "Index", KeySet.all(), Arrays.asList("Fingerprint")); return null; } });