[isf-wifidog] MySQL support - shouldn't we skip it?
fproulx at edito.qc.ca
Dim 22 Jan 22:02:50 EST 2006
And the ballot goes ... You got my vote !
On 22-Jan-2006, at 21:55 , Max Horváth wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> You got my vote!
> Am 23.01.2006 um 03:45 schrieb Benoit Grégoire:
>>> I agree with nukeing it for you 1.0 release. 6-8 weeks is not
>>> time to get something like that in. I also agree with Francois
>>> working toward PDO. I can start working on a mySql schema for a
>>> release that will work with PDO.
>>> How do you guys feel?
>> The initial schema isn't the problem, it could be trivially
>> ported. Nor is
>> the data abstraction layer (moving to PDO is still a good idea,
>> but becomes a
>> very low priority if we have only one database to support). The real
>> problems are:
>> -The schema isn't hand written, it's auto-generated to avoid
>> mistakes, and to
>> allow incremental upgrades without losing data. That means that a
>> must be able to generate the MySql schema from the postgres one
>> with no human
>> -Maintaining support for two or more different databases is a
>> nightmare for
>> updating schemas automatically and without losing data. Schema
>> SQL tend to be quite unportable.
>> -It's unrealistic to demand that every developper test every
>> change to every
>> commit touching sql with both databases (after all the rationale
>> for also
>> supporting MySql is to lower the barrier of entry, not raise it).
>> That means
>> that we need some pretty darn complete unit tests for SQL
>> queries. There are
>> currently 352 different SQL queries in the wifidog codebase. Some
>> of them
>> can be tested implicitely, but others have several forms that
>> would have to
>> be tested individually. Obviously it would be very good to have
>> such a
>> library, but it's at least several week of full time work.
>> -Mysql doesn't support triggers in a meaningfull way before
>> version 5.1, yet
>> it becomes critical that the schema defends against invalid data
>> if we expect
>> the SQL to destabilise because it has to work with both databases.
>> -Even with MySql 5.1, we still couldn't use stored procedures
>> (unless we
>> maintain two sets), as MySql doesn't support any of the 6
>> languages in
>> postgres, and postgres doesn't support the one that MySql supports.
>> -General SQL support in MySql is now much closer to PostgresSQL's,
>> but there
>> are still annoying little differences that may be hard to detect,
>> and even
>> harder to debug.
>> I've written other messages in the archives on the difficulties
>> of pulling
>> this off. Wifidog isn't your average Blog or other web toy as far
>> as SQL
>> complexity is concerned. Supporting MySql is possible, but at a
>> huge cost in
>> human ressources, and yet would remain somewhat of a second class
>> Nobody ever claimed that MySql support would actually bring any
>> except popularity and finding webhosting more easily. The latter
>> is kind of
>> a mot point for now as we'd require a super-recent MySql. The
>> former just
>> isn't worth the hundreds of hours of additional work plus the
>> bickering between developpers that one developer's change broke
>> something in
>> the other database.
>> The sad truth is that the big SQL vendor's best interests
>> (business wise) is
>> to keep the SQL "standards" only supported enough so that
>> expertise is
>> somewhat portable, but code never is. Untill that changes,
>> multiple databases for anything but projecs only requiring very
>> basic SQL is
>> hugely expensive.
>> I think that the likely result of supporting MySql is the following:
>> -Most user's/reviewer's first impression of wifidog would be with
>> -As MySql suport would have frequent issues, and that wifidog
>> would get the
>> reputation that's it's low quality software as a result.
>> The result of dropping it entirely is the following:
>> -We are now free to use database technologies that have been
>> available for 15
>> years to harden the schema and make some operations easier,
>> because we no
>> longuer have to target to the lowest common denominator, resulting
>> in a
>> better quality product.
>> So I personally hope MySql support never materialises. However it
>> the spirit
>> of open source, I would try help someone who is truly commited to
>> doing it.
>> Benoit Grégoire, http://benoitg.coeus.ca/
>> WiFiDog mailing list
>> WiFiDog at listes.ilesansfil.org
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (Darwin)
> -----END PGP SIGNATURE-----
> WiFiDog mailing list
> WiFiDog at listes.ilesansfil.org
More information about the WiFiDog