package me.devsaki.hentoid.database.constants; /** * Created by DevSaki on 10/05/2015. * db Content Table */ public abstract class ContentTable { public static final String TABLE_NAME = "content"; public static final String INSERT_STATEMENT = "INSERT OR REPLACE INTO " + TABLE_NAME + " VALUES (?,?,?,?,?,?,?,?,?,?,?,?);"; public static final String LIMIT_BY_PAGE = " LIMIT ?,?"; private static final String ID_COLUMN = "id"; public static final String DELETE_STATEMENT = "DELETE FROM " + TABLE_NAME + " WHERE " + ID_COLUMN + " = ?"; private static final String UNIQUE_SITE_ID_COLUMN = "unique_site_id"; private static final String CATEGORY_COLUMN = "category"; private static final String URL_COLUMN = "url"; private static final String TITLE_COLUMN = "title"; public static final String ORDER_ALPHABETIC = " ORDER BY C." + TITLE_COLUMN; private static final String HTML_DESCRIPTION_COLUMN = "html_description"; private static final String QTY_PAGES_COLUMN = "qty_pages"; private static final String UPLOAD_DATE_COLUMN = "upload_date"; private static final String DOWNLOAD_DATE_COLUMN = "download_date"; public static final String ORDER_BY_DATE = " ORDER BY C." + DOWNLOAD_DATE_COLUMN + " DESC"; private static final String STATUS_COLUMN = "status"; public static final String UPDATE_CONTENT_DOWNLOAD_DATE_STATUS_STATEMENT = "UPDATE " + TABLE_NAME + " SET " + DOWNLOAD_DATE_COLUMN + " = ?, " + STATUS_COLUMN + " = ? WHERE " + ID_COLUMN + " = ?"; public static final String UPDATE_CONTENT_STATUS_STATEMENT = "UPDATE " + TABLE_NAME + " SET " + STATUS_COLUMN + " = ? WHERE " + STATUS_COLUMN + " = ?"; private static final String COVER_IMAGE_URL_COLUMN = "cover_image_url"; private static final String SITE_COLUMN = "site"; public static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "(" + ID_COLUMN + " INTEGER PRIMARY KEY," + UNIQUE_SITE_ID_COLUMN + " TEXT," + CATEGORY_COLUMN + " TEXT," + URL_COLUMN + " TEXT," + HTML_DESCRIPTION_COLUMN + " TEXT," + TITLE_COLUMN + " TEXT" + "," + QTY_PAGES_COLUMN + " INTEGER" + "," + UPLOAD_DATE_COLUMN + " INTEGER" + "," + DOWNLOAD_DATE_COLUMN + " INTEGER" + "," + STATUS_COLUMN + " INTEGER" + "," + COVER_IMAGE_URL_COLUMN + " TEXT" + "," + SITE_COLUMN + " INTEGER" + ")"; public static final String SELECT_BY_CONTENT_ID = "SELECT " + ID_COLUMN + ", " + UNIQUE_SITE_ID_COLUMN + ", " + CATEGORY_COLUMN + ", " + URL_COLUMN + ", " + TITLE_COLUMN + ", " + HTML_DESCRIPTION_COLUMN + ", " + QTY_PAGES_COLUMN + ", " + UPLOAD_DATE_COLUMN + ", " + DOWNLOAD_DATE_COLUMN + ", " + STATUS_COLUMN + ", " + COVER_IMAGE_URL_COLUMN + ", " + SITE_COLUMN + " FROM " + TABLE_NAME + " C WHERE C." + ID_COLUMN + " = ?"; public static final String SELECT_BY_STATUS = "SELECT " + ID_COLUMN + ", " + UNIQUE_SITE_ID_COLUMN + ", " + CATEGORY_COLUMN + ", " + URL_COLUMN + ", " + TITLE_COLUMN + ", " + HTML_DESCRIPTION_COLUMN + ", " + QTY_PAGES_COLUMN + ", " + UPLOAD_DATE_COLUMN + ", " + DOWNLOAD_DATE_COLUMN + ", " + STATUS_COLUMN + ", " + COVER_IMAGE_URL_COLUMN + ", " + SITE_COLUMN + " FROM " + TABLE_NAME + " C WHERE C." + STATUS_COLUMN + " = ? ORDER BY C." + DOWNLOAD_DATE_COLUMN; public static final String SELECT_IN_DOWNLOAD_MANAGER = "SELECT " + ID_COLUMN + ", " + UNIQUE_SITE_ID_COLUMN + ", " + CATEGORY_COLUMN + ", " + URL_COLUMN + ", " + TITLE_COLUMN + ", " + HTML_DESCRIPTION_COLUMN + ", " + QTY_PAGES_COLUMN + ", " + UPLOAD_DATE_COLUMN + ", " + DOWNLOAD_DATE_COLUMN + ", " + STATUS_COLUMN + ", " + COVER_IMAGE_URL_COLUMN + ", " + SITE_COLUMN + " FROM " + TABLE_NAME + " C WHERE C." + STATUS_COLUMN + " in (?, ?) ORDER BY C." + STATUS_COLUMN + ", C." + DOWNLOAD_DATE_COLUMN; public static final String SELECT_DOWNLOADS = "SELECT C." + ID_COLUMN + ", C." + UNIQUE_SITE_ID_COLUMN + ", C." + CATEGORY_COLUMN + ", C." + URL_COLUMN + ", C." + TITLE_COLUMN + ", C." + HTML_DESCRIPTION_COLUMN + ", C." + QTY_PAGES_COLUMN + ", C." + UPLOAD_DATE_COLUMN + ", C." + DOWNLOAD_DATE_COLUMN + ", C." + STATUS_COLUMN + ", C." + COVER_IMAGE_URL_COLUMN + ", C." + SITE_COLUMN + " FROM " + TABLE_NAME + " C WHERE C." + STATUS_COLUMN + " in (?, ?, ?) AND (C." + TITLE_COLUMN + " like ? OR C." + ID_COLUMN + " in (" + "SELECT CA." + ContentAttributeTable.CONTENT_ID_COLUMN + " FROM " + ContentAttributeTable.TABLE_NAME + " CA INNER JOIN " + AttributeTable.TABLE_NAME + " A ON CA." + ContentAttributeTable.ATTRIBUTE_ID_COLUMN + " = A." + AttributeTable.ID_COLUMN + " WHERE A." + AttributeTable.NAME_COLUMN + " like ? AND A." + AttributeTable.TYPE_COLUMN + " in (?, ?, ?)))"; }