managed_db.go
func (db *DB) NewTransactionAt(readTs uint64, update bool) *Txn {
	if !db.opt.managedTxns {
		panic("Cannot use NewTransactionAt with managedDB=false. Use NewTransaction instead.")
	}
	txn := db.newTransaction(update, true)
	txn.readTs = readTs
	return txn
}
func (db *DB) NewTransactionAt(readTs uint64, update bool) *Txn {
	if !db.opt.managedTxns {
		panic("Cannot use NewTransactionAt with managedDB=false. Use NewTransaction instead.")
	}
	txn := db.newTransaction(update, true)
	txn.readTs = readTs
	return txn
}
func ( db * DB ) NewTransactionAt ( readTs uint64 , update bool ) * Txn { if ! db . opt . managedTxns { panic ( " " ) } txn := db . newTransaction ( update , true ) txn . readTs = readTs return txn }
// NewTransactionAt follows the same logic as DB.NewTransaction(), but uses the
// provided read timestamp.
//
// This is only useful for databases built on top of Badger (like Dgraph), and
// can be ignored by most users.
NewTransactionAt follows the same logic as DB . NewTransaction () but uses the provided read timestamp . This is only useful for databases built on top of Badger ( like Dgraph ) and can be ignored by most users .