コード例 #1
0
func (db *Databases) ReadTxnBytesFromDisk(rtxn *mdbs.RTxn, txnId *common.TxnId) []byte {
	bites, err := rtxn.Get(db.Transactions, txnId[:])
	if err == nil {
		return bites
	} else {
		return nil
	}
}
コード例 #2
0
ファイル: transaction.go プロジェクト: chang290/server
func ReadTxnFromDisk(rtxn *mdbs.RTxn, txnId *common.TxnId) (*msgs.Txn, error) {
	bites, err := rtxn.Get(DB.Transactions, txnId[:])
	switch err {
	case nil:
		if seg, _, err := capn.ReadFromMemoryZeroCopy(bites); err == nil {
			txn := msgs.ReadRootTxn(seg)
			return &txn, nil
		} else {
			return nil, err
		}

	case mdb.NotFound:
		return nil, nil

	default:
		return nil, err
	}
}