provide relief to sites that are severely impacted by the slow ITEM_UNSEEN searches. This does not incorporate any other flag optimisations as that will require a major DB update and possibly involve significant downtime. This is just to bite off a little chunk now and provide some much needed relief.
This commit is contained in:
@@ -2043,13 +2043,12 @@ function item_store($arr,$allow_exec = false) {
|
||||
|
||||
$arr['comment_policy'] = ((x($arr,'comment_policy')) ? notags(trim($arr['comment_policy'])) : 'contacts' );
|
||||
|
||||
$arr['item_flags'] = $arr['item_flags'] | ITEM_UNSEEN;
|
||||
$arr['item_unseen'] = ((array_key_exists('item_unseen',$arr)) ? intval($arr['item_unseen']) : 1);
|
||||
|
||||
if($arr['comment_policy'] == 'none')
|
||||
$arr['item_flags'] = $arr['item_flags'] | ITEM_NOCOMMENT;
|
||||
|
||||
|
||||
|
||||
// handle time travelers
|
||||
// Allow a bit of fudge in case somebody just has a slightly slow/fast clock
|
||||
|
||||
@@ -2332,8 +2331,8 @@ function item_store_update($arr,$allow_exec = false) {
|
||||
|
||||
// override the unseen flag with the original
|
||||
|
||||
if($arr['item_flags'] & ITEM_UNSEEN)
|
||||
$arr['item_flags'] = $arr['item_flags'] ^ ITEM_UNSEEN;
|
||||
if(intval($arr['item_flags']))
|
||||
$arr['item_unseen'] = 0;
|
||||
|
||||
if($orig[0]['item_flags'] & ITEM_VERIFIED)
|
||||
$orig[0]['item_flags'] = $orig[0]['item_flags'] ^ ITEM_VERIFIED;
|
||||
@@ -4562,7 +4561,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
|
||||
}
|
||||
}
|
||||
|
||||
$simple_update = (($client_mode & CLIENT_MODE_UPDATE) ? " and ( item.item_flags & " . intval(ITEM_UNSEEN) . " )>0 " : '');
|
||||
$simple_update = (($client_mode & CLIENT_MODE_UPDATE) ? " and ( item.item_unseen = 1 ) " : '');
|
||||
if($client_mode & CLIENT_MODE_LOAD)
|
||||
$simple_update = '';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user