Build search query in two steps

This commit is contained in:
Daniel García Aubert
2017-09-14 15:48:54 +02:00
parent 0a894da0df
commit 02949003a9
+14 -16
View File
@@ -283,20 +283,10 @@ const filterCategoriesQueryTpl = ctx => `
const searchQueryTpl = ctx => `
WITH
search_unfiltered AS (
${filterCategoriesQueryTpl({
query: ctx.query,
column: ctx.column,
value: '0',
userQuery: escapedUserQuery
})}
${ctx.searchUnfiltered}
),
search_filtered AS (
${filterCategoriesQueryTpl({
query: ctx.query,
column: ctx.column,
value: value,
userQuery: escapedUserQuery
})}
${ctx.searchFiltered}
),
search_union AS (
SELECT * FROM search_unfiltered
@@ -318,10 +308,18 @@ Aggregation.prototype.search = function(psql, userQuery, callback) {
// TODO unfiltered will be wrong as filters are already applied at this point
var query = searchQueryTpl({
query: this.query,
column: this.column,
value: value,
userQuery: escapedUserQuery
searchUnfiltered: filterCategoriesQueryTpl({
query: this.query,
column: this.column,
value: '0',
userQuery: escapedUserQuery
}),
searchFiltered: filterCategoriesQueryTpl({
query: this.query,
column: this.column,
value: value,
userQuery: escapedUserQuery
})
});
debug(query);