aboutsummaryrefslogtreecommitdiff
path: root/classes/Safe_DataObject.php
Commit message (Collapse)AuthorAgeFilesLines
* DB_DataObject recommends using ->tableName()Mikael Nordfeldth2015-06-061-5/+5
|
* MITM the DB_DataObject to avoid PEAR::DB strict standards warningsMikael Nordfeldth2015-06-061-4/+3
|
* function delete in dataobjects now don't break strict syntaxMikael Nordfeldth2013-10-291-1/+1
|
* Stronger typing, require array where param arrayMikael Nordfeldth2013-08-291-2/+2
|
* * i18n/L10n and translator documentation updates.Siebrand Mazeland2010-09-281-1/+0
| | | | * whitespace and indentation updates
* * Address i18n related FIXMEs after talk with Brion.Siebrand Mazeland2010-07-301-2/+2
| | | | * Tweak message
* * add FIXME for messages that may need i18n.Siebrand Mazeland2010-07-291-37/+34
| | | | * trailing whitespace removed.
* Throw an exception when an undefined method is called on one of our ↵Brion Vibber2010-03-191-0/+24
| | | | | | | | DB_DataObjects, instead of failing silently. The magic __call() method is used to implement a getter and setter interface, and simply didn't bother to throw an error for things it didn't recognize. This may expose a number of existing errors where mistyped method names are called and we're not noticing that they're failing.
* Drop result ID from data objects on clone(). This keeps the original object ↵Brion Vibber2010-03-151-0/+19
| | | | | | | | | | | | | | | | | | working if it was in the middle of a query loop, even if the cloned object falls out of scope and triggers its destructor. This bug was hitting a number of places where we had the pattern: $db->find(); while($dbo->fetch()) { $x = clone($dbo); // do anything with $x other than storing it in an array } The cloned object's destructor would trigger on the second run through the loop, freeing the database result set -- not really what we wanted. (Loops that stored the clones into an array were fine, since the clones stay in scope in the array longer than the original does.) Detaching the database result from the clone lets us work with its data without interfering with the rest of the query. In the unlikely even that somebody is making clones in the middle of a query, then trying to continue the query with the clone instead of the original object, well they're gonna be broken now.
* Stomp queue restructuring for mass scalability:Brion Vibber2010-02-161-0/+250
- Multiplexing queues into groups and for multiple sites. - Sharing vs breakout configurable per site and per queue via $config['queue']['breakout'] - Detect how many times a message is redelivered, discard if it's killed too many daemons - count configurable with $config['queue']['max_retries'] - can dump the items to files in $config['queue']['dead_letter_dir'] Queue daemon memory & resource leak fixes: - avoid unnecessary reconnections to memcached server (switch persistent connections back in on second initialization, assuming it's child process) - monkey-patch for leaky .ini loads in DB_DataObject::databaseStructure() - was leaking 200k per active switch - applied leak fixes to Status_network as well, using intermediate base Safe_DataObject for both it and Memcache_DataObject Misc queue fixes: - correct handling of child processes exiting due to signal termination instead of regular exit - shutdown instead of infinite respawn loop if we're already past the soft memory limit at startup - Added --all option for xmppdaemon... still opens one xmpp connection per site that has xmpp active Cache updates: - add Cache::increment() method with native support for memcached atomic increment