wiki.techinc.nl/includes/objectcache
Matthias Mullie 2a4dfa169b Don't use complex datatypes as CAS tokens
For caches where CAS is not natively supported, we have a workaround, where the
CAS token is (based on) the stored value.

To confirm the data can be written to cache, the CAS token is compared against
"whatever is currently in cache", so we pull the cached data and rebuild the
value.

In the case of objects, we have now pulled & rebuilt (unserialized) 2 objects
that are actually the same object (for CAS purpose - it's the correct value to
overwrite), but in terms of ===, they're 2 different values.

This patch should make sure CAS tokens are always a serialized version of the
value we're saving (where no native CAS exists); these serialized versions can
reliably be compared.

Bug: 59941
Change-Id: I2760416c48f2ceb7a0e0c874dd70ec07b4dccdfc
2014-01-14 16:45:32 +01:00
..
APCBagOStuff.php
BagOStuff.php
DBABagOStuff.php Don't use complex datatypes as CAS tokens 2014-01-14 16:45:32 +01:00
EhcacheBagOStuff.php
EmptyBagOStuff.php
HashBagOStuff.php Don't use complex datatypes as CAS tokens 2014-01-14 16:45:32 +01:00
MemcachedBagOStuff.php
MemcachedClient.php changed memcached server parsing to allow for local unix domain socket connections 2013-12-31 11:10:53 -08:00
MemcachedPeclBagOStuff.php
MemcachedPhpBagOStuff.php
MultiWriteBagOStuff.php
ObjectCache.php
ObjectCacheSessionHandler.php
RedisBagOStuff.php Don't use complex datatypes as CAS tokens 2014-01-14 16:45:32 +01:00
SqlBagOStuff.php
WinCacheBagOStuff.php
XCacheBagOStuff.php