Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/conpherence/engineextension/ConpherenceThreadIndexEngineExtension.php b/src/applications/conpherence/engineextension/ConpherenceThreadIndexEngineExtension.php
index d45e347729..740a1d81e2 100644
--- a/src/applications/conpherence/engineextension/ConpherenceThreadIndexEngineExtension.php
+++ b/src/applications/conpherence/engineextension/ConpherenceThreadIndexEngineExtension.php
@@ -1,81 +1,84 @@
<?php
final class ConpherenceThreadIndexEngineExtension
extends PhabricatorIndexEngineExtension {
const EXTENSIONKEY = 'conpherence.thread';
public function getExtensionName() {
return pht('Conpherence Threads');
}
public function shouldIndexObject($object) {
return ($object instanceof ConpherenceThread);
}
public function indexObject(
PhabricatorIndexEngine $engine,
$object) {
$force = $this->shouldForceFullReindex();
if (!$force) {
$xaction_phids = $this->getParameter('transactionPHIDs');
if (!$xaction_phids) {
return;
}
}
$query = id(new ConpherenceTransactionQuery())
->setViewer($this->getViewer())
->withObjectPHIDs(array($object->getPHID()))
->withTransactionTypes(array(PhabricatorTransactions::TYPE_COMMENT))
->needComments(true);
if (!$force) {
$query->withPHIDs($xaction_phids);
}
$xactions = $query->execute();
if (!$xactions) {
return;
}
foreach ($xactions as $xaction) {
$this->indexComment($object, $xaction);
}
}
private function indexComment(
ConpherenceThread $thread,
ConpherenceTransaction $xaction) {
- $previous = id(new ConpherenceTransactionQuery())
+ $pager = id(new AphrontCursorPagerView())
+ ->setPageSize(1)
+ ->setAfterID($xaction->getID());
+
+ $previous_xactions = id(new ConpherenceTransactionQuery())
->setViewer($this->getViewer())
->withObjectPHIDs(array($thread->getPHID()))
->withTransactionTypes(array(PhabricatorTransactions::TYPE_COMMENT))
- ->setAfterID($xaction->getID())
- ->setLimit(1)
- ->executeOne();
+ ->executeWithCursorPager($pager);
+ $previous = head($previous_xactions);
$index = id(new ConpherenceIndex())
->setThreadPHID($thread->getPHID())
->setTransactionPHID($xaction->getPHID())
->setPreviousTransactionPHID($previous ? $previous->getPHID() : null)
->setCorpus($xaction->getComment()->getContent());
queryfx(
$index->establishConnection('w'),
'INSERT INTO %T
(threadPHID, transactionPHID, previousTransactionPHID, corpus)
VALUES (%s, %s, %ns, %s)
ON DUPLICATE KEY UPDATE corpus = VALUES(corpus)',
$index->getTableName(),
$index->getThreadPHID(),
$index->getTransactionPHID(),
$index->getPreviousTransactionPHID(),
$index->getCorpus());
}
}

File Metadata

Mime Type
text/x-diff
Expires
Tue, Jun 10, 4:29 PM (1 d, 9 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
140523
Default Alt Text
(2 KB)

Event Timeline