All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tech.ydb.table.transaction.Transaction Maven / Gradle / Ivy

package tech.ydb.table.transaction;

import java.util.concurrent.CompletableFuture;

import tech.ydb.core.Status;
import tech.ydb.table.settings.CommitTxSettings;
import tech.ydb.table.settings.RollbackTxSettings;

/**
 * @author Sergey Polovko
 * Consider using {@link TableTransaction} instead
 */
public interface Transaction {
    enum Mode {
        SERIALIZABLE_READ_WRITE,
        ONLINE_READ_ONLY,
        STALE_READ_ONLY,
        SNAPSHOT_READ_ONLY;
    }

    String getId();

    CompletableFuture commit(CommitTxSettings settings);
    CompletableFuture rollback(RollbackTxSettings settings);

    default CompletableFuture commit() {
        return commit(new CommitTxSettings());
    }

    default CompletableFuture rollback() {
        return rollback(new RollbackTxSettings());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy