[CONJS-131] Change CONJS-127 breaks our prodcution Created: 2020-04-01  Updated: 2020-04-06  Resolved: 2020-04-06

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

Type: Bug Priority: Major
Reporter: Albert Assignee: Diego Dupin
Resolution: Fixed Votes: 0
Labels: None
Environment:

MariaDB Connector/node.jsCONJS-127


Issue Links:
Blocks
blocks CONJS-127 Resultset with same identifier skip data Closed

 Description   

This feature (node.js CONJS-127) in release in mariadb nodes connector 3.2.0/1 is really unfriendly for us, please help!

We have been running a large production system for the last 4.5 years, prior to using mariadb node driver we used node mysql2, then we moved to mariadb node lib as soon as we could, this has been great for so many versions, but from 2.3.X it has broken our system.

We have thousands of different queries, we can't change all our sql to avoid duplicate field names on a join (e..g. BadgeId from table 1 and table 2). The cost of testing all these changes is prohibitive (so many apps, so many reports, etc).

This change (node.jsCONJS-127) prevents duplicate fields name in the results. MariaDb itself has no problem with this.

We don't mind if the duplicate is removed from the results so long as an error is not thrown.

Can this change not be put behind a configuration setting? Making it mandatory is really unfriendly and breaks compatibility.

Please help! We have been super impressed with the node mariadb driver to date, but we cannot progress with it with this unfriendly breaking change, we would have to change drivers which is something we really don't want to do. We are a large production system and there may be others like us, Changing all our sql statements is almost impossible for us in practical terms, Please help us!!!



 Comments   
Comment by Diego Dupin [ 2020-04-01 ]

You can disable this validation by setting option `checkDuplicate` to false in connection/pool configuration.

All verifications will then be skipped like previous versions of connector. Example:

const mariadb = require('mariadb');
const pool = mariadb.createPool({ 
      host: 'mydb.com', 
      user: 'myUser', 
      connectionLimit: 5, 
      checkDuplicate: false 
   });

Comment by Albert [ 2020-04-03 ]

Comment, many thanks that's great!!!!

Can that be added to documentation to help others?

Happy to do if we can do?

Comment by Diego Dupin [ 2020-04-03 ]

allright, i've commit a small addition: https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/9b4b56aa6d2b09dcb98caf9950ecce5457629e88
now, option `checkDuplicate` is clearly indicate when error occurs, and documentation has improved as well.

Comment by Diego Dupin [ 2020-04-06 ]

Closing as 2.4.0, since documentation and error message improvement will be on 2.4.0 version

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