Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Mail::SpamAssassin::BaUsertContributed PMail::SpamAssassin::BayesStore::BDB(3)

NAME
       Mail::SpamAssassin::BayesStore::BDB - BerkeleyDB	Bayesian Storage
       Module Implementation

DESCRIPTION
       This module implements a	BDB based bayesian storage module.

METHODS
   new
       public class (Mail::SpamAssassin::BayesStore::SQL) new
       (Mail::Spamassassin::Plugin::Bayes $bayes)

       Description: This methods creates a new instance	of the
       Mail::SpamAssassin::BayesStore::BDB object.  It expects to be passed an
       instance	of the Mail::SpamAssassin:Bayes	object which is	passed into
       the Mail::SpamAssassin::BayesStore parent object.

   tie_db_readonly
       public instance (Boolean) tie_db_readonly ();

       Description: This method	ensures	that the database connection is
       properly	setup and working.

   tie_db_writable
       public instance (Boolean) tie_db_writable ()

       Description: This method	ensures	that the database connection is
       properly	setup and working. If necessary	it will	initialize the
       database	so that	they can begin using the database immediately.

   _open_db
       private instance	(Boolean) _open_db (Boolean $writable)

       Description: This method	ensures	that the database connection is
       properly	setup and working.  It will initialize a users bayes variables
       so that they can	begin using the	database immediately.

   untie_db
       public instance () untie_db ()

       Description: Closes any open db handles.	 You can safely	call this at
       any time.

   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 $newdelta,
							    @ @vars)

       Description: This method	performs the database specific expiration of
       tokens based on the passed in $newdelta and @vars.

   sync_due
       public instance (Boolean) sync_due ()

       Description: This method	determines if a	database sync is currently
       required.

       Unused for BDB implementation.

   seen_get
       public instance (String)	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 (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 the	database.

   get_storage_variables
       public instance (@) get_storage_variables ()

       Description: This method	retrieves the various administrative variables
       used by the Bayes process and database.

       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_tokens
       public instance () dump_tokens (String $template, String	$regex,	Array
       @vars)

       Description: This method	loops over all tokens, computing the
       probability for the token and then printing it out according to the
       passed in token.

   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 (String $time) get_running_expire_tok ()

       Description: This method	determines if an expire	is currently running
       and returns the last time set.

       There can be multiple times, so we just pull the	greatest (most recent)
       value.

   set_running_expire_tok
       public instance (String $time) set_running_expire_tok ()

       Description: This method	sets the time that an expire starts running.

   remove_running_expire_tok
       public instance (Boolean) remove_running_expire_tok ()

       Description: This method	removes	the row	in the database	that indicates
       that and	expire is currently running.

   tok_get
       public instance (Integer, Integer, Integer) tok_get (String $token)

       Description: This method	retrieves a specified token ($token) from the
       database	and returns its	spam_count, ham_count and last access time.

   tok_get_all
       public instance (\@) tok_get (@ $tokens)

       Description: This method	retrieves the specified	tokens ($tokens) from
       storage and returns an array ref	of arrays spam count, ham count	and
       last access time.

   tok_count_change
       public instance (Boolean) tok_count_change (
	 Integer $dspam, Integer $dham,	String $token, String $newatime)

       Description: This method	takes a	$spam_count and	$ham_count and adds it
       to $tok along with updating $toks atime with $atime.

   multi_tok_count_change
       public instance (Boolean) multi_tok_count_change	(
	 Integer $dspam, Integer $dham,	\% $tokens, String $newatime)

       Description: This method	takes a	$dspam and $dham 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 ($spam_count, $ham_count) nspam_nham_get	()

       Description: This method	retrieves the total number of spam and the
       total number of ham learned.

   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,
					    String $atime)

       Description: This method	updates	the given tokens ($token) atime.

       The assumption is that the token	already	exists in the database.

       We will never update to an older	atime

   tok_touch_all
       public instance (Boolean) tok_touch (\@ $tokens
					    String $atime)

       Description: This method	does a mass update of the given	list of	tokens
       $tokens,	if the existing	token atime is < $atime.

       The assumption is that the tokens already exist in the database.

       We should never be touching more	than N_SIGNIFICANT_TOKENS, so we can
       make some assumptions about how to handle the data (ie no need to batch
       like we do in tok_get_all)

   cleanup
       public instance (Boolean) cleanup ()

       Description: This method	performs any cleanup necessary before moving
       onto the	next operation.

   get_magic_re
       public instance (String)	get_magic_re ()

       Description: This method	returns	a regexp which indicates a magic
       token.

       Unused in BDB implementation.

   sync
       public instance (Boolean) sync (\% $opts)

       Description: This method	performs a sync	of the database

   perform_upgrade
       public instance (Boolean) perform_upgrade (\% $opts);

       Description: Performs an	upgrade	of the database	from one version to
       another,	not currently used in this implementation.

   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 machine
       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	a boolean value	indicating if the
       database	is in a	readable state.

   db_writable
       public instance (Boolean) db_writable()

       Description: This method	returns	a boolean value	indicating if the
       database	is in a	writable state.

   _extract_atime
       private instance	() _extract_atime (String $token,
					   String $value,
					   String $index)

       Description: This method	ensures	that the database connection is
       properly	setup and working. If appropriate it will initialize a users
       bayes variables so that they can	begin using the	database immediately.

   _put_token
       FIXME: This is rarely a good interface, because of the churn that will
       often happen in the "magic" tokens.  Open-code this stuff in the
       presence	of loops.

perl v5.32.1			  2021-0Mail::SpamAssassin::BayesStore::BDB(3)

NAME | DESCRIPTION | METHODS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Mail::SpamAssassin::BayesStore::BDB&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help