Skip to content

Commit

Permalink
Correct issue #232
Browse files Browse the repository at this point in the history
  • Loading branch information
Juliano Girardello committed Nov 27, 2020
1 parent f339a0f commit 97b5c67
Showing 1 changed file with 28 additions and 32 deletions.
60 changes: 28 additions & 32 deletions lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3183,14 +3183,7 @@ function decodeResponse(data, callback, cnx, lowercase_keys, cb) {

data.fcolumn = 0;
statement.connection.db.emit('row', data.frow, statement.nbrowsfetched, custom.asObject);

if (!custom.asStream) {
data.frows.push(data.frow);
}

if (custom.on) {
custom.on(data.frow, statement.nbrowsfetched);
}
data.frows.push(data.frow);
data.frow = custom.asObject ? {} : new Array(output.length);

try {
Expand Down Expand Up @@ -4336,33 +4329,36 @@ Connection.prototype.fetch = function(statement, transaction, count, callback) {
this._queueEvent(callback);
};

Connection.prototype.fetchAll = function(statement, transaction, callback) {

var self = this;
var data;
var loop = function(err, ret) {

if (err) {
callback(err);
return;
}

if (!data) {
data = ret.data;
} else {
for (var i = 0, length = ret.data.length; i < length; i++)
data.push(ret.data[i]);
}

if (ret.fetched)
callback(undefined, data);
else
self.fetch(statement, transaction, DEFAULT_FETCHSIZE, loop);
}
Connection.prototype.fetchAll = function (statement, transaction, callback) {
var self = this, data = [];
var loop = function (err, ret) {
if (err) {
return callback(err);
} else if (ret && ret.data && ret.data.length) {
for (var i = 0; i < ret.data.length; i++) {
var pos = data.push(ret.data[i]);
if (statement.custom && statement.custom.asStream && statement.custom.on) {
statement.custom.on(ret.data[i], pos - 1);
}
if (i === ret.data.length - 1) {
if (ret.fetched) {
return callback(undefined, data);
} else {
self.fetch(statement, transaction, DEFAULT_FETCHSIZE, loop);
}
}
}
} else if (ret.fetched) {
callback(undefined, data);
} else {
self.fetch(statement, transaction, DEFAULT_FETCHSIZE, loop);
}
}

this.fetch(statement, transaction, DEFAULT_FETCHSIZE, loop);
this.fetch(statement, transaction, DEFAULT_FETCHSIZE, loop);
};


Connection.prototype.openBlob = function(blob, transaction, callback) {
var msg = this._msg;
msg.pos = 0;
Expand Down

0 comments on commit 97b5c67

Please sign in to comment.