### Description

As discussed in https://github.com/elastic/elasticsearch/issues/98995, queries will not have an implicit order - as such the CSV spec framework would have to account for this.
As some tests will want to check the order while others might not, it's best to have a flag or marker when the out of order occurs and use a different assertion method.
x-pack/plugin/esql/qa/server/src/main/java/org/elasticsearch/xpack/esql/qa/rest/EsqlSpecTestCase.java
throw reworkException(e);
        }
    }
    protected final void doTest() throws Throwable {
        RequestObjectBuilder builder = new RequestObjectBuilder(randomFrom(XContentType.values()));
        Map<String, Object> answer = runEsql(builder.query(testCase.query).build(), testCase.expectedWarnings);
        var expectedColumnsWithValues = loadCsvSpecValues(testCase.expectedResults);
        assertNotNull(answer.get("columns"));
        @SuppressWarnings("unchecked")
        var actualColumns = (List<Map<String, String>>) answer.get("columns");
        assertMetadata(expectedColumnsWithValues, actualColumns, LOGGER);
        assertNotNull(answer.get("values"));
        @SuppressWarnings("unchecked")
        List<List<Object>> actualValues = (List<List<Object>>) answer.get("values");
        assertData(expectedColumnsWithValues, actualValues, LOGGER, value -> value == null ? "null" : value.toString());
    }
    private Throwable reworkException(Throwable th) {
        StackTraceElement[] stackTrace = th.getStackTrace();
        StackTraceElement[] redone = new StackTraceElement[stackTrace.length + 1];
        System.arraycopy(stackTrace, 0, redone, 1, stackTrace.length);
        redone[0] = new StackTraceElement(getClass().getName(), groupName + "." + testName, fileName, lineNumber);
        th.setStackTrace(redone);
        return th;
    }
    @Override
    protected boolean preserveClusterUponCompletion() {
        return true;
    }
}