[CONJS-223] Metadata column name gets sporadic corrupted Created: 2022-10-04  Updated: 2022-10-05  Resolved: 2022-10-05

Status: Closed
Project: MariaDB Connector/node.js
Component/s: other
Affects Version/s: None
Fix Version/s: 3.0.2

Type: Bug Priority: Critical
Reporter: Diego Dupin Assignee: Diego Dupin
Resolution: Fixed Votes: 0
Labels: None


 Description   

see https://github.com/mariadb-corporation/mariadb-connector-nodejs/issues/215

ISSUE 215

I have a problem with column aliases (name()) from the result metadata. If I run the same query multiple times, sometimes the names returned from meta[x].name() is corrupted, and looks like something from a memory leak.
There seems to be a correlation between the problem and the size of the resultset, because if I set a limit in the query of fx 30 rows, there is no problem. In my case I only saw the problem when the result was more than about 300 rows.

Here is some of my code:
const r1 = await dbc.query(

Unknown macro: { rowsAsArray}

);
const cols = r1.meta.map(c => (

Unknown macro: { name}

));

I'm using connector @3.0.1 and MariaDB 10.6.7 on Ubuntu.
There seems to be no problems with version @2.5.6.

BR, Thomas



 Comments   
Comment by Diego Dupin [ 2022-10-05 ]

corrected with https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/6bdb463ca921cabca790dfe8f699bf77e1ca1ec6

When the metadata is parsed, buffer that comes from socket chunk is saved to avoid unnecessarily buffer parsing. The problem is that this buffer can be reused by the socket, the metadata returning then erroneous data

Generated at Thu Feb 08 03:23:40 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.