package ml.docilealligator.infinityforreddit; import android.content.Context; import android.database.Cursor; import android.graphics.Color; import androidx.annotation.NonNull; import androidx.room.Database; import androidx.room.Room; import androidx.room.RoomDatabase; import androidx.room.migration.Migration; import androidx.sqlite.db.SupportSQLiteDatabase; import ml.docilealligator.infinityforreddit.account.Account; import ml.docilealligator.infinityforreddit.account.AccountDao; import ml.docilealligator.infinityforreddit.commentfilter.CommentFilter; import ml.docilealligator.infinityforreddit.commentfilter.CommentFilterDao; import ml.docilealligator.infinityforreddit.commentfilter.CommentFilterUsage; import ml.docilealligator.infinityforreddit.commentfilter.CommentFilterUsageDao; import ml.docilealligator.infinityforreddit.customtheme.CustomTheme; import ml.docilealligator.infinityforreddit.customtheme.CustomThemeDao; import ml.docilealligator.infinityforreddit.multireddit.AnonymousMultiredditSubreddit; import ml.docilealligator.infinityforreddit.multireddit.AnonymousMultiredditSubredditDao; import ml.docilealligator.infinityforreddit.multireddit.MultiReddit; import ml.docilealligator.infinityforreddit.multireddit.MultiRedditDao; import ml.docilealligator.infinityforreddit.postfilter.PostFilter; import ml.docilealligator.infinityforreddit.postfilter.PostFilterDao; import ml.docilealligator.infinityforreddit.postfilter.PostFilterUsage; import ml.docilealligator.infinityforreddit.postfilter.PostFilterUsageDao; import ml.docilealligator.infinityforreddit.readpost.ReadPost; import ml.docilealligator.infinityforreddit.readpost.ReadPostDao; import ml.docilealligator.infinityforreddit.recentsearchquery.RecentSearchQuery; import ml.docilealligator.infinityforreddit.recentsearchquery.RecentSearchQueryDao; import ml.docilealligator.infinityforreddit.subreddit.SubredditDao; import ml.docilealligator.infinityforreddit.subreddit.SubredditData; import ml.docilealligator.infinityforreddit.subscribedsubreddit.SubscribedSubredditDao; import ml.docilealligator.infinityforreddit.subscribedsubreddit.SubscribedSubredditData; import ml.docilealligator.infinityforreddit.subscribeduser.SubscribedUserDao; import ml.docilealligator.infinityforreddit.subscribeduser.SubscribedUserData; import ml.docilealligator.infinityforreddit.user.UserDao; import ml.docilealligator.infinityforreddit.user.UserData; @Database(entities = {Account.class, SubredditData.class, SubscribedSubredditData.class, UserData.class, SubscribedUserData.class, MultiReddit.class, CustomTheme.class, RecentSearchQuery.class, ReadPost.class, PostFilter.class, PostFilterUsage.class, AnonymousMultiredditSubreddit.class, CommentFilter.class, CommentFilterUsage.class}, version = 27) public abstract class RedditDataRoomDatabase extends RoomDatabase { public static RedditDataRoomDatabase create(final Context context) { return Room.databaseBuilder(context.getApplicationContext(), RedditDataRoomDatabase.class, "reddit_data") .addMigrations(MIGRATION_1_2, MIGRATION_2_3, MIGRATION_3_4, MIGRATION_4_5, MIGRATION_5_6, MIGRATION_6_7, MIGRATION_7_8, MIGRATION_8_9, MIGRATION_9_10, MIGRATION_10_11, MIGRATION_11_12, MIGRATION_12_13, MIGRATION_13_14, MIGRATION_14_15, MIGRATION_15_16, MIGRATION_16_17, MIGRATION_17_18, MIGRATION_18_19, MIGRATION_19_20, MIGRATION_20_21, MIGRATION_21_22, MIGRATION_22_23, MIGRATION_23_24, MIGRATION_24_25, MIGRATION_25_26, MIGRATION_26_27) .build(); } public abstract AccountDao accountDao(); public abstract SubredditDao subredditDao(); public abstract SubscribedSubredditDao subscribedSubredditDao(); public abstract UserDao userDao(); public abstract SubscribedUserDao subscribedUserDao(); public abstract MultiRedditDao multiRedditDao(); public abstract CustomThemeDao customThemeDao(); public abstract RecentSearchQueryDao recentSearchQueryDao(); public abstract ReadPostDao readPostDao(); public abstract PostFilterDao postFilterDao(); public abstract PostFilterUsageDao postFilterUsageDao(); public abstract AnonymousMultiredditSubredditDao anonymousMultiredditSubredditDao(); public abstract CommentFilterDao commentFilterDao(); public abstract CommentFilterUsageDao commentFilterUsageDao(); private static final Migration MIGRATION_1_2 = new Migration(1, 2) { @Override public void migrate(SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE subscribed_subreddits" + " ADD COLUMN is_favorite INTEGER DEFAULT 0 NOT NULL"); database.execSQL("ALTER TABLE subscribed_users" + " ADD COLUMN is_favorite INTEGER DEFAULT 0 NOT NULL"); } }; private static final Migration MIGRATION_2_3 = new Migration(2, 3) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("CREATE TABLE subscribed_subreddits_temp " + "(id TEXT NOT NULL, name TEXT, icon TEXT, username TEXT NOT NULL, " + "is_favorite INTEGER NOT NULL, PRIMARY KEY(id, username), " + "FOREIGN KEY(username) REFERENCES accounts(username) ON DELETE CASCADE)"); database.execSQL( "INSERT INTO subscribed_subreddits_temp SELECT * FROM subscribed_subreddits"); database.execSQL("DROP TABLE subscribed_subreddits"); database.execSQL("ALTER TABLE subscribed_subreddits_temp RENAME TO subscribed_subreddits"); database.execSQL("CREATE TABLE subscribed_users_temp " + "(name TEXT NOT NULL, icon TEXT, username TEXT NOT NULL, " + "is_favorite INTEGER NOT NULL, PRIMARY KEY(name, username), " + "FOREIGN KEY(username) REFERENCES accounts(username) ON DELETE CASCADE)"); database.execSQL( "INSERT INTO subscribed_users_temp SELECT * FROM subscribed_users"); database.execSQL("DROP TABLE subscribed_users"); database.execSQL("ALTER TABLE subscribed_users_temp RENAME TO subscribed_users"); } }; private static final Migration MIGRATION_3_4 = new Migration(3, 4) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("CREATE TABLE multi_reddits" + "(path TEXT NOT NULL, username TEXT NOT NULL, name TEXT NOT NULL, " + "display_name TEXT NOT NULL, description TEXT, copied_from TEXT, " + "n_subscribers INTEGER NOT NULL, icon_url TEXT, created_UTC INTEGER NOT NULL, " + "visibility TEXT, over_18 INTEGER NOT NULL, is_subscriber INTEGER NOT NULL, " + "is_favorite INTEGER NOT NULL, PRIMARY KEY(path, username), " + "FOREIGN KEY(username) REFERENCES accounts(username) ON DELETE CASCADE)"); } }; private static final Migration MIGRATION_4_5 = new Migration(4, 5) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE subreddits" + " ADD COLUMN sidebar_description TEXT"); } }; private static final Migration MIGRATION_5_6 = new Migration(5, 6) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("CREATE TABLE custom_themes" + "(name TEXT NOT NULL PRIMARY KEY, is_light_theme INTEGER NOT NULL," + "is_dark_theme INTEGER NOT NULL, is_amoled_theme INTEGER NOT NULL, color_primary INTEGER NOT NULL," + "color_primary_dark INTEGER NOT NULL, color_accent INTEGER NOT NULL," + "color_primary_light_theme INTEGER NOT NULL, primary_text_color INTEGER NOT NULL," + "secondary_text_color INTEGER NOT NULL, post_title_color INTEGER NOT NULL," + "post_content_color INTEGER NOT NULL, comment_color INTEGER NOT NULL," + "button_text_color INTEGER NOT NULL, background_color INTEGER NOT NULL," + "card_view_background_color INTEGER NOT NULL, comment_background_color INTEGER NOT NULL," + "bottom_app_bar_background_color INTEGER NOT NULL, primary_icon_color INTEGER NOT NULL," + "post_icon_and_info_color INTEGER NOT NULL," + "comment_icon_and_info_color INTEGER NOT NULL, toolbar_primary_text_and_icon_color INTEGER NOT NULL," + "toolbar_secondary_text_color INTEGER NOT NULL, circular_progress_bar_background INTEGER NOT NULL," + "tab_layout_with_expanded_collapsing_toolbar_tab_background INTEGER NOT NULL," + "tab_layout_with_expanded_collapsing_toolbar_text_color INTEGER NOT NULL," + "tab_layout_with_expanded_collapsing_toolbar_tab_indicator INTEGER NOT NULL," + "tab_layout_with_collapsed_collapsing_toolbar_tab_background INTEGER NOT NULL," + "tab_layout_with_collapsed_collapsing_toolbar_text_color INTEGER NOT NULL," + "tab_layout_with_collapsed_collapsing_toolbar_tab_indicator INTEGER NOT NULL," + "nav_bar_color INTEGER NOT NULL, upvoted INTEGER NOT NULL, downvoted INTEGER NOT NULL," + "post_type_background_color INTEGER NOT NULL, post_type_text_color INTEGER NOT NULL," + "spoiler_background_color INTEGER NOT NULL, spoiler_text_color INTEGER NOT NULL," + "nsfw_background_color INTEGER NOT NULL, nsfw_text_color INTEGER NOT NULL," + "flair_background_color INTEGER NOT NULL, flair_text_color INTEGER NOT NULL," + "archived_tint INTEGER NOT NULL, locked_icon_tint INTEGER NOT NULL," + "crosspost_icon_tint INTEGER NOT NULL, stickied_post_icon_tint INTEGER NOT NULL, subscribed INTEGER NOT NULL," + "unsubscribed INTEGER NOT NULL, username INTEGER NOT NULL, subreddit INTEGER NOT NULL," + "author_flair_text_color INTEGER NOT NULL, submitter INTEGER NOT NULL," + "moderator INTEGER NOT NULL, single_comment_thread_background_color INTEGER NOT NULL," + "unread_message_background_color INTEGER NOT NULL, divider_color INTEGER NOT NULL," + "no_preview_link_background_color INTEGER NOT NULL," + "vote_and_reply_unavailable_button_color INTEGER NOT NULL," + "comment_vertical_bar_color_1 INTEGER NOT NULL, comment_vertical_bar_color_2 INTEGER NOT NULL," + "comment_vertical_bar_color_3 INTEGER NOT NULL, comment_vertical_bar_color_4 INTEGER NOT NULL," + "comment_vertical_bar_color_5 INTEGER NOT NULL, comment_vertical_bar_color_6 INTEGER NOT NULL," + "comment_vertical_bar_color_7 INTEGER NOT NULL, fab_icon_color INTEGER NOT NULL," + "chip_text_color INTEGER NOT NULL, is_light_status_bar INTEGER NOT NULL," + "is_light_nav_bar INTEGER NOT NULL," + "is_change_status_bar_icon_color_after_toolbar_collapsed_in_immersive_interface INTEGER NOT NULL)"); } }; private static final Migration MIGRATION_6_7 = new Migration(6, 7) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE custom_themes ADD COLUMN awards_background_color INTEGER DEFAULT " + Color.parseColor("#EEAB02") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes ADD COLUMN awards_text_color INTEGER DEFAULT " + Color.parseColor("#FFFFFF") + " NOT NULL"); } }; private static final Migration MIGRATION_7_8 = new Migration(7, 8) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("CREATE TABLE users_temp " + "(name TEXT NOT NULL PRIMARY KEY, icon TEXT, banner TEXT, " + "link_karma INTEGER NOT NULL, comment_karma INTEGER DEFAULT 0 NOT NULL, created_utc INTEGER DEFAULT 0 NOT NULL," + "is_gold INTEGER NOT NULL, is_friend INTEGER NOT NULL, can_be_followed INTEGER NOT NULL," + "description TEXT)"); database.execSQL( "INSERT INTO users_temp(name, icon, banner, link_karma, is_gold, is_friend, can_be_followed) SELECT * FROM users"); database.execSQL("DROP TABLE users"); database.execSQL("ALTER TABLE users_temp RENAME TO users"); database.execSQL("ALTER TABLE subreddits" + " ADD COLUMN created_utc INTEGER DEFAULT 0 NOT NULL"); database.execSQL("ALTER TABLE custom_themes" + " ADD COLUMN bottom_app_bar_icon_color INTEGER DEFAULT " + Color.parseColor("#000000") + " NOT NULL"); } }; private static final Migration MIGRATION_8_9 = new Migration(8, 9) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE custom_themes" + " ADD COLUMN link_color INTEGER DEFAULT " + Color.parseColor("#FF1868") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes" + " ADD COLUMN received_message_text_color INTEGER DEFAULT " + Color.parseColor("#FFFFFF") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes" + " ADD COLUMN sent_message_text_color INTEGER DEFAULT " + Color.parseColor("#FFFFFF") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes" + " ADD COLUMN received_message_background_color INTEGER DEFAULT " + Color.parseColor("#4185F4") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes" + " ADD COLUMN sent_message_background_color INTEGER DEFAULT " + Color.parseColor("#31BF7D") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes" + " ADD COLUMN send_message_icon_color INTEGER DEFAULT " + Color.parseColor("#4185F4") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes" + " ADD COLUMN fully_collapsed_comment_background_color INTEGER DEFAULT " + Color.parseColor("#8EDFBA") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes" + " ADD COLUMN awarded_comment_background_color INTEGER DEFAULT " + Color.parseColor("#FFF162") + " NOT NULL"); } }; private static final Migration MIGRATION_9_10 = new Migration(9, 10) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("CREATE TABLE recent_search_queries" + "(username TEXT NOT NULL, search_query TEXT NOT NULL, PRIMARY KEY(username, search_query), " + "FOREIGN KEY(username) REFERENCES accounts(username) ON DELETE CASCADE)"); database.execSQL("ALTER TABLE subreddits" + " ADD COLUMN suggested_comment_sort TEXT"); database.execSQL("ALTER TABLE subreddits" + " ADD COLUMN over18 INTEGER DEFAULT 0 NOT NULL"); } }; private static final Migration MIGRATION_10_11 = new Migration(10, 11) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE users" + " ADD COLUMN awarder_karma INTEGER DEFAULT 0 NOT NULL"); database.execSQL("ALTER TABLE users" + " ADD COLUMN awardee_karma INTEGER DEFAULT 0 NOT NULL"); database.execSQL("ALTER TABLE users" + " ADD COLUMN total_karma INTEGER DEFAULT 0 NOT NULL"); database.execSQL("ALTER TABLE users" + " ADD COLUMN over_18 INTEGER DEFAULT 0 NOT NULL"); } }; private static final Migration MIGRATION_11_12 = new Migration(11, 12) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("CREATE TABLE subreddit_filter" + "(subreddit_name TEXT NOT NULL, type INTEGER NOT NULL, PRIMARY KEY(subreddit_name, type))"); } }; private static final Migration MIGRATION_12_13 = new Migration(12, 13) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE custom_themes" + " ADD COLUMN no_preview_post_type_icon_tint INTEGER DEFAULT " + Color.parseColor("#808080") + " NOT NULL"); } }; private static final Migration MIGRATION_13_14 = new Migration(13, 14) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("CREATE TABLE read_posts" + "(username TEXT NOT NULL, id TEXT NOT NULL, PRIMARY KEY(username, id), " + "FOREIGN KEY(username) REFERENCES accounts(username) ON DELETE CASCADE)"); database.execSQL("ALTER TABLE custom_themes ADD COLUMN read_post_title_color INTEGER DEFAULT " + Color.parseColor("#9D9D9D") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes ADD COLUMN read_post_content_color INTEGER DEFAULT " + Color.parseColor("#9D9D9D") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes ADD COLUMN read_post_card_view_background_color INTEGER DEFAULT " + Color.parseColor("#F5F5F5") + " NOT NULL"); } }; private static final Migration MIGRATION_14_15 = new Migration(14, 15) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("CREATE TABLE post_filter" + "(name TEXT NOT NULL PRIMARY KEY, max_vote INTEGER NOT NULL, min_vote INTEGER NOT NULL, " + "max_comments INTEGER NOT NULL, min_comments INTEGER NOT NULL, max_awards INTEGER NOT NULL, " + "min_awards INTEGER NOT NULL, only_nsfw INTEGER NOT NULL, only_spoiler INTEGER NOT NULL, " + "post_title_excludes_regex TEXT, post_title_excludes_strings TEXT, exclude_subreddits TEXT, " + "exclude_users TEXT, contain_flairs TEXT, exclude_flairs TEXT, contain_text_type INTEGER NOT NULL, " + "contain_link_type INTEGER NOT NULL, contain_image_type INTEGER NOT NULL, " + "contain_gif_type INTEGER NOT NULL, contain_video_type INTEGER NOT NULL, " + "contain_gallery_type INTEGER NOT NULL)"); database.execSQL("CREATE TABLE post_filter_usage (name TEXT NOT NULL, usage INTEGER NOT NULL, " + "name_of_usage TEXT NOT NULL, PRIMARY KEY(name, usage, name_of_usage), FOREIGN KEY(name) REFERENCES post_filter(name) ON DELETE CASCADE)"); } }; private static final Migration MIGRATION_15_16 = new Migration(15, 16) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("DROP TABLE subreddit_filter"); } }; private static final Migration MIGRATION_16_17 = new Migration(16, 17) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("UPDATE accounts SET is_current_user = 0"); } }; private static final Migration MIGRATION_17_18 = new Migration(17, 18) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE custom_themes ADD COLUMN current_user INTEGER DEFAULT " + Color.parseColor("#00D5EA") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes ADD COLUMN upvote_ratio_icon_tint INTEGER DEFAULT " + Color.parseColor("#0256EE") + " NOT NULL"); } }; private static final Migration MIGRATION_18_19 = new Migration(18, 19) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("INSERT INTO accounts(username, karma, is_current_user) VALUES (\"-\", 0, 0)"); } }; private static final Migration MIGRATION_19_20 = new Migration(19, 20) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE post_filter ADD COLUMN exclude_domains TEXT"); } }; private static final Migration MIGRATION_20_21 = new Migration(20, 21) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("CREATE TABLE anonymous_multireddit_subreddits (path TEXT NOT NULL, " + "username TEXT NOT NULL, subreddit_name TEXT NOT NULL, " + "PRIMARY KEY(path, username, subreddit_name), FOREIGN KEY(path, username) REFERENCES multi_reddits(path, username) ON DELETE CASCADE ON UPDATE CASCADE)"); database.execSQL("ALTER TABLE recent_search_queries ADD COLUMN time INTEGER DEFAULT 0 NOT NULL"); database.execSQL("ALTER TABLE custom_themes ADD COLUMN media_indicator_icon_color INTEGER DEFAULT " + Color.parseColor("#FFFFFF") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes ADD COLUMN media_indicator_background_color INTEGER DEFAULT " + Color.parseColor("#000000") + " NOT NULL"); database.execSQL("ALTER TABLE post_filter ADD COLUMN post_title_contains_strings TEXT"); database.execSQL("ALTER TABLE post_filter ADD COLUMN post_title_contains_regex TEXT"); database.execSQL("ALTER TABLE post_filter ADD COLUMN contain_domains TEXT"); } }; private static final Migration MIGRATION_21_22 = new Migration(21, 22) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE users ADD COLUMN title TEXT"); } }; private static final Migration MIGRATION_22_23 = new Migration(22, 23) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE read_posts ADD COLUMN time INTEGER DEFAULT 0 NOT NULL"); Cursor cursor = database.query("SELECT * FROM read_posts"); int row = 0; database.beginTransaction(); try { while (cursor.moveToNext()) { int index; index = cursor.getColumnIndexOrThrow("username"); String username = cursor.getString(index); index = cursor.getColumnIndexOrThrow("id"); String id = cursor.getString(index); database.execSQL("UPDATE read_posts SET time = " + row++ + " WHERE username = '" + username + "' AND id = '" + id + "'"); } database.setTransactionSuccessful(); } finally { database.endTransaction(); } } }; private static final Migration MIGRATION_23_24 = new Migration(23, 24) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE custom_themes ADD COLUMN filled_card_view_background_color INTEGER DEFAULT " + Color.parseColor("#E6F4FF") + " NOT NULL"); database.execSQL("ALTER TABLE custom_themes ADD COLUMN read_post_filled_card_view_background_color INTEGER DEFAULT " + Color.parseColor("#F5F5F5") + " NOT NULL"); } }; private static final Migration MIGRATION_24_25 = new Migration(24, 25) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("CREATE TABLE comment_filter " + "(name TEXT NOT NULL PRIMARY KEY, max_vote INTEGER NOT NULL, min_vote INTEGER NOT NULL, exclude_strings TEXT, exclude_users TEXT)"); database.execSQL("CREATE TABLE comment_filter_usage (name TEXT NOT NULL, usage INTEGER NOT NULL, " + "name_of_usage TEXT NOT NULL, PRIMARY KEY(name, usage, name_of_usage), FOREIGN KEY(name) REFERENCES comment_filter(name) ON DELETE CASCADE)"); } }; private static final Migration MIGRATION_25_26 = new Migration(25, 26) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE comment_filter ADD COLUMN display_mode INTEGER DEFAULT 0 NOT NULL"); } }; private static final Migration MIGRATION_26_27 = new Migration(26, 27) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE recent_search_queries ADD COLUMN search_in_subreddit_or_user_name TEXT"); database.execSQL("ALTER TABLE recent_search_queries ADD COLUMN search_in_multireddit_path TEXT"); database.execSQL("ALTER TABLE recent_search_queries ADD COLUMN search_in_multireddit_display_name TEXT"); database.execSQL("ALTER TABLE recent_search_queries ADD COLUMN search_in_thing_type INTEGER DEFAULT 0 NOT NULL"); } }; }