http://bugzilla.spamassassin.org/show_bug.cgi?id=3771





------- Additional Comments From [EMAIL PROTECTED]  2004-09-13 08:45 -------
Subject: Re:  PostgreSQL Specific Bayes Storage Module 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


> I do not believe "plugin" in the sense of Mail::SpamAssassin::Plugin
> makes any sense.  Now if you mean interchangeable storage backend as
> plugin then that is exactly the design of BayesStore and the DBM.pm
> and SQL.pm modules.  If you want something totally different
> BayesStore has a public API that you write to, these lets you
> implement storage however you want.

I'm travelling, and very jetlagged ;), but this should be commented on...
it would be perfectly possible and quite valuable to use the
Mail::SpamAssassin::Plugin API to support this, and possible to do so
efficiently.

Valuable: because it means that if we had 10 server-specific SQL variant
support classes, an admin can trim down the list of modules loaded so that
code isn't all compiled and in RAM at all times.

(Plugin code is not loaded until the "load_plugin" line is read from the
config.   in addition, it can be loaded from a configuration directory,
not just the @INC path.)

here's how.   When the plugin is loaded, the .pm module contains a "fake"
constructor in the plugin namespace, and the rest of the code is the
implementation as a BayesStore subclass.   Then a user can specify
"bayes_store_module blah::blah::blah" as usual, and since the class
has already been loaded from the plugin, its "require" will pass.

- --j.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Exmh CVS

iD8DBQFBRcCrQTcbUG5Y7woRAnFbAKCRbZxPRaBDW7x9TZqHY+Xq182G/QCghASa
cqlIZ6fktm7UGL4zv9r32rA=
=Zu4f
-----END PGP SIGNATURE-----





------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Reply via email to