public Publisher beginTransaction()

in cloud-spanner-r2dbc/src/main/java/com/google/cloud/spanner/r2dbc/v2/SpannerClientLibraryConnection.java [62:75]


  public Publisher<Void> beginTransaction(TransactionDefinition definition) {
    IsolationLevel isolationLevel = firstNonNull(definition.getAttribute(ISOLATION_LEVEL),
        SERIALIZABLE);
    return validateIsolation(isolationLevel)
        .then(Mono.defer(() -> {
          boolean isReadOnly = TRUE.equals(definition.getAttribute(READ_ONLY));
          if (isReadOnly) {
            TimestampBound timestampBound = firstNonNull(definition.getAttribute(TIMESTAMP_BOUND),
                TimestampBound.strong());
            return this.clientLibraryAdapter.beginReadonlyTransaction(timestampBound);
          }
          return this.clientLibraryAdapter.beginTransaction();
        }));
  }