The previous exmaple for adding a Mamcached backend was not working properly. Using this example results in Zend_Cache_Backend_Memcached using the default (fallback) settings (which are exactly the same as in the exmaple though).
+ Added an extra example for Memcached instances which are listening on a Unix socket.
This table should best summarise the difference - 1 = row is visible, 0 = row is excluded
| Name | SELECT * FROM Player WHERE (FirstName != 'A' OR LastName != 'B') | SELECT * FROM Player WHERE FirstName != 'A' AND LastName != 'B' |
| A B | 0 | 0 |
| A C | 1 | 0 |
Fix ArrayList sort error with old (supported) PHP
PHP 5.3 at least (the reported and tested against version) requires arguments to `call_user_func_array` to be passed by reference. There exists a note as a comment in the code, but was unfortunately overlooked in a previous commit to fix case sensitive sorting 4998b80#diff-6ba746c3d31fd6b4c4a99d7efe35eb21L442
To solve this issue we simply first assign the constant to a variable, so we can then pass that by reference. This has no functional impact, however fixes an issue for users locked in to old PHP versions which we still list as supported (https://docs.silverstripe.org/en/3/getting_started/server_requirements/#web-server-software-requirements).
PHP 5.3 at least (the reported and tested against version) requires arguments to `call_user_func_array` to be passed by reference. There exists a note as a comment in the code, but was unfortunately overlooked in a previous commit to fix case sensitive sorting 4998b80445 (diff-6ba746c3d31fd6b4c4a99d7efe35eb21L442)
To solve this issue we simply first assign the constant to a variable, so we can then pass that by reference. This has no functional impact, however fixes an issue for users locked in to old PHP versions which we still list as supported (https://docs.silverstripe.org/en/3/getting_started/server_requirements/#web-server-software-requirements).
When using a view in a SilverStripe project, whenever the tear down scripts for the Unittests are run the following error occurs:
Couldn't run query:
TRUNCATE "ActivityPoints_view"
Table 'ss_tmpdb2391727.ActivityPoints_view' doesn't exist
This was due to the MySQLSchemaManager::tableList() function assuming that all records in the TABLES were actual tables containing data.
This small tweak fixes the issue by modifying the SQL to filter out views from the list before truncating.