NAME Mail::SpamAssassin::BayesStore - Bayesian Storage Module SYNOPSIS DESCRIPTION This is the public API for the Bayesian store methods. Any implementation of the storage module must implement these methods. METHODS new public class (Mail::SpamAssassin::BayesStore) new (Mail::SpamAssassin::Bayes $bayes) Description: This method creates a new instance of the Mail::SpamAssassin::BayesStore object. You must pass in an instance of the Mail::SpamAssassin:Bayes object, which is stashed for use throughout 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 $newest_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 variables 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 probability 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 running 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 current 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. 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 moving 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 necessary 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, Boolean $showdots) Description: This method restores a database from the given filename, $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.