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

[email protected] Thu, 03 Oct 2013 14:40:55 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1VRk5H-0003Ua-KC@wiley>
Author: ijabz
Date: 2013-10-03 14:40:55 +0000 (Thu, 03 Oct 2013)
New Revision: 13720

Added:
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/UrlIndex.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/UrlIndexField.java
   search_server/trunk/index/src/test/java/org/musicbrainz/search/index/UrlIndexTest.java
Modified:
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/IndexBuilder.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/IndexOptions.java
   search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AbstractIndexTest.java
Log:
SEARCH-149:Basic support for Artist Url Indexing

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/IndexBuilder.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/IndexBuilder.java	2013-10-03 13:28:38 UTC (rev 13719)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/IndexBuilder.java	2013-10-03 14:40:55 UTC (rev 13720)
@@ -123,6 +123,7 @@
                 new AreaIndex(mainDbConn),
                 new PlaceIndex(mainDbConn),
                 new AnnotationIndex(mainDbConn),
+                new UrlIndex(mainDbConn),
                 new TagIndex(mainDbConn),
                 new CDStubIndex(mainDbConn), //Note different db
         };

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/IndexOptions.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/IndexOptions.java	2013-10-03 13:28:38 UTC (rev 13719)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/IndexOptions.java	2013-10-03 14:40:55 UTC (rev 13720)
@@ -69,8 +69,8 @@
     public String getFreeDBDump() { return freeDBDump; }
 
     // Selection of indexes to build
-    @Option(name="--indexes", usage="A comma-separated list of indexes to build (area,artist,place,releasegroup,release,recording,label,work,tag,annotation,cdstub,freedb)")
-    private String indexes = "area,artist,label,place,release,recording,releasegroup,work,tag,annotation,cdstub,freedb";
+    @Option(name="--indexes", usage="A comma-separated list of indexes to build (annotation,area,artist,place,releasegroup,release,recording,label,work,tag,url,cdstub,freedb)")
+    private String indexes = "annotation,area,artist,label,place,release,recording,releasegroup,work,tag,url,cdstub,freedb";
     public ArrayList<String> selectedIndexes() { return new ArrayList<String>(Arrays.asList(indexes.split(","))); }
     public boolean buildIndex(String indexName) { return selectedIndexes().contains(indexName); }
 

Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AbstractIndexTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AbstractIndexTest.java	2013-10-03 13:28:38 UTC (rev 13719)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AbstractIndexTest.java	2013-10-03 14:40:55 UTC (rev 13720)
@@ -181,6 +181,16 @@
                 stmt.addBatch("DROP TABLE cdtoc_raw");
                 stmt.addBatch("DROP TABLE track_raw");
 
+                stmt.addBatch("DROP TABLE url");
+                stmt.addBatch("DROP TABLE l_area_url");
+                stmt.addBatch("DROP TABLE l_artist_url");
+                stmt.addBatch("DROP TABLE l_place_url");
+                stmt.addBatch("DROP TABLE l_recording_url");
+                stmt.addBatch("DROP TABLE l_release_url");
+                stmt.addBatch("DROP TABLE l_release_group_url");
+                stmt.addBatch("DROP TABLE l_url_url");
+                stmt.addBatch("DROP TABLE l_work_url");
+
                 stmt.addBatch("DROP TABLE work");
                 stmt.addBatch("DROP TABLE iswc");
                 stmt.addBatch("DROP TABLE work_alias");
@@ -238,6 +248,7 @@
             setupCDStubTables(stmt);
             setupWorkTables(stmt);
             setupPlaceTables(stmt);
+            setupUrlTables(stmt);
             setupReplicationTables(stmt);
             
             insertReferenceData(stmt);
@@ -1032,6 +1043,70 @@
                 "    last_updated        TIMESTAMP" +
                 ")");
 
+
+
+        stmt.addBatch("CREATE TABLE l_place_work" +
+                "(" +
+                "    id                  SERIAL," +
+                "    link                INTEGER NOT NULL," +
+                "    entity0             INTEGER NOT NULL," +
+                "    entity1             INTEGER NOT NULL," +
+                "    edits_pending       INTEGER NOT NULL," +
+                "    last_updated        TIMESTAMP" +
+                ")");
+
+        stmt.addBatch("CREATE TABLE place_tag" +
+                "(" +
+                "    place               INTEGER NOT NULL," +
+                "    tag                 INTEGER NOT NULL," +
+                "    count               INTEGER NOT NULL," +
+                "    last_updated        TIMESTAMP" +
+                ")");
+
+    }
+
+
+    protected void setupUrlTables(Statement stmt) throws Exception {
+
+        stmt.addBatch("CREATE TABLE url" +
+                "(" +
+                "    id                INTEGER," +
+                "    gid               UUID," +
+                "    url               TEXT," +
+                "    last_updated      TIMESTAMP" +
+                ")");
+
+
+        stmt.addBatch("CREATE TABLE l_area_url" +
+                "(" +
+                "    id                  SERIAL," +
+                "    link                INTEGER NOT NULL," +
+                "    entity0             INTEGER NOT NULL," +
+                "    entity1             INTEGER NOT NULL," +
+                "    edits_pending       INTEGER NOT NULL DEFAULT 0," +
+                "    last_updated        TIMESTAMP" +
+                ");");
+
+        stmt.addBatch("CREATE TABLE l_artist_url" +
+                "(" +
+                "    id                  SERIAL," +
+                "    link                INTEGER NOT NULL," +
+                "    entity0             INTEGER NOT NULL," +
+                "    entity1             INTEGER NOT NULL," +
+                "    edits_pending       INTEGER NOT NULL DEFAULT 0," +
+                "    last_updated        TIMESTAMP" +
+                ");");
+
+        stmt.addBatch("CREATE TABLE l_label_url" +
+                "(" +
+                "    id                  SERIAL," +
+                "    link                INTEGER NOT NULL," +
+                "    entity0             INTEGER NOT NULL," +
+                "    entity1             INTEGER NOT NULL," +
+                "    edits_pending       INTEGER NOT NULL DEFAULT 0," +
+                "    last_updated        TIMESTAMP" +
+                ");");
+
         stmt.addBatch("CREATE TABLE l_place_url" +
                 "(" +
                 "    id                  SERIAL," +
@@ -1042,24 +1117,45 @@
                 "    last_updated        TIMESTAMP" +
                 ")");
 
-        stmt.addBatch("CREATE TABLE l_place_work" +
+        stmt.addBatch("CREATE TABLE l_release_url" +
                 "(" +
                 "    id                  SERIAL," +
                 "    link                INTEGER NOT NULL," +
                 "    entity0             INTEGER NOT NULL," +
                 "    entity1             INTEGER NOT NULL," +
-                "    edits_pending       INTEGER NOT NULL," +
+                "    edits_pending       INTEGER NOT NULL DEFAULT 0," +
                 "    last_updated        TIMESTAMP" +
-                ")");
+                ");");
 
-        stmt.addBatch("CREATE TABLE place_tag" +
+        stmt.addBatch("CREATE TABLE l_recording_url" +
                 "(" +
-                "    place               INTEGER NOT NULL," +
-                "    tag                 INTEGER NOT NULL," +
-                "    count               INTEGER NOT NULL," +
+                "    id                  SERIAL," +
+                "    link                INTEGER NOT NULL," +
+                "    entity0             INTEGER NOT NULL," +
+                "    entity1             INTEGER NOT NULL," +
+                "    edits_pending       INTEGER NOT NULL DEFAULT 0," +
                 "    last_updated        TIMESTAMP" +
-                ")");
+                ");");
 
+        stmt.addBatch("CREATE TABLE l_release_group_url" +
+                "(" +
+                "    id                  SERIAL," +
+                "    link                INTEGER NOT NULL," +
+                "    entity0             INTEGER NOT NULL," +
+                "    entity1             INTEGER NOT NULL," +
+                "    edits_pending       INTEGER NOT NULL DEFAULT 0," +
+                "    last_updated        TIMESTAMP" +
+                ");");
+
+        stmt.addBatch("CREATE TABLE l_url_url" +
+                "(" +
+                "    id                  SERIAL," +
+                "    link                INTEGER NOT NULL," +
+                "    entity0             INTEGER NOT NULL," +
+                "    entity1             INTEGER NOT NULL," +
+                "    edits_pending       INTEGER NOT NULL DEFAULT 0," +
+                "    last_updated        TIMESTAMP" +
+                ");");
     }
 
 
@@ -1086,7 +1182,8 @@
                 ")");
 
     }
-    
+
+
     protected void insertReferenceData(Statement stmt) throws Exception {
 
         stmt.addBatch("INSERT INTO gender (id, name) VALUES " +