[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