From 80b0ceae1cfe37e616f02c2b3f64e55c19a93642 Mon Sep 17 00:00:00 2001 From: github1337 Date: Wed, 25 Nov 2015 17:11:38 +0100 Subject: [PATCH 1/4] - Manual connection resume option - Updated package.json --- lib/adapter.js | 27 ++++++++++++++++++++------- package.json | 2 +- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/lib/adapter.js b/lib/adapter.js index 8690191a..472daf6c 100644 --- a/lib/adapter.js +++ b/lib/adapter.js @@ -931,15 +931,24 @@ module.exports = (function() { // the field packets for the rows to follow dbStream.on('fields', function(fields) {}); + var manualResume = stream.resumeConnectionManually === true; + // Pausing the connnection is useful if your processing involves I/O - dbStream.on('result', function(row) { - connection.pause(); - stream.write(row, function() { - setImmediate(function() { - connection.resume(); + dbStream.on('result', !manualResume + ? function dbStreamResultAutoResume(row) { + connection.pause(); + stream.write(row, function () { + setImmediate(function () { + connection.resume(); + }); + }) + } + : function dbStreamResultManualResume(row) { + connection.pause(); + stream.write(row, function () { }); - }); - }); + } + ); var dbStreamFirstEnd = false; // all rows have been received @@ -957,6 +966,10 @@ module.exports = (function() { } }) + stream.resumeConnection = function(){ + connection.resume(); + } + //stream.on('unpipe', function() { console.log('unpipe emitted from readStream') }) //stream.on('close', function() { console.log('close emitted from readStream') }) //stream.on('destroy', function() { console.log('destroy emitted from readStream') }) diff --git a/package.json b/package.json index 632df688..8e0bfdd5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sails-mysql", - "version": "0.11.1c", + "version": "0.11.1d", "description": "MySQL adapter for Sails.js", "main": "lib/adapter.js", "scripts": { From 1a9cbea8f98f14665fa1d4c3545c492f8e18b3f0 Mon Sep 17 00:00:00 2001 From: Andrian Melnikov Date: Mon, 24 Apr 2017 14:45:55 +0200 Subject: [PATCH 2/4] Added sql query streaming --- lib/adapter.js | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/lib/adapter.js b/lib/adapter.js index 472daf6c..39d9567d 100644 --- a/lib/adapter.js +++ b/lib/adapter.js @@ -907,20 +907,31 @@ module.exports = (function() { var schema = connectionObject.schema; var _query; - var sequel = new Sequel(schema, sqlOptions); + var query; + var data; + if (stream.customQuery) { + query = stream.customQuery.query; + data = stream.customQuery.params; + } else { + var sequel = new Sequel(schema, sqlOptions); - // Build a query for the specific query strategy - try { - _query = sequel.find(collectionName, options); - } catch(e) { - return cb(e); + // Build a query for the specific query strategy + try { + _query = sequel.find(collectionName, options); + } catch(e) { + return cb(e); + } + query = _query.query[0]; } - var query = _query.query[0]; + // Run query log('MySQL.stream: ', query); - var dbStream = connection.query(query); + var dbStream = (function() { + if (data) return connection.query(query, data); + else return connection.query(query); + })(); // Handle error, an 'end' event will be emitted after this as well dbStream.on('error', function(err) { From 333d8659240fc48e347037ceed661d1d6e7ace88 Mon Sep 17 00:00:00 2001 From: Andrian Melnikov Date: Mon, 24 Apr 2017 15:04:12 +0200 Subject: [PATCH 3/4] Increased package version and removed console.log --- lib/adapter.js | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/adapter.js b/lib/adapter.js index 39d9567d..abe1a2f0 100644 --- a/lib/adapter.js +++ b/lib/adapter.js @@ -970,7 +970,7 @@ module.exports = (function() { }); stream.on('end', function() { - console.log('end emitted from stream') + //console.log('end emitted from stream') if(!dbStreamFirstEnd) { connection.destroy(); dbStream.end(); diff --git a/package.json b/package.json index 8e0bfdd5..e4851170 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sails-mysql", - "version": "0.11.1d", + "version": "0.11.1e", "description": "MySQL adapter for Sails.js", "main": "lib/adapter.js", "scripts": { From 3cffacfd6c29762d374a0f1aeff4495245ed63d9 Mon Sep 17 00:00:00 2001 From: github1337 Date: Tue, 25 Apr 2017 15:16:05 +0200 Subject: [PATCH 4/4] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e4851170..e6b90250 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "git://github.com/balderdashy/sails-mysql.git" + "url": "git://github.com/github1337/sails-mysql.git" }, "keywords": [ "mysql",