Build search query in two steps
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user