[TYPO3-core] RFC #12354: Remove t3lib_sqlengine from Core and move it to DBAL

Xavier Perseguers typo3 at perseguers.ch
Mon Oct 26 19:50:01 CET 2009


Hi,

This is an SVN change request without any patch as it mainly implies a "svn mv".

Problem:
As you may have read in thread from RFC #12351, use of t3lib_sqlengine in DBAL is not optimal. Trying to see whether it was possible to prevent t3lib_sqlengine from extending t3lib_sqlparser, I found 
that it was not possible but that this code was in fact needed by DBAL only (read on for argumentation).

t3lib_sqlengine is not used at all in Core, it is only used within DBAL. It was thought as being a standard class when accessing other DBMS than MySQL (examples are available in DBAL/handlers with 
OpenOffice for instance).

There is a real issue keeping it in Core as it is defined as

class t3lib_sqlengine extends t3lib_sqlparser

and is XCLASSed in DBAL but as DBAL XCLASSes both t3lib_sqlparser and t3lib_sqlengine, modifications in ux_t3lib_sqlparser have to be copied to ux_t3lib_sqlengine too. This is a real pain.

I suggest to move it to DBAL and to let me and the DBAL team worry about what to do with it :-)

Just be pragmatic, using other DBMS than MySQL was a wish some years ago but DBAL is the only known extension having done this with some success we have to agree. Now, face the reality and accept 
nobody is willing to try to do it "better" and let DBAL have more chance to enhance on itself.

Additional info:
I do not provide a patch, instead following should be done:

- Move class.t3lib_sqlengine.php to DBAL-trunk/class.dbal_sqlengine.php with "svn mv" (you may let me do the DBAL stuff of renaming the class itself afterwards):

$ svn mv class.t3lib_sqlengine.php https://svn.typo3.org/TYPO3v4/Extensions/dbal/trunk/class.dbal_sqlengine.php [^]

- Remove reference from it in t3lib/core_autoload.php
- Update comment of method dumpTableContent in typo3/mod/tools/em/class.em_index.php to reflect its new name "dbal_sqlengine"

This can be done in very short time (including updating DBAL), which would then allow Core not to be broken by anybody using Core-trunk but not DBAL-trunk (which I would not recommend anyway).

Cheers

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

One contribution a day keeps the fork away


More information about the TYPO3-team-core mailing list