export function buildGeneralLogQuery( condition: string, config: QueryConfig, filters: Filter[] ) { const {groupBy, fill = NULL_STRING} = config const select = buildSelect(config, '') const dimensions = buildGroupBy(groupBy) const fillClause = groupBy.time ? buildFill(fill) : '' if (!_.isEmpty(filters)) { condition = `${condition} AND ${filtersClause(filters)}` } return `${select}${condition}${dimensions}${fillClause}` }
export function buildLogQuery( timeRange: TimeRange, config: QueryConfig, filters: Filter[], searchTerm: string | null = null ): string { const {groupBy, fill = NULL_STRING, tags, areTagsAccepted} = config const {upper, lower} = quoteIfTimestamp(timeRange) const select = buildSelect(config, '') const dimensions = buildGroupBy(groupBy) const fillClause = groupBy.time ? buildFill(fill) : '' let condition = buildWhereClause({lower, upper, tags, areTagsAccepted}) if (!_.isEmpty(searchTerm)) { condition = `${condition} AND message =~ ${new RegExp(searchTerm)}` } if (!_.isEmpty(filters)) { condition = `${condition} AND ${filtersClause(filters)}` } return `${select}${condition}${dimensions}${fillClause}` }