Skip to content

Packet.readLengthCodedNumberExt exception with mysql 8 #2052

Closed
@wsporto

Description

@wsporto

I am getting the exception Packet.readLengthCodedNumberExt when I try to execute the prepare statement with a mysql 8 database. This works fine when I run with mysql 5.

Trace:
at Packet.readLengthCodedNumberExt (C:\dev\mysql2-error\node_modules\mysql2\lib\packets\packet.js:231:13)
    at Packet.readLengthCodedNumber (C:\dev\mysql2-error\node_modules\mysql2\lib\packets\packet.js:193:17)
    at new ColumnDefinition (C:\dev\mysql2-error\node_modules\mysql2\lib\packets\column_definition.js:28:33)
    at Prepare.readParameter (C:\dev\mysql2-error\node_modules\mysql2\lib\commands\prepare.js:80:17)
    at Prepare.execute (C:\dev\mysql2-error\node_modules\mysql2\lib\commands\command.js:45:22)
    at Connection.handlePacket (C:\dev\mysql2-error\node_modules\mysql2\lib\connection.js:490:32)
    at PacketParser.onPacket (C:\dev\mysql2-error\node_modules\mysql2\lib\connection.js:95:12)
    at PacketParser.executeStart (C:\dev\mysql2-error\node_modules\mysql2\lib\packet_parser.js:75:16)
    at Socket.<anonymous> (C:\dev\mysql2-error\node_modules\mysql2\lib\connection.js:102:25)
    at Socket.emit (node:events:527:28)

Code to reproduce:

const mysql = require('mysql2/promise');

/* 
docker run --name mysql-dev -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=mydb 
-p 3306:3306 mysql:8.0.33 --default-authentication-plugin=mysql_native_password
*/
async function run() {
    const conn = await mysql.createConnection({
        host: 'localhost',
        user: 'root',
        password: 'password',
        database: 'mydb'
    });
    await conn.query(`
        CREATE TABLE IF NOT EXISTS mytable1 (
            id int NOT NULL AUTO_INCREMENT,
            value int,
            PRIMARY KEY (id)
        ) ENGINE=InnoDB
    `);
    await conn.prepare('select value from mytable1 order by ?');
}

run().then(() => {
    console.log("ok");
});

Using mysql2 v3.3.3

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions