summaryrefslogtreecommitdiff
path: root/classes/Memcached_DataObject.php
AgeCommit message (Collapse)Author
2010-01-06fixup keytypes so it returns the types no matter what kind of class it isEvan Prodromou
2010-01-06Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.xEvan Prodromou
2010-01-06only encache new objects when insert was successfulEvan Prodromou
2010-01-06Rearrange Memcached_DataObject::staticGet() to avoid "only variables can be ↵Brion Vibber
passed by reference" warnings when DB lookup fails and we return false. (We need to keep it returning a reference because the extlib parent class is stuck in PHP 4-land and uses references everywhere, including this function's return value. Yuck!) Also changed pkeyGet to drop the reference, since it doesn't have an upstream equivalent.
2010-01-05encache on insert instead of decachingEvan Prodromou
2010-01-05Cache fixes:Brion Vibber
* We now cache negative lookups; clear them in Memcached_DataObject->insert() * Mark file.url as a unique key in statusnet.ini so its negative lookups are cleared properly (first save of a notice with a new URL was failing due to double-insert) * Now using serialization for default in-process cache instead of just saving objects; avoids potential corruption if you save an object to cache, change the original object, then fetch the same key from cache again
2010-01-04Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.xEvan Prodromou
Conflicts: classes/Memcached_DataObject.php
2010-01-04Merge branch 'master' into 0.9.xEvan Prodromou
Conflicts: actions/publictagcloud.php classes/Memcached_DataObject.php
2010-01-04Exclude process-specific link & result cache references from serialized ↵Brion Vibber
Memcached_Data_Object instances. Should fix seemingly-random bugs due to destructor free()ing local resources by mistake. cherry-pick from 0.9.x
2010-01-04Revert "Take Memcached_DataObject destructor back out to check whether it ↵Brion Vibber
might be causing some under-the-hood problems." This reverts commit 89cca01259d71f3da961ef64def3647f86a01567.
2010-01-04Exclude process-specific link & result cache references from serialized ↵Brion Vibber
Memcached_Data_Object instances. Should fix seemingly-random bugs due to destructor free()ing local resources by mistake.
2010-01-04Memcached_DataObject stores empty values in the cacheEvan Prodromou
There's great value in knowing that something doesn't exist. We now cache this information, and carefully compare the results from cache as $results !== false instead of !empty($results), since some empty values (null, 0, empty array, empty string) are stored in the cache. Caching staticGet() and pkeyGet() now store DB misses in the cache, and cachedQuery() checks for empty results from the cache.
2010-01-04Stop caching unfindable keysEvan Prodromou
There were some problems with the automated cache/uncache system for data objects that made us cache unfindable keys (with null attributes and sometimes null names). Fixed those problems and refactored the encache() and decache() methods so they use a helper to find the cache keys to use.
2010-01-03Revert "use keys() instead of keyTypes() so plugin data object work"Evan Prodromou
This reverts commit ec380887f71a1eadc75bad0289f9a0dbee7f2913.
2010-01-03use keys() instead of keyTypes() so plugin data object workEvan Prodromou
2010-01-02Merge branch 'master' into 0.9.xEvan Prodromou
Conflicts: classes/Memcached_DataObject.php
2010-01-02return false from Memcached_DataObject::staticGet() on not found, like ↵Evan Prodromou
DB_DataObject
2010-01-02change harmless check of to check of in Memcached_DataObjectEvan Prodromou
2010-01-01Merge branch 'master' of git@gitorious.org:statusnet/mainlineEvan Prodromou
2010-01-01Revert "add cleanup method to cleanup a single row"Evan Prodromou
This reverts commit b0527801d9c2b84408bbfdf82bbdc5b778f72cfc.
2010-01-01Merge branch 'master' into 0.9.xEvan Prodromou
Conflicts: classes/Memcached_DataObject.php
2010-01-01add cleanup method to cleanup a single rowEvan Prodromou
2010-01-01stop using DB_DataObject's staticGet() which cachesEvan Prodromou
2009-12-30Take Memcached_DataObject destructor back out to check whether it might be ↵Brion Vibber
causing some under-the-hood problems.
2009-12-30Revert debugging codeBrion Vibber
2009-12-30subbug debug info to check on free orderingBrion Vibber
2009-12-23Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.xEvan Prodromou
2009-12-22Merge branch 'testing'Evan Prodromou
2009-12-22Skip DB_DataObject's in-process cache for static gets on CLI processes.Brion
The local process cache would grow forever, keeping things stuck in memory and preventing GC.
2009-12-15call DB_DataObject::__destruct() if it existsEvan Prodromou
2009-12-15take out DB_DataObject destructorEvan Prodromou
2009-12-14Add destructor on Memcached_DataObject to free DB_DataObject's global ↵Brion Vibber
storage for an object when that object itself is destroyed. Reduces some, but not all, memory leakage for long-running processes.
2009-12-11Debug check to track down live error -- wrong data type sometimes being sent ↵Brion Vibber
down to Memcached_DataObject::cacheKey() via various fetch functions, need a backtrace to track it down.
2009-11-10Bringing Sphinx search support up to code: broken out to a plugin, now ↵Brion Vibber
supports multiple sites on a single server. Upgrade notes: * Index names have changed from hardcoded 'Identica_people' and 'Identica_notices' to use the database name and actual table names. Must reindex. New events: * GetSearchEngine to override default search engine class selection from plugins New scripts: * gen_config.php generates a sphinx.conf from database configuration (with theoretical support for status_network table, but it doesn't seem to be cleanly queriable right now without knowing the db setup info for that. Needs generalized support.) * Replaced old sphinx-indexer.sh and sphinx-cron.sh with index_update.php Other fixes: * sphinx.conf.sample better matches our live config, skipping unused stopword list and using a more realistic indexer memory limit Further notes: * Probably doesn't work right with PostgreSQL yet; Sphinx can pull from PG but the extraction queries currently look like they use some MySQL-specific functions.
2009-08-26define LACONICA and accept LACONICA for backwards compatibilityEvan Prodromou
2009-08-25change LACONICA to STATUSNETEvan Prodromou
2009-08-25a distributed -> the distributedEvan Prodromou
2009-08-25change Laconica and Control Yourself to StatusNet in PHP filesEvan Prodromou
2009-07-27better check for existing DB connection runs SET NAMES UTF8 lessEvan Prodromou
2009-07-05Revert "Merge branch '0.8.x' into cachenonexistent"Evan Prodromou
This reverts commit e21d2cfdb5f259a07d7af0e3c7f5421315ed2710.
2009-07-05cache failure to find in memcachedEvan Prodromou
2009-06-21Add like for searchEvan Prodromou
2009-06-20Update copyright dates in files modified in 2009Evan Prodromou
2009-06-20change Controlez-Vous to Control YourselfEvan Prodromou
2009-06-18Make sure we have a DB connection before setting its charsetZach Copley
2009-05-30Use mysql_set_charset for connection instead of SET NAMESEvan Prodromou
PHP doesn't get the info about the charset of the connection if you use SET NAMES. So, we use the appropriate PHP function instead.
2009-05-27optionally use SET NAMES for utf8 to DBEvan Prodromou
2009-04-26Revert "Revert "run 'set names' after each connection to deal with UTF8 ↵Evan Prodromou
correctly"" This reverts commit 86770ccde7914219a0a572ced6dd21fa65566e1d.
2009-04-26Revert "run 'set names' after each connection to deal with UTF8 correctly"Evan Prodromou
This reverts commit 84072aa5cf6124d59a06a7f0a7945c00ee2836da. This commit caused grievous harm to old notices on identi.ca. Reverting until we figure out how to convert the old notices.
2009-04-26run 'set names' after each connection to deal with UTF8 correctlyEvan Prodromou