code: func (c *Connection) Query(qr *QueryRequest) (*QueryResponse, error) {
  	c.dbMu.RLock()
  	defer c.dbMu.RUnlock()
  	if c.db == nil {
  		return nil, ErrConnectionDoesNotExist
  	}
  	return c.store.query(c, qr)
  }
docs: // Query executes queries that return rows, and do not modify the database.