code: func (db *db) Begin(writable bool) (database.Tx, error) {
  	return db.begin(writable)
  }
docs: // Begin starts a transaction which is either read-only or read-write depending
  // on the specified flag.  Multiple read-only transactions can be started
  // simultaneously while only a single read-write transaction can be started at a
  // time.  The call will block when starting a read-write transaction when one is
  // already open.
  //
  // NOTE: The transaction must be closed by calling Rollback or Commit on it when
  // it is no longer needed.  Failure to do so will result in unclaimed memory.
  //
  // This function is part of the database.DB interface implementation.