+ do {
+ /* check if table is missing */
+ const char *query = "SELECT count(*) FROM sqlite_master WHERE type='table'"
+ " AND name IN ('"CTS_TABLE_PERSONS"','"CTS_TABLE_ADDRESSBOOKS"','"CTS_TABLE_CONTACTS"',"
+ "'"CTS_TABLE_DELETEDS"','"CTS_TABLE_VERSION"','"CTS_TABLE_SDN"','"CTS_TABLE_DATA"',"
+ "'"CTS_TABLE_GROUPS"','"CTS_TABLE_GROUP_DELETEDS"','"CTS_TABLE_GROUP_RELATIONS"',"
+ "'"CTS_TABLE_SPEEDDIALS"','"CTS_TABLE_FAVORITES"','"CTS_TABLE_SIM_INFO"',"
+ "'"CTS_TABLE_PHONELOGS"','"CTS_TABLE_PHONELOG_STAT"','"CTS_TABLE_CONTACT_STAT"',"
+ "'"CTS_TABLE_ACTIVITIES"','"CTS_TABLE_ACTIVITY_PHOTOS"','"CTS_TABLE_SEARCH_INDEX"',"
+ "'"CTS_TABLE_NAME_LOOKUP"','"CTS_TABLE_PHONE_LOOKUP"','"CTS_TABLE_MY_PROFILES"')";
+ ret = sqlite3_prepare_v2(db, query, strlen(query), &stmt, NULL);
+ if (SQLITE_OK != ret) {
+ /* LCOV_EXCL_START */
+ ERR("sqlite3_prepare_v2() Fail(%s)", sqlite3_errstr(ret));
+ break;
+ /* LCOV_EXCL_STOP */
+ }
+
+ ret = sqlite3_step(stmt);
+ if (SQLITE_ROW != ret) {
+ /* LCOV_EXCL_START */
+ ERR("sqlite3_step() Fail(%s)", sqlite3_errstr(ret));
+ sqlite3_finalize(stmt);
+ break;
+ /* LCOV_EXCL_STOP */
+ }
+ }while (0);
+
+ switch (ret) {
+ case SQLITE_ROW:
+ break;
+ case SQLITE_DONE:
+ case SQLITE_BUSY:
+ case SQLITE_LOCKED:
+ case SQLITE_FULL:
+ case SQLITE_CONSTRAINT:
+ case SQLITE_NOMEM: