protected function buildJoinClauseParts(AphrontDatabaseConnection $conn)
 {
     $joins = parent::buildJoinClauseParts($conn);
     $join_publisher = $this->fullKeys !== null;
     if ($join_publisher) {
         $publisher_table = new PhabricatorPackagesPublisher();
         $joins[] = qsprintf($conn, 'JOIN %T u ON u.phid = p.publisherPHID', $publisher_table->getTableName());
     }
     return $joins;
 }
 protected function buildWhereClauseParts(AphrontDatabaseConnection $conn)
 {
     $where = parent::buildWhereClauseParts($conn);
     if ($this->ids !== null) {
         $where[] = qsprintf($conn, 'u.id IN (%Ld)', $this->ids);
     }
     if ($this->phids !== null) {
         $where[] = qsprintf($conn, 'u.phid IN (%Ls)', $this->phids);
     }
     if ($this->publisherKeys !== null) {
         $where[] = qsprintf($conn, 'u.publisherKey IN (%Ls)', $this->publisherKeys);
     }
     return $where;
 }