[Launchpad-reviewers] [Merge] lp:~cjwatson/launchpad/dsp-vocab-distinct-dspc-name into lp:launchpad

2016-09-19 Thread noreply
The proposal to merge lp:~cjwatson/launchpad/dsp-vocab-distinct-dspc-name into 
lp:launchpad has been updated.

Status: Needs review => Merged

For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/dsp-vocab-distinct-dspc-name/+merge/305601
-- 
Your team Launchpad code reviewers is subscribed to branch lp:launchpad.

___
Mailing list: https://launchpad.net/~launchpad-reviewers
Post to : launchpad-reviewers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-reviewers
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-reviewers] [Merge] lp:~cjwatson/launchpad/dsp-vocab-distinct-dspc-name into lp:launchpad

2016-09-19 Thread William Grant
Review: Approve code

The unindexed sort already makes the plan as terrible as it can get.
-- 
https://code.launchpad.net/~cjwatson/launchpad/dsp-vocab-distinct-dspc-name/+merge/305601
Your team Launchpad code reviewers is subscribed to branch lp:launchpad.

___
Mailing list: https://launchpad.net/~launchpad-reviewers
Post to : launchpad-reviewers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-reviewers
More help   : https://help.launchpad.net/ListHelp


[Launchpad-reviewers] [Merge] lp:~cjwatson/launchpad/dsp-vocab-distinct-dspc-name into lp:launchpad

2016-09-13 Thread Colin Watson
Colin Watson has proposed merging 
lp:~cjwatson/launchpad/dsp-vocab-distinct-dspc-name into lp:launchpad.

Commit message:
Eliminate duplicate results from DistributionSourcePackageVocabulary searches.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)

For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/dsp-vocab-distinct-dspc-name/+merge/305601

Eliminate duplicate results from DistributionSourcePackageVocabulary searches.

I've tested the modified query on dogfood and confirmed that this makes 
negligible difference to run-time.
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of 
lp:~cjwatson/launchpad/dsp-vocab-distinct-dspc-name into lp:launchpad.
=== modified file 'lib/lp/registry/tests/test_distributionsourcepackage_vocabulary.py'
--- lib/lp/registry/tests/test_distributionsourcepackage_vocabulary.py	2016-07-27 17:19:20 +
+++ lib/lp/registry/tests/test_distributionsourcepackage_vocabulary.py	2016-09-13 13:24:43 +
@@ -5,10 +5,14 @@
 
 __metaclass__ = type
 
+from lp.registry.interfaces.pocket import PackagePublishingPocket
 from lp.registry.vocabularies import DistributionSourcePackageVocabulary
 from lp.services.webapp.vocabulary import IHugeVocabulary
 from lp.soyuz.enums import ArchivePurpose
-from lp.testing import TestCaseWithFactory
+from lp.testing import (
+person_logged_in,
+TestCaseWithFactory,
+)
 from lp.testing.layers import DatabaseFunctionalLayer
 
 
@@ -266,6 +270,23 @@
 self.assertEqual('snarf-server', terms[2].token)
 self.assertEqual('pting-client', terms[3].token)
 
+def test_searchForTerms_deduplication(self):
+# Search deduplicates cache rows with the same name, e.g. an
+# official source package that also has an official branch.
+distro = self.factory.makeDistribution(name='fnord')
+distroseries = self.factory.makeDistroSeries(distribution=distro)
+self.factory.makeDSPCache(
+distroseries=distroseries, sourcepackagename='snarf')
+branch = self.factory.makePackageBranch(distroseries=distroseries)
+with person_logged_in(distro.owner):
+distroseries.getSourcePackage('snarf').setBranch(
+PackagePublishingPocket.RELEASE, branch, distro.owner)
+vocabulary = DistributionSourcePackageVocabulary(distro)
+results = vocabulary.searchForTerms(query='snarf')
+terms = list(results)
+self.assertEqual(1, len(terms))
+self.assertEqual('snarf', terms[0].token)
+
 def test_searchForTerms_partner_archive(self):
 # Packages in partner archives are searched.
 distro = self.factory.makeDistribution(name='fnord')

=== modified file 'lib/lp/registry/vocabularies.py'
--- lib/lp/registry/vocabularies.py	2016-07-27 17:19:20 +
+++ lib/lp/registry/vocabularies.py	2016-09-13 13:24:43 +
@@ -2141,7 +2141,8 @@
 DistributionSourcePackageCache.distribution ==
 self.distribution,
 ),
-tables=DistributionSourcePackageCache))
+tables=DistributionSourcePackageCache,
+distinct=(DistributionSourcePackageCache.name,)))
 SearchableDSPC = Table("SearchableDSPC")
 searchable_dspc_name = Column("name", SearchableDSPC)
 searchable_dspc_sourcepackagename = Column(

___
Mailing list: https://launchpad.net/~launchpad-reviewers
Post to : launchpad-reviewers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-reviewers
More help   : https://help.launchpad.net/ListHelp


[Launchpad-reviewers] [Merge] lp:~cjwatson/launchpad/dsp-vocab-distinct-dspc-name into lp:launchpad

2016-09-13 Thread Colin Watson
The proposal to merge lp:~cjwatson/launchpad/dsp-vocab-distinct-dspc-name into 
lp:launchpad has been updated.

Description changed to:

Eliminate duplicate results from DistributionSourcePackageVocabulary searches.

I've tested the modified query on dogfood and confirmed that this makes 
negligible difference to run-time.

For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/dsp-vocab-distinct-dspc-name/+merge/305601
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of 
lp:~cjwatson/launchpad/dsp-vocab-distinct-dspc-name into lp:launchpad.

___
Mailing list: https://launchpad.net/~launchpad-reviewers
Post to : launchpad-reviewers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-reviewers
More help   : https://help.launchpad.net/ListHelp