@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
/** * 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); }
/** * 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; } }
bound.applyToBuilder(options.getReadOnlyBuilder()).setReturnReadTimestamp(true); final BeginTransactionRequest request = BeginTransactionRequest.newBuilder() .setSession(session.getName()) .setOptions(options)
/** * 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); }
/** * 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; } }
bound.applyToBuilder(options.getReadOnlyBuilder()).setReturnReadTimestamp(true); final BeginTransactionRequest request = BeginTransactionRequest.newBuilder() .setSession(session.getName()) .setOptions(options)