code: func (t *Transaction) setError(err error) {
  	if t.err == nil {
  		t.err = err
  	}
  }
docs: // SetError sets the err property of the transaction iff it was not already
  // set. This will cause exec to fail immediately.