[TYPO3-core] Mysql 4.1 and above

Martin Kutschker Martin.Kutschker at blackbox.net
Wed Jan 11 13:20:57 CET 2006


Martin Kutschker writes on 
Thu, 05 Jan 2006 13:25:16 +0100 (MET):

> Hi!
> 
> What's the state of TYPO3 on Mysql 4.1? I recall that there were
> problems and avoided this version sticking to 4.23 or 4.0.
> 
> Users experience problems with 4.1 and 5.0 and are missing an
> appropriate announcement on the TYPO3 requirements page.
> 
> I think that if there are problems a) the requirements page should be
> updated and b) the issues be resolved for TYPO3 4.0 and if they are
> simple enough in TYPO3 3.8.2 (along with PHP 5.0 issues).
> 
> Anyone here with more knowledge?


I found a report in the bugtracker: http://bugs.typo3.org/view.php?id=2059

It seems that TYPO3 doesn't work in Mysql's more strict server modes.

See: http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html

>From the bug report and the docs I deduce the problems are STRICT_ALL_TABLES (or even STRICT_TRANS_TABLES) and TRADITIONAL.

ALLOW_INVALID_DATES
HIGH_NOT_PRECEDENCE

Beware of PIPES_AS_CONCAT: Treat || as CONCAT() rather than as a synonym for OR.

Note: I have seen || as OR in the Core. ANSI-SQL (and nearly any other RDMB) uses || as CONCAT()!

So we should recommend the modes MYSQL323 or MYSQL40 or print this compatibility table:

Must be set: HIGH_NOT_PRECEDENCE
Must NOT be set: STRICT_ALL_TABLES,STRICT_TRANS_TABLES,TRADITIONAL

I'm unsure about settings like ERROR_FOR_DIVISION_BY_ZERO. IMHO the Core shouldn't be affected.

We could also change t3lib_db.php to issue an "SET SESSION sql_mode='MYSQL323'" command after connecting. This is perhaps the easiest solution.

If we do the SET, it should IMHO be done also in 3.8.2. But in the meantime the warning/requirement (and/or an extension with the SET-fix) should be issued.

Masi 



More information about the TYPO3-team-core mailing list