function runQuery(executionId, connection = {}) {
  // Check to see if a custom maxrows is set, otherwise use default
  const maxRows = resolvePositiveNumber(
    connection.maxrows_override,
    connection.maxRows
  );
  const maxRowsPlusOne = maxRows + 1;
  const athenaClient = newAthenaClient(connection);

  return athenaClient
    .query(executionId)
    .then((results) => {
      appLog.trace(results);
      if (!results.Items) {
        return { results, incomplete: false };
      }
      appLog.debug(
        `Retrieved ${results.Items.length} items out of ${results.Count}`
      );
      let rows = results.Items;
      if (rows.length >= maxRowsPlusOne) {
        return { rows: rows.slice(0, maxRows), incomplete: true };
      }
      return { rows, incomplete: false };
    })
    .catch((error) => {
      appLog.error(`Error found ${error}`);
      if (
        String(error).includes('Insufficient Lake Formation permission(s) on')
      ) {
        throw Error(
          "Table not found, make sure you're using a fully qualified table name, e.g. database.table"
        );
      }
      throw error;
    });
}
Run query for connection and return the results
Should return the query results
@param {string} executionId
@param {object} connection