node-mysql2 icon indicating copy to clipboard operation
node-mysql2 copied to clipboard

fix: fix wrong length number write to packet

Open remones opened this issue 1 year ago • 3 comments

remones avatar Nov 01 '24 09:11 remones

Codecov Report

Attention: Patch coverage is 0% with 2 lines in your changes missing coverage. Please review.

Project coverage is 88.97%. Comparing base (e70160b) to head (af69213).

Files with missing lines Patch % Lines
lib/packets/packet.js 0.00% 2 Missing :warning:
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #3177   +/-   ##
=======================================
  Coverage   88.97%   88.97%           
=======================================
  Files          86       86           
  Lines       13527    13526    -1     
  Branches     1564     1564           
=======================================
  Hits        12035    12035           
+ Misses       1492     1491    -1     
Flag Coverage Δ
compression-0 88.97% <0.00%> (+<0.01%) :arrow_up:
compression-1 88.97% <0.00%> (+<0.01%) :arrow_up:
static-parser-0 86.55% <0.00%> (+<0.01%) :arrow_up:
static-parser-1 87.33% <0.00%> (+<0.01%) :arrow_up:
tls-0 88.39% <0.00%> (+<0.01%) :arrow_up:
tls-1 88.74% <0.00%> (+<0.01%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Nov 01 '24 14:11 codecov[bot]

Hi, @remones 🙋🏻‍♂️

Could you provide some context? As a fix, do you think a test can be added to cover the issue that is being fixed?

wellwelwel avatar Nov 05 '24 17:11 wellwelwel

Hi, @remones 🙋🏻‍♂️

Could you provide some context? As a fix, do you think a test can be added to cover the issue that is being fixed?

@wellwelwel I'm so sorry, I will provide the test code later.

Please let me explain the issue first: I have a node.js service uses mysql2 to access a MySQL proxy service. When attempting to write a 32MB TEXT field, it raises some errors. we found the reason is that the field length in the MySQL protocol packet read by the proxy far exceeds 32MB. I believe the issue is caused by JavaScript bitwise operations not supporting numbers larger than 32 bits.

remones avatar Nov 07 '24 10:11 remones