Mail::SpamAssassin::BaUsertContributed Perl DMail::SpamAssassin::BayesStore(3)NAMEMail::SpamAssassin::BayesStore - Bayesian Storage Module
DESCRIPTION
This is the public API for the Bayesian store methods. Any implementa‐
tion of the storage module must implement these methods.
METHODS
new public class (Mail::SpamAssassin::BayesStore) new (Mail::SpamAssas‐
sin::Bayes $bayes)
Description: This method creates a new instance of the Mail::Spa‐
mAssassin::BayesStore object. You must pass in an instance of the
Mail::SpamAssassin:Bayes object, which is stashed for use through‐
out the module.
DB_VERSION
public instance (Integer) DB_VERSION ()
Description: This method returns the currently supported database
version for the implementation.
read_db_configs
public instance () read_db_configs ()
Description: This method reads any needed config variables from the
configuration object and then calls the Mail::SpamAssassin::Bayes
read_db_configs method.
tie_db_readonly
public instance (Boolean) tie_db_readonly ()
Description: This method opens up the database in readonly mode.
tie_db_writable
public instance (Boolean) tie_db_writable ()
Description: This method opens up the database in writable mode.
Any callers of this methods should ensure that they call untie_db()
afterwards.
untie_db
public instance () untie_db ()
Description: This method unties the database.
calculate_expire_delta
public instance (%) calculate_expire_delta (Integer $newest_atime,
Integer $start,
Integer
$max_expire_mult)
Description: This method performs a calculation on the data to
determine the optimum atime for token expiration.
token_expiration
public instance (Integer, Integer,
Integer, Integer) token_expiration(\% $opts,
Integer $new‐
est_atime,
Integer
$newdelta)
Description: This method performs the database specific expiration
of tokens based on the passed in $newest_atime and $newdelta.
expire_old_tokens
public instance (Boolean) expire_old_tokens (\% hashref)
Description: This method expires old tokens from the database.
expire_old_tokens_trapped
public instance (Boolean) expire_old_tokens_trapped (\% $opts)
Description: This methods does the actual token expiration.
XXX More docs here about the methodology and what not
sync_due
public instance (Boolean) sync_due ()
Description: This methods determines if a sync is due.
expiry_due
public instance (Boolean) expiry_due ()
Description: This methods determines if an expire is due.
seen_get
public instance (Char) seen_get (String $msgid)
Description: This method retrieves the stored value, if any, for
$msgid. The return value is the stored string ('s' for spam and
'h' for ham) or undef if $msgid is not found.
seen_put
public instance (Boolean) seen_put (String $msgid, Char $flag)
Description: This method records $msgid as the type given by $flag.
$flag is one of two values 's' for spam and 'h' for ham.
seen_delete
public instance (Boolean) seen_delete (String $msgid)
Description: This method removes $msgid from storage.
get_storage_variables
public instance (@) get_storage_variables ()
Description: This method retrieves the various administrative vari‐
ables used by the Bayes storage implementation.
The values returned in the array are in the following order:
0: scan count base
1: number of spam
2: number of ham
3: number of tokens in db
4: last expire atime
5: oldest token in db atime
6: db version value
7: last journal sync
8: last atime delta
9: last expire reduction count
10: newest token in db atime
dump_db_toks
public instance () dump_db_toks (String $template, String $regex, @
@vars)
Description: This method loops over all tokens, computing the prob‐
ability for the token and then printing it out according to the
passed in template.
set_last_expire
public instance (Boolean) _set_last_expire (Integer $time)
Description: This method sets the last expire time.
get_running_expire_tok
public instance (Time) get_running_expire_tok ()
Description: This method determines if an expire is currently run‐
ning and returns the time the expire started.
set_running_expire_tok
public instance (Time) set_running_expire_tok ()
Description: This method sets the running expire time to the cur‐
rent time.
remove_running_expire_tok
public instance (Boolean) remove_running_expire_tok ()
Description: This method removes a currently set running expire
time.
tok_get
public instance (Integer, Integer, Time) tok_get (String $token)
Description: This method retrieves the specified token ($token)
from storage and returns it's spam count, ham acount and last
access time.
tok_get_all
public instance (\@) tok_get_all (@ @tokens)
Description: This method retrieves the specified tokens (@tokens)
from storage and returns an array ref of arrays spam count, ham
acount and last access time.
tok_count_change
public instance (Boolean) tok_count_change (Integer $spam_count,
Integer $ham_count,
String $token,
Time $atime)
Description: This method takes a $spam_count and $ham_count and
adds it to $token along with updating $tokens atime with $atime.
multi_tok_count_change
public instance (Boolean) multi_tok_count_change (Integer
$spam_count,
Integer $ham_count,
\% $tokens,
String $atime)
Description: This method takes a $spam_count and $ham_count and
adds it to all of the tokens in the $tokens hash ref along with
updating each tokens atime with $atime.
nspam_nham_get
public instance (Integer, Integer) nspam_nham_get ()
Description: This method retrieves the total number of spam and the
total number of spam currently under storage.
nspam_nham_change
public instance (Boolean) nspam_nham_change (Integer $num_spam,
Integer $num_ham)
Description: This method updates the number of spam and the number
of ham in the database.
tok_touch
public instance (Boolean) tok_touch (String $token,
Time $atime)
Description: This method updates the given tokens ($token) access
time.
tok_touch_all
public instance (Boolean) tok_touch_all (\@ $tokens,
Time $atime)
Description: This method does a mass update of the given list of
tokens $tokens, if the existing token atime is < $atime.
cleanup
public instance (Boolean) cleanup ()
Description: This method performs any cleanup necessary before mov‐
ing onto the next operation.
get_magic_re
public instance get_magic_re (String)
Description: This method returns a regexp which indicates a magic
token.
sync
public instance (Boolean) sync (\% $opts)
Description: This method performs a sync of the database.
perform_upgrade
public instance (Boolean) perform_upgrade (\% $opts)
Description: This method is a utility method that performs any nec‐
essary upgrades between versions. It should know how to handle
previous versions and what needs to happen to upgrade them.
A true return value indicates success.
clear_database
public instance (Boolean) clear_database ()
Description: This method deletes all records for a particular user.
Callers should be aware that any errors returned by this method
could causes the database to be inconsistent for the given user.
backup_database
public instance (Boolean) backup_database ()
Description: This method will dump the users database in a marchine
readable format.
restore_database
public instance (Boolean) restore_database (String $filename, Bool‐
ean $showdots)
Description: This method restores a database from the given file‐
name, $filename.
Callers should be aware that any errors returned by this method
could causes the database to be inconsistent for the given user.
db_readable
public instance (Boolean) db_readable ()
Description: This method returns whether or not the Bayes DB is
available in a readable state.
db_writable
public instance (Boolean) db_writable ()
Description: This method returns whether or not the Bayes DB is
available in a writable state.
perl v5.8.8 2008-06-10 Mail::SpamAssassin::BayesStore(3)