diff --git a/src/com/android/providers/contacts/ContactsDatabaseHelper.java b/src/com/android/providers/contacts/ContactsDatabaseHelper.java
index 2e37e13..bbde779 100644
--- a/src/com/android/providers/contacts/ContactsDatabaseHelper.java
+++ b/src/com/android/providers/contacts/ContactsDatabaseHelper.java
@@ -122,7 +122,7 @@
      *   1000-1099 M
      * </pre>
      */
-    static final int DATABASE_VERSION = 1008;
+    static final int DATABASE_VERSION = 1009;
 
     public interface Tables {
         public static final String CONTACTS = "contacts";
@@ -1361,7 +1361,8 @@
                 Data.SYNC1 + " TEXT, " +
                 Data.SYNC2 + " TEXT, " +
                 Data.SYNC3 + " TEXT, " +
-                Data.SYNC4 + " TEXT " +
+                Data.SYNC4 + " TEXT, " +
+                Data.CARRIER_PRESENCE + " INTEGER NOT NULL DEFAULT 0 " +
         ");");
 
         db.execSQL("CREATE INDEX data_raw_contact_id ON " + Tables.DATA + " (" +
@@ -2931,6 +2932,11 @@
             oldVersion = 1008;
         }
 
+        if (oldVersion < 1009) {
+            upgradeToVersion1009(db);
+            oldVersion = 1009;
+        }
+
         if (upgradeViewsAndTriggers) {
             createContactsViews(db);
             createGroupsView(db);
@@ -4473,6 +4479,10 @@
                 "raw_contact_backup_id, account_id);");
     }
 
+    public void upgradeToVersion1009(SQLiteDatabase db) {
+        db.execSQL("ALTER TABLE data ADD carrier_presence INTEGER NOT NULL DEFAULT 0");
+    }
+
     public String extractHandleFromEmailAddress(String email) {
         Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(email);
         if (tokens.length == 0) {
diff --git a/tools/contacts-db-schema.sh b/tools/contacts-db-schema.sh
new file mode 100755
index 0000000..3aa164b
--- /dev/null
+++ b/tools/contacts-db-schema.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+set -e
+
+db=/data/data/com.android.providers.contacts/databases/contacts2.db
+
+# Use ls to make sure the file already exists.
+# Otherwise sqlite3 would create an empty file owned by root.
+
+# Sed inserts a newline after each ( and ,
+adb shell "(ls $db >/dev/null)&& sqlite3 $db \"select name, sql from sqlite_master where type in('table','index') order by name\"" |
+    sed -e 's/\([(,]\)/\1\n  /g'
+echo "> sqlite_stat1"
+adb shell "(ls $db >/dev/null)&& sqlite3 $db \"select * from sqlite_stat1 order by tbl, idx, stat\""
+
+
