code: func (c *Connection) NewTransaction() (*Connection, error) {
  	var cn *Connection
  	if c.TX == nil {
  		tx, err := c.Store.Transaction()
  		if err != nil {
  			return cn, errors.Wrap(err, "couldn't start a new transaction")
  		}
  		cn = &Connection{
  			ID:      randx.String(30),
  			Store:   tx,
  			Dialect: c.Dialect,
  			TX:      tx,
  		}
  	} else {
  		cn = c
  	}
  	return cn, nil
  }
docs: // NewTransaction starts a new transaction on the connection