One more default sorting order ("grouping").
If --group-by is not set, output will be grouped by month by default (as long as --boundary is not set to 'level' or 'average', where grouping by newsgroup is default). Now we default to 'newsgroup' if just one newsgroup is requested by --newsgroups, but more than one month by --month. Both defaults can be overridden. But forced --group-by=month for --report type 'average' or 'sum' in front so defaults are not checked. Signed-off-by: Thomas Hochstein <thh@inter.net>
This commit is contained in:
parent
1af57a5390
commit
ea91003a99
|
@ -126,12 +126,17 @@ if ($OptBoundType and $OptBoundType ne 'default') {
|
||||||
}
|
}
|
||||||
|
|
||||||
### get sort order and build SQL 'ORDER BY' clause
|
### get sort order and build SQL 'ORDER BY' clause
|
||||||
|
# force to 'month' for $OptReportType 'average' or 'sum'
|
||||||
|
$OptGroupBy = 'month' if ($OptReportType and $OptReportType ne 'default');
|
||||||
# default to 'newsgroup' for $OptBoundType 'level' or 'average'
|
# default to 'newsgroup' for $OptBoundType 'level' or 'average'
|
||||||
$OptGroupBy = 'newsgroup' if (!$OptGroupBy and
|
$OptGroupBy = 'newsgroup' if (!$OptGroupBy and
|
||||||
$OptBoundType and $OptBoundType ne 'default');
|
$OptBoundType and $OptBoundType ne 'default');
|
||||||
# force to 'month' for $OptReportType 'average' or 'sum'
|
# default to 'newsgroup' if $OptGroupBy is not set and
|
||||||
$OptGroupBy = 'month' if ($OptReportType and $OptReportType ne 'default');
|
# just one newsgroup is requested, but more than one month
|
||||||
|
$OptGroupBy = 'newsgroup' if (!$OptGroupBy and
|
||||||
|
$OptMonth =~ /:/ and $OptNewsgroups !~ /[:*%]/);
|
||||||
# parse $OptGroupBy to $GroupBy, create ORDER BY clause $SQLOrderClause
|
# parse $OptGroupBy to $GroupBy, create ORDER BY clause $SQLOrderClause
|
||||||
|
# if $OptGroupBy is still not set, SQLSortOrder() will default to 'month'
|
||||||
my ($GroupBy,$SQLOrderClause) = SQLSortOrder($OptGroupBy, $OptOrderBy);
|
my ($GroupBy,$SQLOrderClause) = SQLSortOrder($OptGroupBy, $OptOrderBy);
|
||||||
# $GroupBy will contain 'month' or 'newsgroup' (parsed result of $OptGroupBy)
|
# $GroupBy will contain 'month' or 'newsgroup' (parsed result of $OptGroupBy)
|
||||||
# set it to 'month' or 'key' for OutputData()
|
# set it to 'month' or 'key' for OutputData()
|
||||||
|
|
Loading…
Reference in a new issue