Error while installing Palette theme

Permalink
I'm trying to install the Palette theme on new, clean, empty C5 installation (Version Is 5.7.5.9). I'm running on a local WampServer 64-bit, with Apache 2.4.23, PHP 5.6.25, and MySQL 5.7.14).

I installed C5 without any content and then tried to install the Palette theme freshly downloaded from the C5 site. After it ran for quite a few minutes, I got the following error:

An exception occurred while executing 'INSERT INTO btPaletteHeadingOption (bID, HeadingText, HeadingImage, Formatting, StyleOption, HeadingDescription) VALUES (?, ?, ?, ?, ?, ?)' with params ["164", "G\u00e2teau de la saison", "", "h2", "heading-colored-wide", ""]: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'HeadingImage' at row 1
.

Any help would be appreciated. I'm relatively new to C5 but have some experience with MySQL.

Thanks in advance!!

 
mlocati replied on at Permalink Reply
mlocati
You should contact the theme author...

BTW (I'm not 100% sure about this) you could try to configure MySQL.
In particular you should change the value of the "sql_mode" variable in your MySQL configu9file (don't forget to restart MySQL after having done that).
An empty string should work, otherwise you could try to set its value to the default one of MySQL version 5.5 (Google for it...)
RoJoHo replied on at Permalink Reply
Thanks for your reply. The tip about the sql_mode setting may be of some relevance here. I've also found some information stating that SQL 5.7 handles some invalid or null entries differently than prior versions during an INSERT operation. I'm continuing to research this and I'll post a follow-up if I find the problem.

I'm also working with an installation on a stand-alone NAS unit that uses the Maria DB system in place of MySQL. The Palette theme seems to install properly on that system, but not on the WampServer installation. This also may point to a MySQL 5.7 issue.

Thanks again for your tip!
JohntheFish replied on at Permalink Reply
JohntheFish
I prefer to look at SQL mode the other way round. If all developers kept SQL mode strict and produced code that worked with SQL mode strict, there would be less sites experiencing glitches that arise from uninitialised data.
mlocati replied on at Permalink Reply
mlocati
I totally agree

The problem is that the definition of "strict mode" has changed over the time.

Furthermore, I've seen that, even with the same "sql-mode" value, MySQL 5.5 and MySQL 5.7 behave differently (the latter is even more strict).

To be sure to create compatible code, the core (and package) developers should install MySQL 5.7 with the default options (that are in "strict mode").
JohntheFish replied on at Permalink Reply
JohntheFish
[Apologies for taking this thread way off topic]
Just did a bit of reading up on this. Not sure if I have the very latest, but here is my understanding of MySQL 5.7.
- code implementing strict mode inside MySQL is more consistent
- STRICT_TRANS_TABLES will be enabled by default
- STRICT_ALL_TABLES will remain off by default (but I like to keep that set anyway)
- a few of the zero/null related options are now included with STRICT_ALL_TABLES and STRICT_TRANS_TABLES and don't have separate settings.
- MySQL still has the cryptic and less than helpful error messages