NineChime forum

Furry stuff, oekaki stuff, and other stuff.

You are not logged in.

#1 02-03-2019 00:04:55

wacky
Guest

1.6.6 "Invalid Default" install trouble & fix

Hi there,

I tried installing a fresh wacintaki 1.6.6 on Ubuntu running Mysql 5.7 & php 7.2 and ran into the following errors that outputted after install

Wrote database config file.
Wrote config file.
Wrote base “resource† folder files.
Starting to set up database.
Invalid default value for 'joindate' [members]
Table 'db_oekaki.jd_oekaki' doesn't exist [admin]
[cache]
Invalid default value for 'postdate' [data]
Invalid default value for 'date' [log]
Invalid default value for 'senddate' [mailbox]
Finished setting up database.

After some investigation I noticed that the install.php table creation SQL set some Default Date/Datetimes that were outside the range of mysql's supported range. For instance the 'joindate' indicated by the above error tries to default to '0000-00-00' but seems like it must be within '1000-01-01' to '9999-12-31'

After fixing these items the tables built as expected.

I've copied the updated Install.php to the following [url]https://pastebin.com/AnEZTibQ[url]pastebin as i didn't see a way to submit a pull request.

Hope this helps and thanks so much for all your continued work on this software!

W

#2 02-04-2019 05:27:22

Waccoon
Administrator

Re: 1.6.6 "Invalid Default" install trouble & fix

Ah... values of zero/null have been valid for a long time, but now that NO_ZERO_DATE has been deprecated, I guess they're cracking down on strict timestamp usage.

Since MySQL8 has finally been released, I should verify all the data types.  More than just the installer needs to be fixed, so I'll start work on this tomorrow.  Thanks for the report.  8)

Offline

#3 02-06-2019 00:56:30

Waccoon
Administrator

Re: 1.6.6 "Invalid Default" install trouble & fix

A new patch has been released.  I updated my software stack and made sure everything is running in strict mode, and everything seems to be working fine.

1.6.7 release announcement

Offline

#4 02-09-2019 20:27:51

wacky
Guest

Re: 1.6.6 "Invalid Default" install trouble & fix

Hi,

I downloaded the patch you put together (thanks for that) but noticed there were no install.php changes similar to the ones i had to make for it to install correctly. Were my changes unnecessary? If so, i'd like to make sure i follow the correct process, could you tell me what i should change?

Thanks for your help.

W

#5 02-11-2019 04:50:54

Waccoon
Administrator

Re: 1.6.6 "Invalid Default" install trouble & fix

"1000-01-01" is the official minimum value supported by MySQL for datestamps, but for timestamps, the minimum is the UNIX epoch, or 1970-01-01.  I guess 1970 makes the safest default value for most production code.  I used the year 2000 as the minimum date since that's when the first version of OekakiPoteto was released.  8)

Also, it's worth noting that all dates will be updated when new rows are added to the oekaki database, so NULL is never used.  The purpose of the default is to act as a storage placeholder, so I've kept all defaults set to NOT NULL.

A bigger concern I stumbled across is the ONLY_FULL_GROUP_BY strict mode, which is worth noting when refactoring old code.  Thankfully, no updates had to be made to the oekaki to support it, but I did have to update a few other things on my web site.

Offline

Board footer

Yep, still running PunBB
© Copyright 2002–2008 PunBB