From 1c09b39afc12b3eff7fb953d4bfbd14bd2699008 Mon Sep 17 00:00:00 2001 From: Chris Dickinson Date: Thu, 3 Mar 2016 00:34:38 -0800 Subject: [PATCH] orderBy should not blow away select clause joins --- lib/queryset.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/queryset.js b/lib/queryset.js index 3d1a316..1caa33d 100644 --- a/lib/queryset.js +++ b/lib/queryset.js @@ -589,6 +589,15 @@ function buildSelect (dao, db, where, bounds, order, values, onlyFields, rawFiel `) } + for (var join of getJoins(dao, where, seenJoin)) { + addJoin(join) + if (!seenSelect.has(join.to)) { + selectClause.push( + join.to.contributeColumns(pfx.get(join.to), filterOnlyFields) + ) + } + seenSelect.add(join.to) + } order = (order || []).map(col => { var order = 'ASC' if (col[0] === '-') { @@ -601,15 +610,6 @@ function buildSelect (dao, db, where, bounds, order, values, onlyFields, rawFiel } return `"${info.dao.tableName}"."${info.col.column}" ${order}` }) - for (var join of getJoins(dao, where, seenJoin)) { - addJoin(join) - if (!seenSelect.has(join.to)) { - selectClause.push( - join.to.contributeColumns(pfx.get(join.to), filterOnlyFields) - ) - } - seenSelect.add(join.to) - } var offset = bounds[0] var limit = bounds[1] - bounds[0] @@ -691,13 +691,13 @@ function buildInsert (dao, db, data, values) { } const rows = [] - for (var i = 0; i < preppedData.length; ++i) { + for (var x = 0; x < preppedData.length; ++x) { const row = [] for (var col of insertSchema) { - if (col in preppedData[i]) { + if (col in preppedData[x]) { row.push( - col in preppedData[i] - ? '$' + values.push(preppedData[i][col]) + col in preppedData[x] + ? '$' + values.push(preppedData[x][col]) : 'DEFAULT' ) }