Bug 760956 - Part 2: Introduce numbers table r=rnewman
authorAndrzej Hunt <ahunt@mozilla.com>
Mon, 29 Feb 2016 11:33:05 -0800
changeset 286032 d6e7971cd98b8db5ed78421652e52848d29f71fa
parent 286031 f0d9ab6ffd64bd61e90dc2a13120df985c91c823
child 286033 633a0cff7f55ec82a3b75b22e424dc5f68779912
push id17894
push userahunt@mozilla.com
push dateMon, 29 Feb 2016 22:14:11 +0000
treeherderfx-team@446932a345fe [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersrnewman
bugs760956
milestone47.0a1
Bug 760956 - Part 2: Introduce numbers table r=rnewman We'll need this to provide a number sequence for the single-query/cursor TopSites implementation. MozReview-Commit-ID: 8m21gNmY50D
mobile/android/base/java/org/mozilla/gecko/db/BrowserContract.java
mobile/android/base/java/org/mozilla/gecko/db/BrowserDatabaseHelper.java
mobile/android/tests/browser/robocop/assets/browser_db_upgrade/v28.db
--- a/mobile/android/base/java/org/mozilla/gecko/db/BrowserContract.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/BrowserContract.java
@@ -508,15 +508,25 @@ public class BrowserContract {
             SyncStatus(final int dbValue) {
                 this.dbValue = dbValue;
             }
 
             public int getDBValue() { return dbValue; }
         }
     }
 
+    public static final class Numbers {
+        private Numbers() {}
+
+        public static final String TABLE_NAME = "numbers";
+
+        public static final String POSITION = "position";
+
+        public static final int MAX_VALUE = 50;
+    }
+
     // We refer to the service by name to decouple services from the rest of the code base.
     public static final String TAB_RECEIVED_SERVICE_CLASS_NAME = "org.mozilla.gecko.tabqueue.TabReceivedService";
 
     public static final String SKIP_TAB_QUEUE_FLAG = "skip_tab_queue";
 
     public static final String EXTRA_CLIENT_GUID = "org.mozilla.gecko.extra.CLIENT_ID";
 }
--- a/mobile/android/base/java/org/mozilla/gecko/db/BrowserDatabaseHelper.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/BrowserDatabaseHelper.java
@@ -10,44 +10,46 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.mozilla.gecko.GeckoProfile;
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.db.BrowserContract.Bookmarks;
 import org.mozilla.gecko.db.BrowserContract.Combined;
 import org.mozilla.gecko.db.BrowserContract.Favicons;
 import org.mozilla.gecko.db.BrowserContract.History;
+import org.mozilla.gecko.db.BrowserContract.Numbers;
 import org.mozilla.gecko.db.BrowserContract.ReadingListItems;
 import org.mozilla.gecko.db.BrowserContract.SearchHistory;
 import org.mozilla.gecko.db.BrowserContract.Thumbnails;
 import org.mozilla.gecko.db.BrowserContract.UrlAnnotations;
 import org.mozilla.gecko.util.FileUtils;
 
 import static org.mozilla.gecko.db.DBUtils.qualifyColumn;
 
 import android.content.ContentValues;
 import android.content.Context;
 import android.database.Cursor;
 import android.database.DatabaseUtils;
 import android.database.SQLException;
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteException;
 import android.database.sqlite.SQLiteOpenHelper;
+import android.database.sqlite.SQLiteStatement;
 import android.net.Uri;
 import android.os.Build;
 import android.util.Log;
 
 
 // public for robocop testing
 public final class BrowserDatabaseHelper extends SQLiteOpenHelper {
     private static final String LOGTAG = "GeckoBrowserDBHelper";
 
     // Replace the Bug number below with your Bug that is conducting a DB upgrade, as to force a merge conflict with any
     // other patches that require a DB upgrade.
-    public static final int DATABASE_VERSION = 28; // Bug 1250707
+    public static final int DATABASE_VERSION = 29; // Bug 760956
     public static final String DATABASE_NAME = "browser.db";
 
     final protected Context mContext;
 
     static final String TABLE_BOOKMARKS = Bookmarks.TABLE_NAME;
     static final String TABLE_HISTORY = History.TABLE_NAME;
     static final String TABLE_FAVICONS = Favicons.TABLE_NAME;
     static final String TABLE_THUMBNAILS = Thumbnails.TABLE_NAME;
@@ -355,16 +357,17 @@ public final class BrowserDatabaseHelper
             R.string.bookmarks_folder_places, 0);
 
         createOrUpdateAllSpecialFolders(db);
         createSearchHistoryTable(db);
         createReadingListTable(db, TABLE_READING_LIST);
         didCreateCurrentReadingListTable = true;      // Mostly correct, in the absence of transactions.
         createReadingListIndices(db, TABLE_READING_LIST);
         createUrlAnnotationsTable(db);
+        createNumbersTable(db);
     }
 
     /**
      * Copies the tabs and clients tables out of the given tabs.db file and into the destinationDB.
      *
      * @param tabsDBFile Path to existing tabs.db.
      * @param destinationDB The destination database.
      */
@@ -519,16 +522,40 @@ public final class BrowserDatabaseHelper
         if (updated == 0) {
             db.insert(TABLE_BOOKMARKS, Bookmarks.GUID, values);
             debug("Inserted special folder: " + guid);
         } else {
             debug("Updated special folder: " + guid);
         }
     }
 
+    private void createNumbersTable(SQLiteDatabase db) {
+        db.execSQL("CREATE TABLE " + Numbers.TABLE_NAME + " (" + Numbers.POSITION + " INTEGER PRIMARY KEY AUTOINCREMENT)");
+
+        if (db.getVersion() >= 3007011) { // SQLite 3.7.11
+            // This is only available in SQLite >= 3.7.11, see release notes:
+            // "Enhance the INSERT syntax to allow multiple rows to be inserted via the VALUES clause"
+            final String numbers = "(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)," +
+                    "(10),(11),(12),(13),(14),(15),(16),(17),(18),(19)," +
+                    "(20),(21),(22),(23),(24),(25),(26),(27),(28),(29)," +
+                    "(30),(31),(32),(33),(34),(35),(36),(37),(38),(39)," +
+                    "(40),(41),(42),(43),(44),(45),(46),(47),(48),(49)," +
+                    "(50)";
+
+            db.execSQL("INSERT INTO " + Numbers.TABLE_NAME + " (" + Numbers.POSITION + ") VALUES " + numbers);
+        } else {
+            final SQLiteStatement statement = db.compileStatement("INSERT INTO " + Numbers.TABLE_NAME + " (" + Numbers.POSITION + ") VALUES (?)");
+
+            for (int i = 0; i <= Numbers.MAX_VALUE; i++) {
+                statement.bindLong(1, i);
+                statement.executeInsert();
+            }
+        }
+    }
+
     private boolean isSpecialFolder(ContentValues values) {
         String guid = values.getAsString(Bookmarks.GUID);
         if (guid == null) {
             return false;
         }
 
         return guid.equals(Bookmarks.MOBILE_FOLDER_GUID) ||
                guid.equals(Bookmarks.MENU_FOLDER_GUID) ||
@@ -1051,16 +1078,21 @@ public final class BrowserDatabaseHelper
         db.execSQL("DROP INDEX IF EXISTS favicons_url_index");
     }
 
     private void upgradeDatabaseFrom27to28(final SQLiteDatabase db) {
         debug("Adding url annotations table");
         createUrlAnnotationsTable(db);
     }
 
+    private void upgradeDatabaseFrom28to29(SQLiteDatabase db) {
+        debug("Adding numbers table");
+        createNumbersTable(db);
+    }
+
     private void createV19CombinedView(SQLiteDatabase db) {
         db.execSQL("DROP VIEW IF EXISTS " + VIEW_COMBINED);
         db.execSQL("DROP VIEW IF EXISTS " + VIEW_COMBINED_WITH_FAVICONS);
 
         createCombinedViewOn19(db);
     }
 
     @Override
@@ -1138,16 +1170,19 @@ public final class BrowserDatabaseHelper
 
                 case 26:
                     upgradeDatabaseFrom25to26(db);
                     break;
 
                 case 28:
                     upgradeDatabaseFrom27to28(db);
                     break;
+
+                case 29:
+                    upgradeDatabaseFrom28to29(db);
             }
         }
 
         for (Table table : BrowserProvider.sTables) {
             table.onUpgrade(db, oldVersion, newVersion);
         }
 
         // Delete the obsolete favicon database after all other upgrades complete.
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..cbb668a9571489f0abf5705e4652aeebb69335ce
GIT binary patch
literal 176128
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
zKlJ?nSHc@YGkE?V00000000000001h|KIQ*`rmMC_&@zyhMx34O&t`5EG_99+T7nS
z3>_-^SLYo700000000000002MzZ2;De{lT|00000000000002M-y7)re>mYYjQa-w
z00000000000002s?}H#54TGU!&_4*+Y=FN1hZA~X+&=&S00000000000001gLy$-q
z9{T<tEd+-V%tYRccnaf$;D2?l00000000000KmVEbd;1348|dFj5zi%G~AO-i={E6
z84+|gJ$weqo*orOqqA8oo|r^uu}S3E5E7LZNt(}KMv|E<N*GCt<ho!1$&(TmN24c>
zcrW_ko6cDS2|BEirnP9JENgKsYjG`WaV={t;ak><plTbLni=~m@vH{u1dOm7z&9N5
zCoC&1guVuyaR!y{BngE<j}yvC;D*6FDuf&n!7HmLJuD)OK?!5Anb14iXOLXTEOs0@
zlomw_xwJbXf=yb&h$7iAFP)`?(@69v5|vKl9W)ph>u`1~Eh6IAxFm9OM~B`7KcJu!
z%k#<0D{Hh*tq8tLtq?L-mCY?klvXe^md16dMUT?ry5t=*P%KmZ2?93gF@Wzf;9u!;
zFqBu39HN8(H<Uz2Z*Cx6X>lw~5(|1=J&7DeB{8DuQFLy+LYRz55<84Wa*QQ2sdRGG
zR2IqGlSHF(tB{+VO!69$HX?T1LqZ3oym#)$vc{Bki~_faEMCr19xOo27RSS28V1%d
zG~UL>mRmngj7VBEw~XVw%zup8L2-c2fUzqY96K>VZYj}vmK;?y4ytIVsHE1kjikZo
z(nzjkN*EMyHZ4k%<V25R)0m;$b`nLUX_DqJA|q*0Y%-JfYs;9R`ji&_D}PV`D#me>
zf%pHn!w5ZuZ-kG8cic??000000000000000|CykWFt`-7l7v<g&`KOyi49!;KOeaM
z?<Bn8ZUO)R0000000000008(81dW8lQBu$vDG99+-0Oclbp4Nmi-F(&0{{R300000
z00000;O`Ik{XYNz00000000000092}fa`w%00000000000002~{($HI0RR9100000
z00000`1=FC{|5j700000000000O0Qrxc&zK0000000000007|c54ipZ0000000000
z0002szk`+YVg39iKT4(l%At(@j#p3n|5a?HPU;=7t-OZsvt+sBy^(%LE@ulF|1$r*
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