From fbfa133d90f7a1a4a1021782c12b4abab1e4b200 Mon Sep 17 00:00:00 2001 From: Sylvestre Gug Date: Thu, 10 Nov 2022 16:47:34 -0500 Subject: [PATCH 1/2] no error on stream --- lib/mssql.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mssql.js b/lib/mssql.js index d5aeee8..84a1d66 100644 --- a/lib/mssql.js +++ b/lib/mssql.js @@ -108,7 +108,7 @@ export async function queryStream(req, res, pool) { }, {}); cb(null, row); } else { - cb(new Error("row has unexpected format"), chunk); + cb(null, undefined); } }, }) From 9550cd16c78fcd3ec1895d692aa9d81939fcc6f9 Mon Sep 17 00:00:00 2001 From: Sylvestre Gug Date: Thu, 10 Nov 2022 17:37:21 -0500 Subject: [PATCH 2/2] logging stream error --- lib/mssql.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/mssql.js b/lib/mssql.js index 84a1d66..e41d005 100644 --- a/lib/mssql.js +++ b/lib/mssql.js @@ -101,15 +101,18 @@ export async function queryStream(req, res, pool) { new Transform({ objectMode: true, transform(chunk, encoding, cb) { - if (Array.isArray(chunk)) { - const row = chunk.reduce((acc, r, idx) => { + let row = null; + try { + row = chunk.reduce((acc, r, idx) => { const key = columnNameMap.get(idx); return {...acc, [key]: r}; }, {}); - cb(null, row); - } else { - cb(null, undefined); + } catch (e) { + console.error("row has unexpected format"); + // TODO: Add error handling once server supports handling error for in flight streamed response + // cb(new Error(e)); } + cb(null, row); }, }) )