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.
