summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2016-06-17 00:31:09 -0500
committerJonathan Prykop <jonathan@freeside.biz>2016-06-17 00:51:43 -0500
commit6acb603bb4422ca282b29e962291eb3d0d86d7bd (patch)
treec74584eba40f8ce593fc8894b0118c77bde2ef2f /FS
parent56ff5b54ef32ac5c3c03c6762e48342033ca46d8 (diff)
RT#39627: System log daily context also includes Cron::bill and Cron::upload results [v3, search only]
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/log.pm13
1 files changed, 10 insertions, 3 deletions
diff --git a/FS/FS/log.pm b/FS/FS/log.pm
index 753a31f95..547beb7d0 100644
--- a/FS/FS/log.pm
+++ b/FS/FS/log.pm
@@ -312,9 +312,16 @@ sub search {
if ( $params->{'context'} ) {
my $quoted = dbh->quote($params->{'context'});
- push @where,
- "EXISTS(SELECT 1 FROM log_context WHERE log.lognum = log_context.lognum ".
- "AND log_context.context = $quoted)";
+ if ( $params->{'context_height'} =~ /^\d+$/ ) {
+ my $subq = 'SELECT context FROM log_context WHERE log.lognum = log_context.lognum'.
+ ' ORDER BY logcontextnum DESC LIMIT '.$params->{'context_height'};
+ push @where,
+ "EXISTS(SELECT 1 FROM ($subq) AS log_context_x WHERE log_context_x.context = $quoted)";
+ } else {
+ push @where,
+ "EXISTS(SELECT 1 FROM log_context WHERE log.lognum = log_context.lognum ".
+ "AND log_context.context = $quoted)";
+ }
}
# agent virtualization