[TYPO3-mvc] Discussion: Storage Backend not compatible to DBAL

Steffen Ritter info at rs-websystems.de
Thu Nov 19 10:35:23 CET 2009


Jochen Rau schrieb:
> Hi.
> 
> There is an open issue "Typo3DBBackend.php not compatible to DBAL" on 
> forge.
> 
> http://forge.typo3.org/issues/show/5374
> 
> I cite my comment on Steffen Ritters proposal here to get a broader 
> discussion about how to solve that issue:
> 
> -- snip 8< --------------
> Extbase does not fully support DBAL features ATM. This is because there 
> are two contrary ways to implement support for different storage backends:
> 
> 1. providing a multi-purpose Typo3DbBackend taking DBAL as an other 
> layer below.
> 2. implementing the differences in parsing the QueryObjectModel in a 
> slim storage backend for each backend deriving common functionality from 
> an abstract storage backend.
> 
> I definitely prefer the latter way. In this case the hierarchy could be 
> as follow:
> 
> StorageBackendInterface
> - AbstractStorageBackend <- some common functionality
>     - AbstractAnsiSqlBackend <- does most of the parsing
>         - MySqlBackend
>         - OracleBackend <- very slim
>         - PostgresBackend
>     - AbstractFileBackend
>         - CsvBackend
>         - XmlBackend
> 
> IMHO the second way has several advantages:
> - small pieces of code to be optimized
> - separated responsibilities makes it easy to understand the functionality
> - easily plugged together (a different storage backend for each class)
> 
> Of course, the easy and quick way would be to utilize exec_* (due to 
> lack of time). It would be great, if you could provide a patch for this 
> (or if you could dedicate your time to the second way).
> --- snap 8< ----------
> 
> What's your opinion about that? Any other ideas?
> 
> Regards
> Jochen
> 
Hi,
since the "fast Version" of rewriting did not get into 4.3 (sry i did 
not have the time for finishing patch due to an "clients emergency" 
(server break)) i would say for 4.4 we should provide a clean solution.

BUT: providing backends for all instead of using DBAL is not a solution 
to me.

Why?
1. mixed envirenments would not be supported (as of DBAL)
2. table Mappings would not be supported (mapping feature of extbase 
works only within one database)
3. reinvent the wheel? better join forces an optimize DBAL


Xavier made a patch which makes Extbase basically supported in 4.3 which 
  I'm currently using.  I - for shure - did not test all extbase 
possibilities for failure by know, just "select" no update or inserts by 
know...

So far.

Steffen


More information about the TYPO3-project-typo3v4mvc mailing list