code: func (m *DbMap) Select(dest interface{}, query string, args ...interface{}) error {
  	return hookedselect(m, m, dest, query, args...)
  }
docs: // Select runs an arbitrary SQL query, binding the columns in the result
  // to fields on the struct specified by dest.  args represent the bind
  // parameters for the SQL statement.
  //
  // Column names on the SELECT statement should be aliased to the field names
  // on the struct dest. Returns an error if one or more columns in the result
  // do not match.  It is OK if fields on i are not part of the SQL
  // statement.
  //
  // Hook function PostGet() will be executed
  // after the SELECT statement if the interface defines it.
  //
  // Values are returned in one of two ways:
  //
  // 1. If dest is a struct or a pointer to a struct, returns a slice of pointers to
  // matching rows of type dest.
  //
  // 2. If dest is a pointer to a slice, the results will be appended to that slice
  // and nil returned.
  //
  // dest does NOT need to be registered with AddTable().