// OnError determines whether an error returned by a Transaction method is // retryable. Waiting on the returned future will return the same error when // fatal, or return nil (after blocking the calling goroutine for a suitable // delay) for retryable errors. // // Typical code will not use OnError directly. (Database).Transact uses // OnError internally to implement a correct retry loop. func (t Transaction) OnError(e Error) FutureNil { return &futureNil{newFuture(C.fdb_transaction_on_error(t.ptr, C.fdb_error_t(e.Code)))} }
// OnError determines whether an error returned by a Transaction method is // retryable. Waiting on the returned future will return the same error when // fatal, or return nil (after blocking the calling goroutine for a suitable // delay) for retryable errors. // // Typical code will not use OnError directly. (Database).Transact() uses // OnError internally to implement a correct retry loop. func (t Transaction) OnError(e Error) FutureNil { return makeFutureNil(C.fdb_transaction_on_error(t.ptr, C.fdb_error_t(e))) }
func (e Error) Error() string { return fmt.Sprintf("FDB Error: %s (%d)", C.GoString(C.fdb_get_error(C.fdb_error_t(e))), e) }
func (e Error) Error() string { return fmt.Sprintf("FoundationDB error code %d (%s)", e.Code, C.GoString(C.fdb_get_error(C.fdb_error_t(e.Code)))) }