1 /* 2 * Copyright (C) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef BACKUP_CONST_COLUMN_H 17 #define BACKUP_CONST_COLUMN_H 18 19 #include "backup_const.h" 20 #include "media_smart_album_column.h" 21 22 namespace OHOS { 23 namespace Media { 24 const int32_t IS_LOCAL_TRUE = 1; 25 const int32_t RENAME_OPERATION_RENAMED = 1; 26 const std::string DEFAULT_BACKUP_VERSION = "backup1.0"; 27 const std::string GALLERY_TABLE_MERGE_FACE = "merge_face"; 28 const std::string GALLERY_TABLE_MERGE_TAG = "merge_tag"; 29 const std::string GALLERY_TABLE_MEDIA = "gallery_media"; 30 const std::string GALLERY_TABLE_FACE = "face"; 31 const std::string GALLERY_TAG_ID = "tag_id"; 32 const std::string GALLERY_FACE_ID = "face_id"; 33 const std::string GALLERY_GROUP_TAG = "merge_tag.group_tag"; 34 const std::string GALLERY_TAG_NAME = "merge_tag.tag_name"; 35 const std::string GALLERY_USER_OPERATION = "merge_tag.user_operation"; 36 const std::string GALLERY_RENAME_OPERATION = "merge_tag.rename_operation"; 37 const std::string GALLERY_SCALE_X = "merge_face.scale_x"; 38 const std::string GALLERY_SCALE_Y = "merge_face.scale_y"; 39 const std::string GALLERY_SCALE_WIDTH = "merge_face.scale_width"; 40 const std::string GALLERY_SCALE_HEIGHT = "merge_face.scale_height"; 41 const std::string GALLERY_PITCH = "merge_face.pitch"; 42 const std::string GALLERY_YAW = "merge_face.yaw"; 43 const std::string GALLERY_ROLL = "merge_face.roll"; 44 const std::string GALLERY_PROB = "merge_face.prob"; 45 const std::string GALLERY_TOTAL_FACE = "merge_face.total_face"; 46 const std::string GALLERY_MERGE_FACE_HASH = GALLERY_TABLE_MERGE_FACE + "." + GALLERY_HASH; 47 const std::string GALLERY_MERGE_FACE_TAG_ID = GALLERY_TABLE_MERGE_FACE + "." + GALLERY_TAG_ID; 48 const std::string GALLERY_MERGE_TAG_TAG_ID = GALLERY_TABLE_MERGE_TAG + "." + GALLERY_TAG_ID; 49 const std::string GALLERY_MEDIA_ID = GALLERY_TABLE_MEDIA + "." + GALLERY_ID; 50 const std::string GALLERY_MEDIA_HASH = GALLERY_TABLE_MEDIA + "." + GALLERY_HASH; 51 const std::string GALLERY_FACE_HASH = GALLERY_TABLE_FACE + "." + GALLERY_HASH; 52 const std::string GALLERY_MERGE_FACE_FACE_ID = GALLERY_TABLE_MERGE_FACE + "." + GALLERY_FACE_ID; 53 const std::string GALLERY_FACE_FACE_ID = GALLERY_TABLE_FACE + "." + GALLERY_FACE_ID; 54 const std::string E_VERSION = "-1"; 55 const std::string TAG_ID_PREFIX = "ser_"; 56 const std::string TAG_ID_UNPROCESSED = "-1"; 57 58 /* AnalysisAlbum TBL COL_NAME */ 59 const std::string ANALYSIS_COL_ALBUM_ID = "album_id"; 60 const std::string ANALYSIS_COL_ALBUM_TYPE = "album_type"; 61 const std::string ANALYSIS_COL_ALBUM_SUBTYPE = "album_subtype"; 62 const std::string ANALYSIS_COL_ALBUM_NAME = "album_name"; 63 const std::string ANALYSIS_COL_COVER_URI = "cover_uri"; 64 const std::string ANALYSIS_COL_COUNT = "count"; 65 const std::string ANALYSIS_COL_DATE_MODIFIED = "date_modified"; 66 const std::string ANALYSIS_COL_RANK = "rank"; 67 const std::string ANALYSIS_COL_TAG_ID = "tag_id"; 68 const std::string ANALYSIS_COL_USER_OPERATION = "user_operation"; 69 const std::string ANALYSIS_COL_GROUP_TAG = "group_tag"; 70 const std::string ANALYSIS_COL_USER_DISPLAY_LEVEL = "user_display_level"; 71 const std::string ANALYSIS_COL_IS_ME = "is_me"; 72 const std::string ANALYSIS_COL_IS_REMOVED = "is_removed"; 73 const std::string ANALYSIS_COL_RENAME_OPERATION = "rename_operation"; 74 const std::string ANALYSIS_COL_IS_LOCAL = "is_local"; 75 const std::string ANALYSIS_COL_IS_COVER_SATISFIED = "is_cover_satisfied"; 76 77 /* FaceTag TBL COL_NAME */ 78 const std::string FACE_TAG_COL_ID = "id"; 79 const std::string FACE_TAG_COL_TAG_ID = "tag_id"; 80 const std::string FACE_TAG_COL_TAG_NAME = "tag_name"; 81 const std::string FACE_TAG_COL_USER_OPERATION = "user_operation"; 82 const std::string FACE_TAG_COL_GROUP_TAG = "group_tag"; 83 const std::string FACE_TAG_COL_RENAME_OPERATION = "rename_operation"; 84 const std::string FACE_TAG_COL_CENTER_FEATURES = "center_features"; 85 const std::string FACE_TAG_COL_TAG_VERSION = "tag_version"; 86 const std::string FACE_TAG_COL_USER_DISPLAY_LEVEL = "user_display_level"; 87 const std::string FACE_TAG_COL_TAG_ORDER = "tag_order"; 88 const std::string FACE_TAG_COL_IS_ME = "is_me"; 89 const std::string FACE_TAG_COL_COVER_URI = "cover_uri"; 90 const std::string FACE_TAG_COL_COUNT = "count"; 91 const std::string FACE_TAG_COL_DATE_MODIFY = "date_modify"; 92 const std::string FACE_TAG_COL_ALBUM_TYPE = "album_type"; 93 const std::string FACE_TAG_COL_IS_REMOVED = "is_removed"; 94 const std::string FACE_TAG_COL_ANALYSIS_VERSION = "analysis_version"; 95 96 // image_face_tbl COL_NAME 97 const std::string IMAGE_FACE_COL_ID = "id"; 98 const std::string IMAGE_FACE_COL_FILE_ID = "file_id"; 99 const std::string IMAGE_FACE_COL_FACE_ID = "face_id"; 100 const std::string IMAGE_FACE_COL_TAG_ID = "tag_id"; 101 const std::string IMAGE_FACE_COL_SCALE_X = "scale_x"; 102 const std::string IMAGE_FACE_COL_SCALE_Y = "scale_y"; 103 const std::string IMAGE_FACE_COL_SCALE_WIDTH = "scale_width"; 104 const std::string IMAGE_FACE_COL_SCALE_HEIGHT = "scale_height"; 105 const std::string IMAGE_FACE_COL_LANDMARKS = "landmarks"; 106 const std::string IMAGE_FACE_COL_PITCH = "pitch"; 107 const std::string IMAGE_FACE_COL_YAW = "yaw"; 108 const std::string IMAGE_FACE_COL_ROLL = "roll"; 109 const std::string IMAGE_FACE_COL_PROB = "prob"; 110 const std::string IMAGE_FACE_COL_TOTAL_FACES = "total_faces"; 111 const std::string IMAGE_FACE_COL_FACE_VERSION = "face_version"; 112 const std::string IMAGE_FACE_COL_FEATURES_VERSION = "features_version"; 113 const std::string IMAGE_FACE_COL_FEATURES = "features"; 114 const std::string IMAGE_FACE_COL_FACE_OCCLUSION = "face_occlusion"; 115 const std::string IMAGE_FACE_COL_ANALYSIS_VERSION = "analysis_version"; 116 const std::string IMAGE_FACE_COL_BEAUTY_BOUNDER_X = "beauty_bounder_x"; 117 const std::string IMAGE_FACE_COL_BEAUTY_BOUNDER_Y = "beauty_bounder_y"; 118 const std::string IMAGE_FACE_COL_BEAUTY_BOUNDER_WIDTH = "beauty_bounder_width"; 119 const std::string IMAGE_FACE_COL_BEAUTY_BOUNDER_HEIGHT = "beauty_bounder_height"; 120 const std::string IMAGE_FACE_COL_AESTHETICS_SCORE = "aesthetics_score"; 121 const std::string IMAGE_FACE_COL_BEAUTY_BOUNDER_VERSION = "beauty_bounder_version"; 122 const std::string IMAGE_FACE_COL_IS_EXCLUDED = "is_excluded"; 123 const std::string ANALYSIS_ALBUM_SUBTYPE = "album_subtype"; 124 125 const std::string QUERY_FACE_TAG_COUNT = "SELECT count(1) AS count FROM " + VISION_FACE_TAG_TABLE; 126 const std::string QUERY_IMAGE_FACE_COUNT = "SELECT count(1) AS count FROM " + VISION_IMAGE_FACE_TABLE; 127 const std::string CREATE_FACE_TAG_INDEX = 128 "CREATE INDEX IF NOT EXISTS face_clone_tag_index ON tab_analysis_face_tag (tag_id)"; 129 130 const std::string GALLERY_TAG_NAME_NOT_NULL_OR_EMPTY = GALLERY_TAG_NAME + " IS NOT NULL AND " + GALLERY_TAG_NAME + 131 " != ''"; 132 const std::string GALLERY_TAG_WITH_PHOTOS = "EXISTS (SELECT 1 FROM " + GALLERY_TABLE_MERGE_FACE + " INNER JOIN \ 133 gallery_media ON " + GALLERY_MERGE_FACE_HASH + " = gallery_media.hash WHERE " + LOCAL_PHOTOS_WHERE_CLAUSE + 134 " AND " + GALLERY_MERGE_FACE_TAG_ID + " = " + GALLERY_MERGE_TAG_TAG_ID + ")"; 135 136 const std::string GALLERY_TAG_WITH_CLOUD_PHOTOS = "EXISTS (SELECT 1 FROM " + GALLERY_TABLE_MERGE_FACE + " INNER JOIN \ 137 gallery_media ON " + GALLERY_MERGE_FACE_HASH + " = gallery_media.hash WHERE " + ALL_PHOTOS_WHERE_CLAUSE + " AND " + 138 GALLERY_MERGE_FACE_TAG_ID + " = " + GALLERY_MERGE_TAG_TAG_ID + ")"; 139 140 const std::string GALLERY_PORTRAIT_ALBUM_TABLE = GALLERY_TABLE_MERGE_TAG + " WHERE " + 141 GALLERY_TAG_NAME_NOT_NULL_OR_EMPTY + " AND " + GALLERY_TAG_WITH_PHOTOS; 142 143 const std::string GALLERY_PORTRAIT_ALBUM_TABLE_WITH_CLOUD = GALLERY_TABLE_MERGE_TAG + " WHERE " + 144 GALLERY_TAG_NAME_NOT_NULL_OR_EMPTY + " AND " + GALLERY_TAG_WITH_CLOUD_PHOTOS; 145 146 const std::string QUERY_GALLERY_PORTRAIT_ALBUM_COUNT = "SELECT count(1) as count FROM " + GALLERY_PORTRAIT_ALBUM_TABLE; 147 148 const std::string QUERY_GALLERY_PORTRAIT_ALBUM_WITH_CLOUD_COUNT = "SELECT count(1) as count FROM " + 149 GALLERY_PORTRAIT_ALBUM_TABLE_WITH_CLOUD; 150 151 const std::string GALLERY_FACE_TABLE_JOIN_TAG = GALLERY_TABLE_MERGE_FACE + " INNER JOIN " + GALLERY_TABLE_MERGE_TAG + 152 " ON " + GALLERY_MERGE_FACE_TAG_ID + " = " + GALLERY_MERGE_TAG_TAG_ID + " INNER JOIN " + GALLERY_TABLE_MEDIA + 153 " ON " + GALLERY_MERGE_FACE_HASH + " = " + GALLERY_MEDIA_HASH + " GROUP BY " + GALLERY_MERGE_FACE_HASH + ", " + 154 GALLERY_FACE_ID; 155 156 // Path related 157 const std::string INTERNAL_PREFIX = "/storage/emulated"; 158 constexpr int32_t INTERNAL_PREFIX_LEVEL = 4; 159 const std::string APP_TWIN_DATA_PREFIX = "/AppTwinData"; 160 const std::string CLONE_STAT_EDIT_DATA_DIR = "/storage/media/local/files/.editData/"; 161 const std::string CLONE_STAT_RDB_DIR = "/data/storage/el2/database/rdb/"; 162 const std::string CLONE_STAT_KVDB_DIR = "/data/storage/el2/database/kvdb/"; 163 const std::string CLONE_STAT_HIGHLIGHT_DIR = "/storage/media/local/files/highlight/"; 164 } // namespace Media 165 } // namespace OHOS 166 167 #endif // BACKUP_CONST_COLUMN_H