com.scalar.database.api.DistributedTransaction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of scalardb Show documentation
Show all versions of scalardb Show documentation
A universal transaction manager that achieves database-agnostic transactions and distributed transactions that span multiple databases
package com.scalar.database.api;
import com.scalar.database.exception.transaction.CommitException;
import com.scalar.database.exception.transaction.CrudException;
import com.scalar.database.exception.transaction.UnknownTransactionStatusException;
import java.util.List;
import java.util.Optional;
public interface DistributedTransaction {
String getId();
void with(String namespace, String tableName);
Optional get(Get get) throws CrudException;
List scan(Scan scan) throws CrudException;
void put(Put put);
void put(List puts);
void delete(Delete delete);
void delete(List deletes);
void mutate(List mutations);
void commit() throws CommitException, UnknownTransactionStatusException;
// TODO : maybe not needed
void abort();
}