get_bugs
get_bugs()
Parameters
The following parameters can either be a single scalar or a reference to an array. The parameters are
ANDed together, and the elements of arrayrefs are a parameter are ORed. Future versions of this may allow
for limited regular expressions, and/or more complex expressions.
package -- name of the binary package
src -- name of the source package
maint -- address of the maintainer
submitter -- address of the submitter
severity -- severity of the bug
status -- status of the bug
tag -- bug tags
owner -- owner of the bug
correspondent -- address of someone who sent mail to the log
affects -- bugs which affect this package
dist -- distribution (I don't know about this one yet)
bugs -- list of bugs to search within
function -- see description below
Specialoptions
The following options are special options used to modulate how the searches are performed.
archive -- whether to search archived bugs or normal bugs; defaults to false. As a special case, if
archive is 'both', but archived and unarchived bugs are returned.
usertags -- set of usertags and the bugs they are applied to
Subsidiaryroutines
All subsidiary routines get passed exactly the same set of options as get_bugs. If for some reason they
are unable to handle the options passed (for example, they don't have the right type of index for the
type of selection) they should die as early as possible. [Using Params::Validate and/or die when files
don't exist makes this fairly trivial.]
This function will then immediately move on to the next subroutine, giving it the same arguments.
function
This option allows you to provide an arbitrary function which will be given the information in the
index.db file. This will be super, super slow, so only do this if there's no other way to write the
search.
You'll be given a list (which you can turn into a hash) like the following:
(pkg => ['a','b'], # may be a scalar (most common)
bug => 1234,
status => 'pending',
submitter => 'boo@baz.com',
severity => 'serious',
tags => ['a','b','c'], # may be an empty arrayref
)
The function should return 1 if the bug should be included; 0 if the bug should not.
count_bugs
count_bugs(function => sub {...})
Uses a subroutine to classify bugs into categories and return the number of bugs which fall into those
categories
newest_bug
my $bug = newest_bug();
Returns the bug number of the newest bug, which is nextnumber-1.
bug_filter
bug_filter
Allows filtering bugs on commonly used criteria
get_bugs_by_idx
This routine uses the by-$index.idx indicies to try to speed up searches.
get_bugs_flatfile
This is the fallback search routine. It should be able to complete all searches. [Or at least, that's the
idea.]