loopback-connector-mysql icon indicating copy to clipboard operation
loopback-connector-mysql copied to clipboard

compatibility issue with mysql aurora 8.0.* using regex

Open cloud20x opened this issue 2 years ago • 1 comments

Steps to reproduce

  • build a loopback datasource in a current mysql aurora (8.0.27 in my case)
  • run a regex search: https://foo.bar.com/api/foo?filter={%22where%22:%20{%22name%22:%20{%22regexp%22:%20%22/^foo/%22}}}

Current Behavior

results in an "500 Internal Server Error":

Request GET /foo?filter=%7B%22where%22:%20%7B%22name%22:%20%7B%22regexp%22:%20%22/%5Efoo/%22%7D%7D%7D failed with status code 500. Error: UNKNOWN_CODE_PLEASE_REPORT: Character set 'utf8mb4_general_ci' cannot be used in conjunction with 'binary' in call to regexp_like.
    at Query.Sequence._packetToError (/home/node/app/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)
    at Query.ErrorPacket (/home/node/app/node_modules/mysql/lib/protocol/sequences/Query.js:79:18)
    at Protocol._parsePacket (/home/node/app/node_modules/mysql/lib/protocol/Protocol.js:291:23)
    at Parser._parsePacket (/home/node/app/node_modules/mysql/lib/protocol/Parser.js:433:10)
    at Parser.write (/home/node/app/node_modules/mysql/lib/protocol/Parser.js:43:10)
    at Protocol.write (/home/node/app/node_modules/mysql/lib/protocol/Protocol.js:38:16)
    at Socket.<anonymous> (/home/node/app/node_modules/mysql/lib/Connection.js:88:28)
    at Socket.<anonymous> (/home/node/app/node_modules/mysql/lib/Connection.js:526:10)
    at Socket.emit (node:events:390:28)
    at addChunk (node:internal/streams/readable:315:12)

Expected Behavior

Should return all regex matches for the selected model in the api response

Additional information

it is probably this issue: https://stackoverflow.com/questions/64668364/character-set-binary-cannot-be-used-in-conjunction-with-utf8mb4-unicode-ci-i

node -e 'console.log(process.platform, process.arch, process.versions.node)' linux x64 16.13.1

npm ls --prod --depth 0 | grep loopback

+-- @loopback/[email protected] +-- @loopback/[email protected] +-- @loopback/[email protected] +-- @loopback/[email protected] +-- @loopback/[email protected] +-- @loopback/[email protected] +-- @loopback/[email protected] +-- @loopback/[email protected] +-- [email protected]

cloud20x avatar Jul 14 '22 11:07 cloud20x

Must be fixed with https://github.com/loopbackio/loopback-connector-mysql/pull/484

samarpanB avatar Jun 26 '23 10:06 samarpanB