Re: [Exim] Opinions sought: Exim and MYSQL

Top Page
Delete this message
Reply to this message
Author: Georg v. Zezschwitz
Date:  
To: Philip Hazel
CC: exim-users
Subject: Re: [Exim] Opinions sought: Exim and MYSQL
Hi!

> (2) By not including the noise words "select" "from" and "where" in the
> actual query, you keep the queries less verbose.


I don't know the limits of MySQL. However, in some cases people
would like to use JOINs or inner selects or whatever. SELECT
has many different forms - if SQL would be a language for
key lookups, it would never have been developed.

Moreover, anybody who works with databases "thinks" in SQL.
Why changing a "Standard Language" into something Exim
specific?

> (3) You don't allow anything other than "select" commands, so you can't
> mess with the database by accident.


Anybody who gives his MTA writing access to his database
by permission *and* is silly enough to write DELETE FROM
instead of SELECT FROM *and* has no backup should probably
rethink if he is the right person for his job.

> I've never used SQL until I started playing (just a bit) in order to do
> this work, though I'm familiar with the concepts. That's why I'm asking
> for other opinions on the list...


Afaik Exim will be the first MTA supporting SQL in its
main release without any patches. Exim is also afaik the
only OSS-MTA with full LDAP integration. (There are patches
for QMail, but they lack e.g. supporting domain lookups -
and they are patches - so they can break). Any ISP having
> 1e5 users is using concepts like LDAP or databases. I

don't know if there is any OSS MTA beside Exim that
supports these requirements. (Btw. a non OSS-MTA that
"scales" is InterMail from software.com - it's a nice
feature list they promote).

MySQL will only be the first database. I know about one big
german ISP with its Plc in London using a modified sendmail
working with Postgres, and have worked for ISPs using
Adabas and Oracle.

I guess most important is:

 - flexibility for queries - this would be granted by
   the lookup-scheme of Exim and by "free style" SQL
   statements
 - a standard for all databases (no "mysql"-Lookups,
   but SQL-lookups). Which database you use should be
   a compile option. If you look at the documentation
   for PHP you'll know what I mean - it started with
   one database - and now there are commands for
   8 or more different ones. Database commands get
   close to half of its documentation.
 - There should be a option "sql_connector" (or whatever)
   with 4 parameters:
      1) the host
      2) the database
      3) the username
      4) the password
   Even if some databases work only on the local host -
   this would ease documentation for different databases.


Regards,


Georg