use of com.google.spanner.v1.ResultSet in project google-cloud-java by GoogleCloudPlatform.
the class ITQueryTest method analyzePlan.
@Test
public void analyzePlan() {
Statement statement = Statement.of("SELECT 1 AS column UNION ALL SELECT 2");
ResultSet resultSet = statement.analyzeQuery(client.singleUse(TimestampBound.strong()), QueryAnalyzeMode.PLAN);
assertThat(resultSet.next()).isFalse();
assertThat(resultSet.getType()).isEqualTo(Type.struct(StructField.of("column", Type.int64())));
ResultSetStats receivedStats = resultSet.getStats();
assertThat(receivedStats).isNotNull();
assertThat(receivedStats.hasQueryPlan()).isTrue();
assertThat(receivedStats.hasQueryStats()).isFalse();
}
use of com.google.spanner.v1.ResultSet in project google-cloud-java by GoogleCloudPlatform.
the class ITQueryTest method analyzeProfile.
@Test
public void analyzeProfile() {
Statement statement = Statement.of("SELECT 1 AS column UNION ALL SELECT 2 AS column ORDER BY column");
ResultSet resultSet = statement.analyzeQuery(client.singleUse(TimestampBound.strong()), QueryAnalyzeMode.PROFILE);
assertThat(resultSet.next()).isTrue();
assertThat(resultSet.getType()).isEqualTo(Type.struct(StructField.of("column", Type.int64())));
assertThat(resultSet.getLong(0)).isEqualTo(1);
assertThat(resultSet.next()).isTrue();
assertThat(resultSet.getLong(0)).isEqualTo(2);
assertThat(resultSet.next()).isFalse();
ResultSetStats receivedStats = resultSet.getStats();
assertThat(receivedStats).isNotNull();
assertThat(receivedStats.hasQueryPlan()).isTrue();
assertThat(receivedStats.hasQueryStats()).isTrue();
}
use of com.google.spanner.v1.ResultSet in project google-cloud-java by GoogleCloudPlatform.
the class GrpcResultSetTest method planResult.
@Test
public void planResult() {
ResultSetStats stats = ResultSetStats.newBuilder().setQueryPlan(QueryPlan.newBuilder().build()).build();
consumer.onPartialResultSet(PartialResultSet.newBuilder().setMetadata(makeMetadata(Type.struct(new ArrayList<Type.StructField>()))).setChunkedValue(false).setStats(stats).build());
resultSet = resultSetWithMode(QueryMode.PLAN);
consumer.onCompleted();
assertThat(resultSet.next()).isFalse();
ResultSetStats receivedStats = resultSet.getStats();
assertThat(stats).isEqualTo(receivedStats);
resultSet.close();
}
use of com.google.spanner.v1.ResultSet in project google-cloud-java by GoogleCloudPlatform.
the class SessionImplTest method multiUseReadOnlyTransactionReturnsMissingTransactionId.
@Test
public void multiUseReadOnlyTransactionReturnsMissingTransactionId() throws ParseException {
com.google.protobuf.Timestamp t = Timestamps.parse("2015-10-01T10:54:20.021Z");
Transaction txnMetadata = Transaction.newBuilder().setReadTimestamp(t).build();
PartialResultSet resultSet = PartialResultSet.newBuilder().setMetadata(newMetadata(Type.struct(Type.StructField.of("C", Type.string())))).build();
Mockito.when(rpc.beginTransaction(Mockito.<BeginTransactionRequest>any(), Mockito.eq(options))).thenReturn(txnMetadata);
mockRead(resultSet);
ReadOnlyTransaction txn = session.readOnlyTransaction(TimestampBound.strong());
expectedException.expect(SpannerMatchers.isSpannerException(ErrorCode.INTERNAL));
txn.readRow("Dummy", Key.of(), Arrays.asList("C"));
}
use of com.google.spanner.v1.ResultSet in project google-cloud-java by GoogleCloudPlatform.
the class SessionImplTest method multiUseReadOnlyTransactionReturnsMissingTimestamp.
@Test
public void multiUseReadOnlyTransactionReturnsMissingTimestamp() {
Transaction txnMetadata = Transaction.newBuilder().setId(ByteString.copyFromUtf8("x")).build();
PartialResultSet resultSet = PartialResultSet.newBuilder().setMetadata(newMetadata(Type.struct(Type.StructField.of("C", Type.string())))).build();
Mockito.when(rpc.beginTransaction(Mockito.<BeginTransactionRequest>any(), Mockito.eq(options))).thenReturn(txnMetadata);
mockRead(resultSet);
ReadOnlyTransaction txn = session.readOnlyTransaction(TimestampBound.strong());
expectedException.expect(SpannerMatchers.isSpannerException(ErrorCode.INTERNAL));
txn.readRow("Dummy", Key.of(), Arrays.asList("C"));
}
Aggregations