private List<Integer> parseError(SQLException e) throws SQLException {
        List<Integer> errors = new ArrayList<>();
        int pos = getPosFromMessage(e.getMessage());
        if (pos != -1) {
            errors.add(getPosFromMessage(e.getMessage()));
        } else {
            throw new SQLException(e);
        }
        SQLException next = e.getNextException();
        if (next != null) {
            errors.addAll(parseError(next));
        }
        return errors;
    }
A {@link JdbcBatchStatementExecutor} that simply adds the records into batches of {@link
java.sql.PreparedStatement} and doesn't buffer records in memory. Only used in Table/SQL API.
Supported executors:TableBufferedStatementExecutor, TableBufferReducedStatementExecutor, TableSimpleStatementExecutor
inlong-sort/sort-flink/sort-flink-v1.13/sort-connectors/jdbc/src/main/java/org/apache/inlong/sort/jdbc/internal/TableMetricStatementExecutor.java