"use strict"; exports.queryAll = function(conn, sql, args, cb) { var allRows = []; conn.execute(sql, args, { resultSet: true }, function(err, result) { if (err) return cb(err); function fetch() { var max = 50; result.resultSet.getRows(max, function(err, rows) { if (err) return cb(err); allRows.push(rows); if (rows.length === max) { fetch(); } else { result.resultSet.close(function(err) { if (err) return cb(err); cb(null, Array.prototype.concat.apply([], allRows)); }); } }); } fetch(); }); }