public Builder mergeFrom(com.google.spanner.v1.BeginTransactionRequest other) { if (other == com.google.spanner.v1.BeginTransactionRequest.getDefaultInstance()) return this; if (!other.getSession().isEmpty()) { session_ = other.session_; onChanged(); } if (other.hasOptions()) { mergeOptions(other.getOptions()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; }
@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
@java.lang.Override public com.google.spanner.v1.BeginTransactionRequest buildPartial() { com.google.spanner.v1.BeginTransactionRequest result = new com.google.spanner.v1.BeginTransactionRequest(this); result.session_ = session_; if (optionsBuilder_ == null) { result.options_ = options_; } else { result.options_ = optionsBuilder_.build(); } onBuilt(); return result; }
@java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (!getSessionBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, session_); } if (options_ != null) { output.writeMessage(2, getOptions()); } unknownFields.writeTo(output); }
@java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.spanner.v1.BeginTransactionRequest)) { return super.equals(obj); } com.google.spanner.v1.BeginTransactionRequest other = (com.google.spanner.v1.BeginTransactionRequest) obj; boolean result = true; result = result && getSession().equals(other.getSession()); result = result && (hasOptions() == other.hasOptions()); if (hasOptions()) { result = result && getOptions().equals(other.getOptions()); } result = result && unknownFields.equals(other.unknownFields); return result; }
/** * * * <pre> * Required. The session in which the transaction runs. * </pre> * * <code>string session = 1;</code> */ public Builder clearSession() { session_ = getDefaultInstance().getSession(); onChanged(); return this; } /**
@java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + SESSION_FIELD_NUMBER; hash = (53 * hash) + getSession().hashCode(); if (hasOptions()) { hash = (37 * hash) + OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getOptions().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; }
@Test @SuppressWarnings("all") public void beginTransactionTest() { ByteString id = ByteString.copyFromUtf8("27"); Transaction expectedResponse = Transaction.newBuilder().setId(id).build(); mockSpanner.addResponse(expectedResponse); SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); TransactionOptions options = TransactionOptions.newBuilder().build(); Transaction actualResponse = client.beginTransaction(session, options); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockSpanner.getRequests(); Assert.assertEquals(1, actualRequests.size()); BeginTransactionRequest actualRequest = (BeginTransactionRequest) actualRequests.get(0); Assert.assertEquals(session, SessionName.parse(actualRequest.getSession())); Assert.assertEquals(options, actualRequest.getOptions()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Override public Transaction beginTransaction( BeginTransactionRequest request, @Nullable Map<Option, ?> options) throws SpannerException { GrpcCallContext context = newCallContext(options, request.getSession()); return get(spannerStub.beginTransactionCallable().futureCall(request, context)); }
@java.lang.Override public com.google.spanner.v1.BeginTransactionRequest getDefaultInstanceForType() { return com.google.spanner.v1.BeginTransactionRequest.getDefaultInstance(); }
/** * * * <pre> * Required. Options for the new transaction. * </pre> * * <code>.google.spanner.v1.TransactionOptions options = 2;</code> */ public com.google.spanner.v1.TransactionOptionsOrBuilder getOptionsOrBuilder() { return getOptions(); }
@java.lang.Override public com.google.spanner.v1.BeginTransactionRequest build() { com.google.spanner.v1.BeginTransactionRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; }
@Override public Transaction beginTransaction( BeginTransactionRequest request, @Nullable Map<Option, ?> options) throws SpannerException { GrpcCallContext context = newCallContext(options, request.getSession()); return get(spannerStub.beginTransactionCallable().futureCall(request, context)); }
@java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getSessionBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, session_); } if (options_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getOptions()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; }
.setRequestMarshaller( io.grpc.protobuf.ProtoUtils.marshaller( com.google.spanner.v1.BeginTransactionRequest.getDefaultInstance())) .setResponseMarshaller( io.grpc.protobuf.ProtoUtils.marshaller(
/** * Begins a new transaction. This step can often be skipped: * [Read][google.spanner.v1.Spanner.Read], [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] and * [Commit][google.spanner.v1.Spanner.Commit] can begin a new transaction as a side-effect. * * <p>Sample code: * * <pre><code> * try (SpannerClient spannerClient = SpannerClient.create()) { * SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); * TransactionOptions options = TransactionOptions.newBuilder().build(); * Transaction response = spannerClient.beginTransaction(session.toString(), options); * } * </code></pre> * * @param session Required. The session in which the transaction runs. * @param options Required. Options for the new transaction. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final Transaction beginTransaction(String session, TransactionOptions options) { BeginTransactionRequest request = BeginTransactionRequest.newBuilder().setSession(session).setOptions(options).build(); return beginTransaction(request); }
.setRequestMarshaller( io.grpc.protobuf.ProtoUtils.marshaller( com.google.spanner.v1.BeginTransactionRequest.getDefaultInstance())) .setResponseMarshaller( io.grpc.protobuf.ProtoUtils.marshaller(
/** * Begins a new transaction. This step can often be skipped: * [Read][google.spanner.v1.Spanner.Read], [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] and * [Commit][google.spanner.v1.Spanner.Commit] can begin a new transaction as a side-effect. * * <p>Sample code: * * <pre><code> * try (SpannerClient spannerClient = SpannerClient.create()) { * SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); * TransactionOptions options = TransactionOptions.newBuilder().build(); * Transaction response = spannerClient.beginTransaction(session, options); * } * </code></pre> * * @param session Required. The session in which the transaction runs. * @param options Required. Options for the new transaction. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final Transaction beginTransaction(SessionName session, TransactionOptions options) { BeginTransactionRequest request = BeginTransactionRequest.newBuilder() .setSession(session == null ? null : session.toString()) .setOptions(options) .build(); return beginTransaction(request); }
ByteString initTransaction() { final BeginTransactionRequest request = BeginTransactionRequest.newBuilder() .setSession(session.getName()) .setOptions( TransactionOptions.newBuilder() .setPartitionedDml(TransactionOptions.PartitionedDml.getDefaultInstance())) .build(); Transaction txn = runWithRetries( new Callable<Transaction>() { @Override public Transaction call() throws Exception { return rpc.beginTransaction(request, session.options); } }); if (txn.getId().isEmpty()) { throw SpannerExceptionFactory.newSpannerException( ErrorCode.INTERNAL, "Failed to init transaction, missing transaction id\n" + session.getName()); } return txn.getId(); }
ByteString beginTransaction() { Span span = tracer.spanBuilder(BEGIN_TRANSACTION).startSpan(); try (Scope s = tracer.withSpan(span)) { final BeginTransactionRequest request = BeginTransactionRequest.newBuilder() .setSession(name) .setOptions( TransactionOptions.newBuilder() .setReadWrite(TransactionOptions.ReadWrite.getDefaultInstance())) .build(); Transaction txn = runWithRetries( new Callable<Transaction>() { @Override public Transaction call() throws Exception { return gapicRpc.beginTransaction(request, options); } }); if (txn.getId().isEmpty()) { throw newSpannerException(ErrorCode.INTERNAL, "Missing id in transaction\n" + getName()); } span.end(); return txn.getId(); } catch (RuntimeException e) { TraceUtil.endSpanWithFailure(span, e); throw e; } }