package com.orgzly.android.provider.views; import android.provider.BaseColumns; import com.orgzly.android.provider.GenericDatabaseUtils; import com.orgzly.android.provider.models.DbBook; import com.orgzly.android.provider.models.DbBookLink; import com.orgzly.android.provider.models.DbBookSync; import com.orgzly.android.provider.models.DbRepo; import com.orgzly.android.provider.models.DbRook; import com.orgzly.android.provider.models.DbRookUrl; import com.orgzly.android.provider.models.DbVersionedRook; /** * Books with link's data. */ public class BooksView { static public final String VIEW_NAME = "books_view"; static public final String DROP_SQL = "DROP VIEW IF EXISTS " + VIEW_NAME; static public final String CREATE_SQL = "CREATE VIEW " + VIEW_NAME + " AS " + "SELECT " + DbBook.TABLE + ".*, " + "t_link_rook_repos.repo_url AS " + Columns.LINK_REPO_URL + ", " + "t_link_rook_urls.rook_url AS " + Columns.LINK_ROOK_URL + ", " + "t_sync_revision_rook_repos.repo_url AS " + Columns.SYNCED_REPO_URL + ", " + "t_sync_revision_rook_urls.rook_url AS " + Columns.SYNCED_ROOK_URL + ", " + "t_sync_revisions.rook_revision AS " + Columns.SYNCED_ROOK_REVISION + ", " + "t_sync_revisions.rook_mtime AS " + Columns.SYNCED_ROOK_MTIME + " " + "FROM " + DbBook.TABLE + " " + GenericDatabaseUtils.join(DbBookLink.TABLE, "t_links", DbBookLink.Column.BOOK_ID, DbBook.TABLE, DbBook.Column._ID) + GenericDatabaseUtils.join(DbRook.TABLE, "t_link_rooks", DbRook.Column._ID, "t_links", DbBookLink.Column.ROOK_ID) + GenericDatabaseUtils.join(DbRepo.TABLE, "t_link_rook_repos", DbRepo.Column._ID, "t_link_rooks", DbRook.Column.REPO_ID) + GenericDatabaseUtils.join(DbRookUrl.TABLE, "t_link_rook_urls", DbRookUrl.Column._ID, "t_link_rooks", DbRook.Column.ROOK_URL_ID) + GenericDatabaseUtils.join(DbBookSync.TABLE, "t_syncs", DbBookSync.Column.BOOK_ID, DbBook.TABLE, DbBook.Column._ID) + GenericDatabaseUtils.join(DbVersionedRook.TABLE, "t_sync_revisions", DbVersionedRook.Column._ID, "t_syncs", DbBookSync.Column.BOOK_VERSIONED_ROOK_ID) + GenericDatabaseUtils.join(DbRook.TABLE, "t_sync_revision_rooks", DbRook.Column._ID, "t_sync_revisions", DbVersionedRook.Column.ROOK_ID) + GenericDatabaseUtils.join(DbRepo.TABLE, "t_sync_revision_rook_repos", DbRepo.Column._ID, "t_sync_revision_rooks", DbRook.Column.REPO_ID) + GenericDatabaseUtils.join(DbRookUrl.TABLE, "t_sync_revision_rook_urls", DbRookUrl.Column._ID, "t_sync_revision_rooks", DbRook.Column.ROOK_URL_ID) + ""; public static class Columns implements DbBook.Columns, BaseColumns { public static String LINK_REPO_URL = "link_repo_url"; public static String LINK_ROOK_URL = "link_rook_url"; public static String SYNCED_REPO_URL = "sync_repo_url"; public static String SYNCED_ROOK_URL = "sync_rook_url"; public static String SYNCED_ROOK_REVISION = "sync_rook_revision"; public static String SYNCED_ROOK_MTIME = "sync_rook_mtime"; } }