πŸš€ Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more β†’
Socket
Book a DemoInstallSign in
Socket

mysql2

Package Overview
Dependencies
Maintainers
1
Versions
206
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mysql2 - npm Package Compare versions

Comparing version

to
0.11.5

benchmarks/ruby-mysql2/bench.rb

2

Changelog.md

@@ -8,2 +8,4 @@ Backlog:

0.11.5
- fix for non-utf strings serialisation (binary protocol only) cf9594aaab5b3d51a112bd1f43b39a55f508eef7

@@ -10,0 +12,0 @@ 0.11.4

@@ -103,2 +103,3 @@ var Command = require('./command');

this.rowParser = compileParser(fields);
//this.rowParser = require('../bench-text-parser');
connection.textProtocolParsers[parserKey] = this.rowParser;

@@ -105,0 +106,0 @@ }

@@ -16,2 +16,4 @@ var Types = require('./constants/types');

var src = result.join('\n');
console.trace();
console.log(src);
return vm.runInThisContext(src);

@@ -18,0 +20,0 @@ }

7

lib/packets/packet.js

@@ -380,5 +380,6 @@ //var BigNumber = require("bignumber.js");

Packet.prototype.writeLengthCodedString = function(s) {
this.writeLengthCodedNumber(s.length);
this.buffer.write(s, this.offset);
this.offset += s.length;
var bytes = Buffer.byteLength(s, 'utf8');
this.writeLengthCodedNumber(bytes);
this.buffer.write(s, this.offset, bytes, 'utf8');
this.offset += bytes;
};

@@ -385,0 +386,0 @@

{
"name": "mysql2",
"version": "0.11.4",
"version": "0.11.5",
"description": "fast mysql driver. Implements core protocol, prepared statements, ssl and compression in native JS",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -8,2 +8,14 @@ var common = require('../../common');

var fields = undefined;
connection.query([
'CREATE TEMPORARY TABLE `announcements` (',
'`id` int(11) NOT NULL AUTO_INCREMENT,',
'`title` varchar(255) DEFAULT NULL,',
'`text` varchar(255) DEFAULT NULL,',
'PRIMARY KEY (`id`)',
') ENGINE=InnoDB DEFAULT CHARSET=utf8'
].join('\n'), function(err) {
if (err) throw err;
});
connection.execute('SELECT 1+? as test', [123], function(err, _rows, _fields) {

@@ -22,2 +34,17 @@ if (err) throw err;

connection.execute('INSERT INTO announcements(title, text) VALUES(?, ?)', ['Π•ΡΡ‚ΡŒ мСсто, Π³Π΄Π΅ заканчиваСтся Ρ‚Ρ€ΠΎΡ‚ΡƒΠ°Ρ€', 'Расти Π±ΠΎΡ€ΠΎΠ΄Π°, расти'], function(err) {
if (err) throw err;
});
connection.execute('INSERT INTO announcements(title, text) VALUES(?, ?)', ['Π“Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Российской Π€Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΎ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒΡΡ ΠΌΠΈΡ€Π½ΠΎ Π±Π΅Π· оруТия', 'ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ собрания, ΠΌΠΈΡ‚ΠΈΠ½Π³ΠΈ ΠΈ дСмонстрации, ΡˆΠ΅ΡΡ‚Π²ΠΈΡ ΠΈ ΠΏΠΈΠΊΠ΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅'], function(err) {
if (err) throw err;
});
connection.execute('SELECT * FROM announcements', function (err, rows) {
if (err) throw err;
assert.equal(rows.length, 2);
assert.equal(rows[0].title, 'Π•ΡΡ‚ΡŒ мСсто, Π³Π΄Π΅ заканчиваСтся Ρ‚Ρ€ΠΎΡ‚ΡƒΠ°Ρ€');
assert.equal(rows[0].text, 'Расти Π±ΠΎΡ€ΠΎΠ΄Π°, расти');
assert.equal(rows[1].title, 'Π“Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Российской Π€Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΎ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒΡΡ ΠΌΠΈΡ€Π½ΠΎ Π±Π΅Π· оруТия');
assert.equal(rows[1].text, 'ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ собрания, ΠΌΠΈΡ‚ΠΈΠ½Π³ΠΈ ΠΈ дСмонстрации, ΡˆΠ΅ΡΡ‚Π²ΠΈΡ ΠΈ ΠΏΠΈΠΊΠ΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅');
});
connection.end();

@@ -24,0 +51,0 @@

@@ -5,28 +5,22 @@ var common = require('../../common');

var rows = undefined;
var fields = undefined;
connection.query([
'CREATE TEMPORARY TABLE `test_table` (',
'`id` int(11) unsigned NOT NULL AUTO_INCREMENT,',
'`num` int(15),',
'`l` long,',
'PRIMARY KEY (`id`)',
't TINYINT(1)',
') ENGINE=InnoDB DEFAULT CHARSET=utf8'
].join('\n'));
connection.query('insert into test_table(num,l) values(?, 3)', [1]);
connection.query('insert into test_table(num,l) values(3-?, -10)', [5]);
connection.query('insert into test_table(num,l) values(4+?, 4000000-?)', [-5, 8000000]);
connection.query('insert into test_table(t) values(?)', [0]);
connection.query('insert into test_table(t) values(?)', [1]);
connection.query('insert into test_table(t) values(?)', [-1]);
connection.query('insert into test_table(t) values(?)', [123]);
connection.execute('SELECT * from test_table', [], function(err, _rows, _fields) {
connection.execute('SELECT * from test_table', function(err, rows, fields) {
if (err) throw err;
rows = _rows;
fields = _fields;
console.log(rows);
rows.forEach(function(r) {
console.log(!!r.t ? "true" : "false");
});
});
connection.end();
process.on('exit', function() {
assert.deepEqual(rows, [{"id":1,"num":1,"l": 3},{"id":2,"num":-2,"l":-10},{"id":3,"num":-1,"l":-4000000}]);
});