Mikhail Ramendik wrote:
(BTW, how did you like my dbmysql patch? In my eyes it's one of those
easy optimizations, but I ceratinly won't be sure of it until I see the
result of an independent review :)

I have only one major problem with your patch: you try to outsmart the upstream api. If a seek for the next row is so much more expensive than a simple fetch_next_row, that's mysql's problem and should be fixed upstream. Also, I hate introducing new statics in the code. They are an obfuscation, and will make it that much harder if we want to go for a threaded process model.

Now the later steps are the real area for discussion.

Your first idea is, to replace by executable file - dbmail-util,
dbmail-smtp, dbmail-user first. The problem is the need to stick to
current storage. We can't even expand it by additional tables that are
written but not used, until we replace dbmail-lmtp as well.

Fixing the insertion chain in the current codebase to use new tables and fields is no real problem at all. That code is well understood and relatively well separated.

So, here's another idea - replacing by functionality.
We write the "put into database" part first. And we make all current
code use that instead (more on that later, see [*]). Now we can expand
the storage as soon as it's backwards compatible, so the
reading/searching parts can read the data.

Agreed.

[*] On the matter of interoperation. There is a standard C/Python
binding interface. But I'm not sure it will always be the best solution,
at least for mail receiving - it might lead to process spawning like
dbmail-smtp. This makes things slower, while we want them to be faster
with every step.

Building a scripting languange binding was one of the reasons I supported the move to shared libraries. Those are very much unfinished, and should be expanded with loadable modules, but a python-binding would be a nice bridge.


--
  ________________________________________________________________
  Paul Stevens                                  mailto:[EMAIL PROTECTED]
  NET FACILITIES GROUP                     PGP: finger [EMAIL PROTECTED]
  The Netherlands________________________________http://www.nfg.nl

Reply via email to