code: func (c *Connection) Open() error {
  	if c.Store != nil {
  		return nil
  	}
  	if c.Dialect == nil {
  		return errors.New("invalid connection instance")
  	}
  	details := c.Dialect.Details()
  	db, err := sqlx.Open(details.Dialect, c.Dialect.URL())
  	if err != nil {
  		return errors.Wrap(err, "could not open database connection")
  	}
  	db.SetMaxOpenConns(details.Pool)
  	db.SetMaxIdleConns(details.IdlePool)
  	c.Store = &dB{db}
  
  	if d, ok := c.Dialect.(afterOpenable); ok {
  		err = d.AfterOpen(c)
  		if err != nil {
  			c.Store = nil
  		}
  	}
  	return errors.Wrap(err, "could not open database connection")
  }
docs: // Open creates a new datasource connection