Mail::SpamAssassin::BayesStore::PgSQL

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
Mail::SpamAssassin::BUserSContributedMail::SpamAssassin::BayesStore::PgSQL(3)



NAME
       Mail::SpamAssassin::BayesStore::PgSQL - PostgreSQL Specific Bayesian
       Storage Module Implementation

SYNOPSIS
DESCRIPTION
       This module implementes a PostgresSQL specific bayesian storage mod-
       ule.

       It subclasses Mail::SpamAssassin::BayesStore::SQL and overrides any
       methods which makes SQL calls involving the token column.  Since Post-
       greSQL uses BYTEA for the token column type you must make sure that
       the DBD driver does the proper quoting.	You can accomplish this by
       binding the token column to a specific type.

METHODS
       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.

       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.

       set_last_expire

       public instance (Boolean) set_last_expire (Integer $time)

       Description: This method sets the last expire time.

       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 indi-
       cates that and expire is currently running.

       tok_get

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

       Description: This method retrieves a specificed token ($token) from
       the database and returns it’s 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 acount and
       last access time.

       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.

       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 peroms any cleanup necessary before moving
       onto the next operation.

       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.

Private Methods
       _connect_db

       private instance (Boolean) _connect_db ()

       Description: This method connects to the SQL database.

       _put_token

       private instance (Boolean) _put_token (string $token,
					      integer $spam_count,
					      integer $ham_count,
				  string $atime)

       Description: This method performs the work of either inserting or
       updating a token in the database.

       _put_tokens

       private instance (Boolean) _put_tokens (\% $token,
					       integer $spam_count,
					       integer $ham_count,
			     string $atime)

       Description: This method performs the work of either inserting or
       updating tokens in the database.

       _token_select_string

       private instance (String) _token_select_string

       Description: This method returns the string to be used in SELECT
       statements to represent the token column.



perl v5.8.8			  200Mail::SpamAssassin::BayesStore::PgSQL(3)