syncbase/src/main/java/io/v/syncbase/Database.java
/**
     * Creates a new batch. Instead of calling this function directly, clients are encouraged to use
     * the {@code runInBatch} helper function, which detects "concurrent batch" errors and handles
     * retries internally.
     * <p/>
     * Default concurrency semantics:
     * <ul>
     * <li>Reads (e.g. gets, scans) inside a batch operate over a consistent snapshot taken during
     * {@code beginBatch}, and will see the effects of prior writes performed inside the batch.</li>
     * <li>{@code commit} may fail with {@code ConcurrentBatchException}, indicating that after
     * {@code beginBatch} but before {@code commit}, some concurrent routine wrote to a key that
     * matches a key or row-range read inside this batch.</li>
     * <li>Other methods will never fail with error {@code ConcurrentBatchException}, even if it is
     * known that {@code commit} will fail with this error.</li>
     * </ul>
     * <p/>
     * Once a batch has been committed or aborted, subsequent method calls will fail with no
     * effect.
     * <p/>
     * Concurrency semantics can be configured using BatchOptions.
     *
     * @param opts options for this batch
     * @return the batch handle
     */
Creates a new batch. Instead of calling this function directly, clients are encouraged to use
the  runInBatch helper function, which detects "concurrent batch" errors and handles
retries internally.

Default concurrency semantics:

Reads  inside a batch operate over a consistent snapshot taken during
beginBatch, and will see the effects of prior writes performed inside the batch.
 commit may fail with  ConcurrentBatchException, indicating that after
beginBatch but before  commit, some concurrent routine wrote to a key that
matches a key or row-range read inside this batch.
Other methods will never fail with error  ConcurrentBatchException, even if it is
known that  commit will fail with this error.


Once a batch has been committed or aborted, subsequent method calls will fail with no
effect.

Concurrency semantics can be configured using BatchOptions.

@param opts options for this batch
@return the batch handle
Creates a new batch . Instead of calling this function directly clients are encouraged to use the runInBatch helper function which detects " concurrent batch " errors and handles retries internally . Default concurrency semantics : Reads inside a batch operate over a consistent snapshot taken during beginBatch and will see the effects of prior writes performed inside the batch . commit may fail with ConcurrentBatchException indicating that after beginBatch but before commit some concurrent routine wrote to a key that matches a key or row - range read inside this batch . Other methods will never fail with error ConcurrentBatchException even if it is known that commit will fail with this error . Once a batch has been committed or aborted subsequent method calls will fail with no effect . Concurrency semantics can be configured using BatchOptions . @param opts options for this batch @return the batch handle
public BatchDatabase beginBatch(BatchOptions opts) throws SyncbaseException {
        try {
            return new BatchDatabase(mCoreDatabase.beginBatch(opts.toCore()));
        } catch (VError e) {
            chainThrow("creating batch in database", mCoreDatabase.id().name, e);
            throw new AssertionError("never happens");
        }
    }
public BatchDatabase beginBatch ( BatchOptions opts ) throws SyncbaseException { try { return new BatchDatabase ( mCoreDatabase . beginBatch ( opts . toCore ( ) ) ) ; } catch ( VError e ) { chainThrow ( "creating batch in database" , mCoreDatabase . id ( ) . name , e ) ; throw new AssertionError ( "never happens" ) ; } }
Creates a new batch.
Creates a new batch .