[mb-commits] r13719 - in search_server/trunk/index/src: main/java/org/musicbrainz/search/index test/java/org/musicbrainz/search/index

[email protected] Thu, 03 Oct 2013 13:28:39 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1VRixL-0002jv-10@wiley>
Author: ijabz
Date: 2013-10-03 13:28:38 +0000 (Thu, 03 Oct 2013)
New Revision: 13719

Modified:
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java
   search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ReleaseIndexTest.java
Log:
SEARCH-324:Release search should return catalog numbers in ascending order

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java	2013-10-03 12:22:56 UTC (rev 13718)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java	2013-10-03 13:28:38 UTC (rev 13719)
@@ -110,7 +110,8 @@
                "SELECT rl.release as releaseId, l.gid as labelId, l.name as labelName, catalog_number " +
                " FROM release_label rl " +
                "  LEFT JOIN label l ON rl.label=l.id " +
-               " WHERE rl.release BETWEEN ? AND ?");
+               " WHERE rl.release BETWEEN ? AND ?" +
+               " ORDER BY catalog_number, labelName");
 
         addPreparedStatement("MEDIUMS",
               "SELECT m.release as releaseId, mf.name as format, m.track_count as numTracksOnMedium, count(mc.id) as discidsOnMedium " +

Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ReleaseIndexTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ReleaseIndexTest.java	2013-10-03 12:22:56 UTC (rev 13718)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ReleaseIndexTest.java	2013-10-03 13:28:38 UTC (rev 13719)
@@ -5,10 +5,7 @@
 import org.apache.lucene.store.RAMDirectory;
 import org.apache.lucene.util.NumericUtils;
 import org.junit.Test;
-import org.musicbrainz.mmd2.ArtistCredit;
-import org.musicbrainz.mmd2.Release;
-import org.musicbrainz.mmd2.ReleaseEvent;
-import org.musicbrainz.mmd2.ReleaseEventList;
+import org.musicbrainz.mmd2.*;
 
 import java.sql.Statement;
 
@@ -231,7 +228,12 @@
         stmt.addBatch("INSERT INTO label (id, gid, name, sort_name,area) " +
                 " VALUES (1, 'a539bb1e-f2e1-4b45-9db8-8053841e7503', 'korova', 'korova', 1)");
 
-        stmt.addBatch("INSERT INTO release_label (id, release, label, catalog_number) VALUES (1, 491240, 1, 'ECHO1')");
+        stmt.addBatch("INSERT INTO label (id, gid, name, sort_name,area) " +
+                " VALUES (2, 'bbbbbbbb-f2e1-4b45-9db8-8053841e7503', 'wea', 'wea', 1)");
+
+
+        stmt.addBatch("INSERT INTO release_label (id, release, label, catalog_number) VALUES (1, 491240, 1, 'FRED')");
+        stmt.addBatch("INSERT INTO release_label (id, release, label, catalog_number) VALUES (2, 491240, 2, 'ECHO1')");
         stmt.addBatch("INSERT INTO release_meta (id, amazon_asin) VALUES (491240, 'B00005NTQ7')");
         stmt.addBatch("INSERT INTO medium (id, track_count, release, position, format) VALUES (1, 1, 491240, 1, 7)");
 
@@ -899,4 +901,33 @@
         }
         ir.close();
     }
-}
\ No newline at end of file
+
+    /**
+     * @throws Exception exception
+     */
+    @Test
+    public void testStoredRelease3() throws Exception {
+
+        addReleaseFive();
+        RAMDirectory ramDir = new RAMDirectory();
+        createIndex(ramDir);
+
+        IndexReader ir = DirectoryReader.open(ramDir);
+        assertEquals(2, ir.numDocs());
+        {
+
+            Document doc = ir.document(1);
+            Release release = (Release) MMDSerializer.unserialize(doc.get(ReleaseIndexField.RELEASE_STORE.getName()), Release.class);
+            assertEquals("c3b8dbc9-c1ff-4743-9015-8d762819134e", release.getId());
+            assertEquals("B00005NTQ7", release.getAsin());
+
+
+            LabelInfoList labellist = release.getLabelInfoList();
+            assertNotNull(labellist);
+            assertEquals(2, labellist.getLabelInfo().size());
+            assertEquals("ECHO1", labellist.getLabelInfo().get(0).getCatalogNumber());
+            assertEquals("FRED", labellist.getLabelInfo().get(1).getCatalogNumber());
+        }
+        ir.close();
+    }
+}