SELECT retorna "ResultSetHeader" antes do "TextRow" no JSON gerando erro ao popular campos na aplicação Node.JS

Fala Galera, tenho uma aplicação WEB desenvolvida em NodeJS.

Tenho um SELECT no MySQL que possui variáveis declaradas, no BD o select funciona tudo certinho, na minha aplicação (back-end) o select retorna dados tudo certinho.

O problema é que este SELECT em específico possui declaração de variáveis e está retornando no ArrayList da minha aplicação um tal de bloco “ResultSetHeader” ai não consigo popular meus elementos no front-end ao passar o array num forEach.

Veja como está retornando:
image

Eu acredito que esta retornando esse blocos “ResultSetHeader” pelo motivo de meu select possuir variáveis, pois todos os outros não tenho este problema, aqui está o inicio do meu select:

A ajuda que eu preciso é:
Como receber o Array ignorando estes blocos “ResultSetHeader” ?
Pois se eu receber do “TextRow” pra baixo que é o que um select simples retorna, funciona perfeitamente, mas é necessário manter as variáveis no select, senão não consigo trazer a informação que preciso:

Posta o código do seu backend onde você popular a lista.

Opa, @staroski segue código:

//Aqui é meu arquivo onde possuo as consultas (select.js)
class DB {
constructor(db) {
        this.db = db;
    }

async doQuery(queryToDo) {//Aqui é a função que utilizo logo abaixo
        let pro = new Promise((resolve, reject) => {
            let query = queryToDo;
            //Executando a consulta
            this.db.query(query, function (err, result) {
                //if (err) throw err;
                if (err) resolve(err);
                resolve(result);
            });
        })
        //Retornando o resultado
        return pro.then((val) => {
            return val;
        })
    }
}

async getCurvaAbcMes() {
let query = ""
            + "SET @csum := 0; "//Aqui é meu select coloquei só o começo pq é enorme
            + "SET @ccsum := 0; "
            + "SELECT "
            + "programacao.mes, "
             .
             .
             .

return this.doQuery(query)
}

};
module.exports = DB;

Aqui é o arquivo DAO da minha rota onde eu pego o resultado da consulta, passo para uma variável na rota que é depois utilizada no front end para popular os campos:

Rota indicadores.js

//Importando arquivo site-model.js que possui a classe com as funções de consulta
const DB = require('../listas/selects');//Aqui importo o arquivo que contem o select
const FUNCOES = require('../util/funcoes');
const mysql = require('mysql2');
const config = require('../../database/config');
const conn = mysql.createPool(config);

module.exports = {
    pageKPIGestaoEstoque: (req, res) => {
        let DBModel = new DB(conn);
        
              (async function () {
              
              let curvaAbc_mes = await DBModel.getCurvaAbcMes();//Aqui executo a consulta
              console.log('curvaAbc_mes: ', curvaAbc_mes[2].mes);//Aqui onde exibo o resultado postado no fórum
              
              res.render('./pageAdmin', {
                    DTCurvaAbcMes: curvaAbc_mes,//Aqui passo o array para a página
                    .
                    .
                    .
        })();//async
    },
};

Você falou em ArrayList e JTable mas o código que postou é Javascript e não Java.

Aplicação WEB em Node.JS, Javascript, MySQL.

Nunca usei essa biblioteca do mysql2 então não sei o padrão de retorno das chamadas dela, mas se o que você precisa está na terceira posição do Array não seria só retornar essa informação? Seguindo seu exemplo:

res.render('./pageAdmin', {
     DTCurvaAbcMes: curvaAbc_mes[2], // <-- Retorne apenas a terceira posição do Array onde contem as informações que precisa

Infelizmente não consegui solução, tive que refazer e adaptar todos as minhas querys para contornar este problema.

Vou deixar o tópico aberto, se aparecer alguma resposta será bem vinda, pois uma hora ou outra terei que usar select com variável.