www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit e59bb3078f62fb26cc5cbafd4e47857f467fa3c4
parent 03023e626532a2a0c88e2f62a9bae81f232ffd33
Author: Dan Stillman <dstillman@zotero.org>
Date:   Wed, 10 Jun 2009 08:22:00 +0000

Speed up large SELECT operations a bit


Diffstat:
Mchrome/content/zotero/xpcom/db.js | 16+++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/chrome/content/zotero/xpcom/db.js b/chrome/content/zotero/xpcom/db.js @@ -111,12 +111,18 @@ Zotero.DBConnection.prototype.query = function (sql,params) { var statement = this.getStatement(sql, params, true); - var dataset = new Array(); + // Get column names + var columns = []; + var numCols = statement.columnCount; + for (var i=0; i<numCols; i++) { + columns.push(statement.getColumnName(i)); + } + + var dataset = []; while (statement.executeStep()) { - var row = new Array(); - - for(var i=0, len=statement.columnCount; i<len; i++) { - row[statement.getColumnName(i)] = this._getTypedValue(statement, i); + var row = []; + for(var i=0; i<numCols; i++) { + row[columns[i]] = this._getTypedValue(statement, i); } dataset.push(row); }