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:
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);
}