summaryrefslogtreecommitdiff
path: root/classes
AgeCommit message (Collapse)Author
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-02incorrectly used empty() instead of isset() for a variable that could be 0Evan 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-31Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.xEvan 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-30Merge branch 'locshunt2' into 0.9.xEvan Prodromou
Conflicts: classes/User_location_prefs.php
2009-12-30Add magic formula to keep DB_DataObject from treating location prefs pkey as ↵Evan Prodromou
autoincrement
2009-12-29Add progress output and optional --sleep-time parameter to triminboxes.phpBrion Vibber
2009-12-29Add progress output and optional --sleep-time parameter to triminboxes.phpBrion Vibber
2009-12-29Fix for saving user location preferences -- user_id field was marked as an ↵Brion Vibber
auto-increment and wasn't getting saved with new inserts.
2009-12-29Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.xEvan Prodromou
2009-12-29Merge branch 'master' into 0.9.xEvan Prodromou
2009-12-29Fix for saving user location preferences -- user_id field was marked as an ↵Brion Vibber
auto-increment and wasn't getting saved with new inserts.
2009-12-28notices are immutable, use created date for updatedEvan Prodromou
2009-12-28Move location-argument-handling code into a single functionEvan Prodromou
Moved the important parts of the location-argument-handling stuff to a single function. Handles defaults and overrides correctly, and easy to use. Changed Web and API channels to use it.
2009-12-28More configuration options for location sharingEvan Prodromou
2009-12-28user_id is primary key for user_location_prefsEvan Prodromou
2009-12-28remove namespace setting from location; it's unusedEvan Prodromou
2009-12-28turn off exe bitsEvan Prodromou
2009-12-28add user-location-prefs data objectsEvan Prodromou
2009-12-28Merge branch 'locshunt' into 0.9.xEvan Prodromou
2009-12-28Merge branch 'master' into 0.9.xEvan Prodromou
2009-12-28Move location-argument-handling code into a single functionEvan Prodromou
Moved the important parts of the location-argument-handling stuff to a single function. Handles defaults and overrides correctly, and easy to use. Changed Web and API channels to use it.
2009-12-28More configuration options for location sharingEvan Prodromou
2009-12-28user_id is primary key for user_location_prefsEvan Prodromou
2009-12-28remove namespace setting from location; it's unusedEvan Prodromou
2009-12-28turn off exe bitsEvan Prodromou
2009-12-28add user-location-prefs data objectsEvan Prodromou
2009-12-28check if other user exists before unsubEvan Prodromou
2009-12-23Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.xEvan Prodromou
2009-12-22Fix for massively slow friends timeline query due to indexing bug introduced ↵Brion Vibber
with repeats. Sorting on notice.id when our primary selector was notice_inbox.user_id caused a filesort and table scan of the notice table. Switchng to notice_inbox's notice_id means we can use our index, and everything comes right up. Before: mysql> explain SELECT notice.id AS id FROM notice JOIN notice_inbox ON notice.id = notice_inbox.notice_id WHERE notice_inbox.user_id = 18574 AND notice.repeat_of IS NULL ORDER BY notice.id DESC LIMIT 61 OFFSET 0; +----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+----------------------------------------------+ | 1 | SIMPLE | notice_inbox | ref | PRIMARY,notice_inbox_notice_id_idx | PRIMARY | 4 | const | 102600 | Using index; Using temporary; Using filesort | | 1 | SIMPLE | notice | eq_ref | PRIMARY | PRIMARY | 4 | stoica.notice_inbox.notice_id | 1 | Using index | +----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+----------------------------------------------+ After: mysql> explain SELECT notice.id AS id FROM notice JOIN notice_inbox ON notice.id = notice_inbox.notice_id WHERE notice_inbox.user_id = 18574 AND notice.repeat_of IS NULL ORDER BY notice_id DESC LIMIT 61 OFFSET 0; +----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+--------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+--------------------------+ | 1 | SIMPLE | notice_inbox | ref | PRIMARY,notice_inbox_notice_id_idx | PRIMARY | 4 | const | 102816 | Using where; Using index | | 1 | SIMPLE | notice | eq_ref | PRIMARY,notice_repeatof_idx | PRIMARY | 4 | stoica.notice_inbox.notice_id | 1 | Using where | +----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+--------------------------+
2009-12-22Fix for massively slow friends timeline query due to indexing bug introduced ↵Brion Vibber
with repeats. Sorting on notice.id when our primary selector was notice_inbox.user_id caused a filesort and table scan of the notice table. Switchng to notice_inbox's notice_id means we can use our index, and everything comes right up. Before: mysql> explain SELECT notice.id AS id FROM notice JOIN notice_inbox ON notice.id = notice_inbox.notice_id WHERE notice_inbox.user_id = 18574 AND notice.repeat_of IS NULL ORDER BY notice.id DESC LIMIT 61 OFFSET 0; +----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+----------------------------------------------+ | 1 | SIMPLE | notice_inbox | ref | PRIMARY,notice_inbox_notice_id_idx | PRIMARY | 4 | const | 102600 | Using index; Using temporary; Using filesort | | 1 | SIMPLE | notice | eq_ref | PRIMARY | PRIMARY | 4 | stoica.notice_inbox.notice_id | 1 | Using index | +----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+----------------------------------------------+ After: mysql> explain SELECT notice.id AS id FROM notice JOIN notice_inbox ON notice.id = notice_inbox.notice_id WHERE notice_inbox.user_id = 18574 AND notice.repeat_of IS NULL ORDER BY notice_id DESC LIMIT 61 OFFSET 0; +----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+--------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+--------------------------+ | 1 | SIMPLE | notice_inbox | ref | PRIMARY,notice_inbox_notice_id_idx | PRIMARY | 4 | const | 102816 | Using where; Using index | | 1 | SIMPLE | notice | eq_ref | PRIMARY,notice_repeatof_idx | PRIMARY | 4 | stoica.notice_inbox.notice_id | 1 | Using where | +----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+--------------------------+
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-16Merge branch '0.9.x' into testing0.9.0rc2Evan Prodromou
2009-12-16Add doc comments listing the array parameters for User::register() and ↵Brion Vibber
Notice::saveNew()
2009-12-16Fix UserRightsTest unit testsBrion Vibber
2009-12-16Cleanup undefined variable notice: set a couple more null defaults for new ↵Brion Vibber
params in Notice::saveNew(). Fixes this notice seen while using AJAX repeat button: Notice: Undefined variable: uri in classes/Notice.php on line 243
2009-12-16slight cleanup for a bit in Notice.php where a var was reused for different ↵Brion Vibber
types, confusing tracking down a bug
2009-12-15Merge branch '0.9.x' into testingEvan Prodromou
2009-12-15call DB_DataObject::__destruct() if it existsEvan Prodromou
2009-12-15take out DB_DataObject destructorEvan Prodromou