[TYPO3-project-4-3] Deprecating SQL parser in TYPO3 4.3

Xavier Perseguers typo3 at perseguers.ch
Mon Nov 2 23:59:53 CET 2009


Hi,

FYI, RFC #12440 has been sent to Core list.

Regards


Xavier Perseguers wrote:
> Hi,
> 
> I hope to get some (positive) feedback here as I did not mention the 
> word "DBAL" in title (ouch I did it anyway with my first few words :D).
> 
> OK. Once again, even with DBAL "outside" of Core, there is a real 
> problem to get patch committed to trunk when it comes to issues that 
> occur "only" when using DBAL.
> 
> Here is some extract from a discussion I had today with Karsten about 
> what to do with SQL parser included in Core. I'm not speaking about the 
> parser used to allow modifications of the database structure (CREATE 
> TABLE, ALTER TABLE, ...) but the SELECT/INSERT/UPDATE parser which is 
> used when installing DBAL but not when using MySQL only.
> 
>  > I would probably remove the code from core. [...] that should mean 
> less probability for errors
>  >
>  > When Kasper put that code in place back in 2004 we all thought/hoped 
> that people would go crazy
>  > writing DB handlers, but that has not happened.
>  >
>  > Time to move the code into the right place, I'd say. And that is DBAL.
> 
> There is currently 3 patches waiting in Core that are related to DBAL:
> 
> - RFC #10411: sqlparser is not able to parse more than 1 join
> - RFC #12231: New caching framework (4.3-dev) does not work with DBAL 
> (oracle)
> - RFC #5120 / #8915: SQL parse error in "Who is online" BE list
> 
> Needless to say that you'll easily understand that it's a pain not being 
> able to reasonably quickly get feedback when I (or someone else) take 
> time to fix gremlins (I think of RFC 5120 for instance).
> 
> I don't want to blame anybody, that's really not the point here. The 
> point is to propose what I think is a viable solution (Karsten approved):
> 
> - Don't fix SQL parser in Core, copy relevant part into DBAL and fix 
> bugs there as it is DBAL-related only
> - Keep class in Core but log method calls that are known not to be used 
> in Core itself but only in DBAL, just to be sure they are not needed. If 
> no log arrises (which should be the case), then deprecate it/remove it. 
> We might deprecate it right now as well.
> 
> I don't really need +1 for this to happen, it's easy to fix bugs in DBAL 
> and leave Core with unmaintained methods. I prefer not doing this "in 
> secret".
> 
> Now, I still need some feedback for bugs we (the DBAL team and its 
> surrounded people) found and fix when it comes to DBAL use. I think of 
> RFC #5120 / #8915. This is easily tested with NO DBAL install *at all*! 
> Simply apply patch, go to BE module to see who is online, see that it 
> still work as before for your MySQL install, give your +1 by testing 
> because you don't see any change and let us be happy that yet another 
> bug could be fixed to make DBAL work better.
> 
> Just read DBAL SVN log to see how it was enhanced and made more reliable 
> since real bug fixing sessions can be made much more efficient by having 
> it as "external" project. This is a great subproject of this highly 
> loved CMS, be cool and let this story keep living!
> 
> Thanks.
> 


-- 
Xavier Perseguers
http://xavier.perseguers.ch/en

One contribution a day keeps the fork away


More information about the TYPO3-project-4-3 mailing list