- Doc: It doesn't throw InvalidArgumentException on existing entry, it updates it instead.
- Doc: It doesn't throw BadStateException on zero rowcount anymore, as that is unreliable across DBMSs.
- Removed 'expired' from update statement, as that value isn't provided in the insert statement.
- Removed rowcount check (see above).
- Use DateTime instead of timestamp in the test, as the BinaryFileCreateStruct->mtime docblock says.
- Convert DateTime to timestamp before insert query, but also allow timestamp since some code has been using that (see above).