[isf-wifidog] MySQL support - shouldn't we skip it?

François Proulx 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  
>>> enough
>>> time to get something like that in.  I also agree with Francois  
>>> about
>>> working toward PDO.  I can start working on a mySql schema for a  
>>> future
>>> 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  
>> script
>> must be able to generate the MySql schema from the postgres one  
>> with no human
>> intervention.
>> -Maintaining support for two or more different databases is a  
>> nightmare for
>> updating schemas automatically and without losing data.  Schema  
>> manipulation
>> 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  
>> citizen.
>>
>> Nobody ever claimed that MySql support would actually bring any  
>> benefits
>> 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  
>> constant
>> 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,  
>> supporting
>> 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  
>> MySql
>> -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
>> http://listes.ilesansfil.org/cgi-bin/mailman/listinfo/wifidog
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (Darwin)
>
> iD8DBQFD1EWN+BKgC+eQ3ooRAnnIAJ43K6+R0iztNNVEDWRpTfh4Mkz+WACcC03P
> oRU6g5Ei3sLrBTXQ0BKcUnw=
> =OOUP
> -----END PGP SIGNATURE-----
> _______________________________________________
> WiFiDog mailing list
> WiFiDog at listes.ilesansfil.org
> http://listes.ilesansfil.org/cgi-bin/mailman/listinfo/wifidog



More information about the WiFiDog mailing list