/**
   * INTERNAL: Return the results from exeucting the database query. the arguments should be a
   * database row with raw data values. Find the correct child session to broker the query to, and
   * return the result of the session executing the query.
   */
  public Object internalExecuteQuery(DatabaseQuery query, AbstractRecord row)
      throws DatabaseException, QueryException {
    AbstractSession sessionByQuery = getSessionForQuery(query);

    // Note, this disables local profilers.
    return sessionByQuery.internalExecuteQuery(query, row);
  }