1 /*
2  * Copyright (C) 2024-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 FRAMEWORKS_SERVICES_MEDIA_MULTI_STAGES_CAPTURE_INCLUDE_MEDIALIBRARY_DB_CONST_SQLS_H
17 #define FRAMEWORKS_SERVICES_MEDIA_MULTI_STAGES_CAPTURE_INCLUDE_MEDIALIBRARY_DB_CONST_SQLS_H
18 
19 #include "location_db_sqls.h"
20 #include "media_category_smart_album_map_column.h"
21 #include "media_device_column.h"
22 #include "media_directory_type_column.h"
23 #include "media_error_column.h"
24 #include "media_refresh_album_column.h"
25 #include "media_remote_thumbnail_column.h"
26 #include "media_smart_album_column.h"
27 #include "media_smart_map_column.h"
28 #include "media_unique_number_column.h"
29 #include "medialibrary_db_const.h"
30 #include "vision_db_sqls_more.h"
31 
32 namespace OHOS {
33 namespace Media {
34 
35 const std::string CREATE_MEDIA_TABLE = "CREATE TABLE IF NOT EXISTS " + MEDIALIBRARY_TABLE + " (" +
36                                        MEDIA_DATA_DB_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
37                                        MEDIA_DATA_DB_FILE_PATH + " TEXT, " +
38                                        MEDIA_DATA_DB_SIZE + " BIGINT, " +
39                                        MEDIA_DATA_DB_PARENT_ID + " INT DEFAULT 0, " +
40                                        MEDIA_DATA_DB_DATE_ADDED + " BIGINT, " +
41                                        MEDIA_DATA_DB_DATE_MODIFIED + " BIGINT, " +
42                                        MEDIA_DATA_DB_MIME_TYPE + " TEXT, " +
43                                        MEDIA_DATA_DB_TITLE + " TEXT, " +
44                                        MEDIA_DATA_DB_DESCRIPTION + " TEXT, " +
45                                        MEDIA_DATA_DB_NAME + " TEXT, " +
46                                        MEDIA_DATA_DB_ORIENTATION + " INT DEFAULT 0, " +
47                                        MEDIA_DATA_DB_LATITUDE + " DOUBLE DEFAULT 0, " +
48                                        MEDIA_DATA_DB_LONGITUDE + " DOUBLE DEFAULT 0, " +
49                                        MEDIA_DATA_DB_DATE_TAKEN + " BIGINT DEFAULT 0, " +
50                                        MEDIA_DATA_DB_THUMBNAIL + " TEXT, " +
51                                        MEDIA_DATA_DB_LCD + " TEXT, " +
52                                        MEDIA_DATA_DB_BUCKET_ID + " INT DEFAULT 0, " +
53                                        MEDIA_DATA_DB_BUCKET_NAME + " TEXT, " +
54                                        MEDIA_DATA_DB_DURATION + " INT, " +
55                                        MEDIA_DATA_DB_ARTIST + " TEXT, " +
56                                        MEDIA_DATA_DB_AUDIO_ALBUM + " TEXT, " +
57                                        MEDIA_DATA_DB_MEDIA_TYPE + " INT, " +
58                                        MEDIA_DATA_DB_HEIGHT + " INT, " +
59                                        MEDIA_DATA_DB_WIDTH + " INT, " +
60                                        MEDIA_DATA_DB_IS_TRASH + " INT DEFAULT 0, " +
61                                        MEDIA_DATA_DB_RECYCLE_PATH + " TEXT, " +
62                                        MEDIA_DATA_DB_IS_FAV + " BOOL DEFAULT 0, " +
63                                        MEDIA_DATA_DB_OWNER_PACKAGE + " TEXT, " +
64                                        MEDIA_DATA_DB_OWNER_APPID + " TEXT, " +
65                                        MEDIA_DATA_DB_PACKAGE_NAME + " TEXT, " +
66                                        MEDIA_DATA_DB_DEVICE_NAME + " TEXT, " +
67                                        MEDIA_DATA_DB_IS_PENDING + " BOOL DEFAULT 0, " +
68                                        MEDIA_DATA_DB_TIME_PENDING + " BIGINT DEFAULT 0, " +
69                                        MEDIA_DATA_DB_DATE_TRASHED + " BIGINT DEFAULT 0, " +
70                                        MEDIA_DATA_DB_RELATIVE_PATH + " TEXT, " +
71                                        MEDIA_DATA_DB_VOLUME_NAME + " TEXT, " +
72                                        MEDIA_DATA_DB_SELF_ID + " TEXT DEFAULT '1', " +
73                                        MEDIA_DATA_DB_ALBUM_NAME + " TEXT, " +
74                                        MEDIA_DATA_DB_URI + " TEXT, " +
75                                        MEDIA_DATA_DB_ALBUM + " TEXT, " +
76                                        MEDIA_DATA_DB_CLOUD_ID + " TEXT, " +
77                                        MEDIA_DATA_DB_DIRTY + " INT DEFAULT 1, " +
78                                        MEDIA_DATA_DB_POSITION + " INT DEFAULT 1, " +
79                                        MEDIA_DATA_DB_META_DATE_MODIFIED + "  BIGINT DEFAULT 0, " +
80                                        MEDIA_DATA_DB_SYNC_STATUS + " INT DEFAULT 0)";
81 
82 const std::string CREATE_BUNDLE_PREMISSION_TABLE = "CREATE TABLE IF NOT EXISTS " +
83                                       BUNDLE_PERMISSION_TABLE + " (" +
84                                       PERMISSION_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
85                                       PERMISSION_BUNDLE_NAME + " TEXT NOT NULL, " +
86                                       PERMISSION_FILE_ID + " INT NOT NULL, " +
87                                       PERMISSION_MODE + " TEXT NOT NULL, " +
88                                       PERMISSION_TABLE_TYPE + " INT )";
89 
90 const std::string CREATE_IMAGE_VIEW = "CREATE VIEW IF NOT EXISTS Image AS SELECT " +
91                                       MEDIA_DATA_DB_ID + ", " +
92                                       MEDIA_DATA_DB_FILE_PATH + ", " +
93                                       MEDIA_DATA_DB_SIZE + ", " +
94                                       MEDIA_DATA_DB_NAME + ", " +
95                                       MEDIA_DATA_DB_TITLE + ", " +
96                                       MEDIA_DATA_DB_DESCRIPTION + ", " +
97                                       MEDIA_DATA_DB_DATE_ADDED + ", " +
98                                       MEDIA_DATA_DB_DATE_MODIFIED + ", " +
99                                       MEDIA_DATA_DB_DATE_TAKEN + ", " +
100                                       MEDIA_DATA_DB_MIME_TYPE + ", " +
101                                       MEDIA_DATA_DB_LATITUDE + ", " +
102                                       MEDIA_DATA_DB_LONGITUDE + ", " +
103                                       MEDIA_DATA_DB_ORIENTATION + ", " +
104                                       MEDIA_DATA_DB_WIDTH + ", " +
105                                       MEDIA_DATA_DB_HEIGHT + ", " +
106                                       MEDIA_DATA_DB_BUCKET_ID + ", " +
107                                       MEDIA_DATA_DB_BUCKET_NAME + ", " +
108                                       MEDIA_DATA_DB_THUMBNAIL + ", " +
109                                       MEDIA_DATA_DB_LCD + ", " +
110                                       MEDIA_DATA_DB_SELF_ID + " " +
111                                       "FROM " + MEDIALIBRARY_TABLE + " WHERE " +
112                                       MEDIA_DATA_DB_MEDIA_TYPE + " = 3";
113 
114 const std::string CREATE_VIDEO_VIEW = "CREATE VIEW IF NOT EXISTS Video AS SELECT " +
115                                       MEDIA_DATA_DB_ID + ", " +
116                                       MEDIA_DATA_DB_FILE_PATH + ", " +
117                                       MEDIA_DATA_DB_SIZE + ", " +
118                                       MEDIA_DATA_DB_NAME + ", " +
119                                       MEDIA_DATA_DB_TITLE + ", " +
120                                       MEDIA_DATA_DB_DESCRIPTION + ", " +
121                                       MEDIA_DATA_DB_DATE_ADDED + ", " +
122                                       MEDIA_DATA_DB_DATE_MODIFIED + ", " +
123                                       MEDIA_DATA_DB_MIME_TYPE + ", " +
124                                       MEDIA_DATA_DB_ORIENTATION + ", " +
125                                       MEDIA_DATA_DB_WIDTH + ", " +
126                                       MEDIA_DATA_DB_HEIGHT + ", " +
127                                       MEDIA_DATA_DB_DURATION + ", " +
128                                       MEDIA_DATA_DB_BUCKET_ID + ", " +
129                                       MEDIA_DATA_DB_BUCKET_NAME + ", " +
130                                       MEDIA_DATA_DB_THUMBNAIL + ", " +
131                                       MEDIA_DATA_DB_SELF_ID + " " +
132                                       "FROM " + MEDIALIBRARY_TABLE + " WHERE " +
133                                       MEDIA_DATA_DB_MEDIA_TYPE + " = 4";
134 
135 const std::string CREATE_AUDIO_VIEW = "CREATE VIEW IF NOT EXISTS Audio AS SELECT " +
136                                       MEDIA_DATA_DB_ID + ", " +
137                                       MEDIA_DATA_DB_FILE_PATH + ", " +
138                                       MEDIA_DATA_DB_SIZE + ", " +
139                                       MEDIA_DATA_DB_NAME + ", " +
140                                       MEDIA_DATA_DB_TITLE + ", " +
141                                       MEDIA_DATA_DB_DESCRIPTION + ", " +
142                                       MEDIA_DATA_DB_DATE_ADDED + ", " +
143                                       MEDIA_DATA_DB_DATE_MODIFIED + ", " +
144                                       MEDIA_DATA_DB_MIME_TYPE + ", " +
145                                       MEDIA_DATA_DB_ARTIST + ", " +
146                                       MEDIA_DATA_DB_DURATION + ", " +
147                                       MEDIA_DATA_DB_BUCKET_ID + ", " +
148                                       MEDIA_DATA_DB_BUCKET_NAME + ", " +
149                                       MEDIA_DATA_DB_THUMBNAIL + ", " +
150                                       MEDIA_DATA_DB_SELF_ID + " " +
151                                       "FROM " + MEDIALIBRARY_TABLE + " WHERE " +
152                                       MEDIA_DATA_DB_MEDIA_TYPE + " = 5";
153 
154 const std::string CREATE_REMOTE_THUMBNAIL_TABLE = "CREATE TABLE IF NOT EXISTS " + REMOTE_THUMBNAIL_TABLE + " (" +
155                                             REMOTE_THUMBNAIL_DB_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
156                                             REMOTE_THUMBNAIL_DB_FILE_ID + " INT, " +
157                                             REMOTE_THUMBNAIL_DB_UDID + " TEXT, " +
158                                             MEDIA_DATA_DB_THUMBNAIL + " TEXT, " +
159                                             MEDIA_DATA_DB_LCD + " TEXT) ";
160 
161 const std::string DISTRIBUTED_ALBUM_COLUMNS = "SELECT count( " + FILE_TABLE + "." +
162                                               MEDIA_DATA_DB_DATE_TRASHED + " = 0 OR NULL) AS " +
163                                               MEDIA_DATA_DB_COUNT + ", " +
164                                               ALBUM_TABLE + "." + MEDIA_DATA_DB_RELATIVE_PATH + ", " +
165                                               ALBUM_TABLE + "." + MEDIA_DATA_DB_ID + " AS " +
166                                               MEDIA_DATA_DB_BUCKET_ID + ", " +
167                                               ALBUM_TABLE + "." + MEDIA_DATA_DB_FILE_PATH + ", " +
168                                               ALBUM_TABLE + "." + MEDIA_DATA_DB_TITLE + " AS " +
169                                               MEDIA_DATA_DB_BUCKET_NAME + ", " +
170                                               ALBUM_TABLE + "." + MEDIA_DATA_DB_TITLE + ", " +
171                                               ALBUM_TABLE + "." + MEDIA_DATA_DB_DESCRIPTION + ", " +
172                                               ALBUM_TABLE + "." + MEDIA_DATA_DB_DATE_ADDED + ", " +
173                                               ALBUM_TABLE + "." + MEDIA_DATA_DB_DATE_MODIFIED + ", " +
174                                               ALBUM_TABLE + "." + MEDIA_DATA_DB_THUMBNAIL + ", " +
175                                               FILE_TABLE + "." + MEDIA_DATA_DB_MEDIA_TYPE + ", " +
176                                               ALBUM_TABLE + "." + MEDIA_DATA_DB_SELF_ID + ", " +
177                                               ALBUM_TABLE + "." + MEDIA_DATA_DB_IS_TRASH;
178 
179 const std::string DISTRIBUTED_ALBUM_WHERE_AND_GROUPBY = " WHERE " +
180                                                         FILE_TABLE + "." + MEDIA_DATA_DB_BUCKET_ID + " = " +
181                                                         ALBUM_TABLE + "." + MEDIA_DATA_DB_ID + " AND " +
182                                                         FILE_TABLE + "." + MEDIA_DATA_DB_MEDIA_TYPE + " <> " +
183                                                         std::to_string(MEDIA_TYPE_ALBUM) + " AND " +
184                                                         FILE_TABLE + "." + MEDIA_DATA_DB_MEDIA_TYPE + " <> " +
185                                                         std::to_string(MEDIA_TYPE_FILE) +
186                                                         " GROUP BY " +
187                                                         FILE_TABLE + "." + MEDIA_DATA_DB_BUCKET_ID +", " +
188                                                         FILE_TABLE + "." + MEDIA_DATA_DB_BUCKET_NAME + ", " +
189                                                         FILE_TABLE + "." + MEDIA_DATA_DB_MEDIA_TYPE + ", " +
190                                                         ALBUM_TABLE + "." + MEDIA_DATA_DB_SELF_ID;
191 
192 const std::string CREATE_ALBUM_VIEW = "CREATE VIEW IF NOT EXISTS " + ALBUM_VIEW_NAME +
193                                       " AS " + DISTRIBUTED_ALBUM_COLUMNS +
194                                       " FROM " + MEDIALIBRARY_TABLE + " " + FILE_TABLE + ", " +
195                                       MEDIALIBRARY_TABLE + " " + ALBUM_TABLE +
196                                       DISTRIBUTED_ALBUM_WHERE_AND_GROUPBY;
197 
198 const std::string CREATE_SMARTALBUM_TABLE = "CREATE TABLE IF NOT EXISTS " + SMARTALBUM_TABLE + " (" +
199                                             SMARTALBUM_DB_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
200                                             SMARTALBUM_DB_NAME + " TEXT, " +
201                                             SMARTALBUM_DB_DESCRIPTION + " TEXT, " +
202                                             SMARTALBUM_DB_ALBUM_TYPE + " INT, " +
203                                             SMARTALBUM_DB_CAPACITY + " INT, " +
204                                             SMARTALBUM_DB_LATITUDE + " DOUBLE DEFAULT 0, " +
205                                             SMARTALBUM_DB_LONGITUDE + " DOUBLE DEFAULT 0, " +
206                                             SMARTALBUM_DB_COVER_URI + " TEXT, " +
207                                             SMARTALBUM_DB_EXPIRED_TIME + " INT DEFAULT 30, " +
208                                             SMARTALBUM_DB_SELF_ID + " TEXT) ";
209 
210 const std::string CREATE_SMARTALBUMMAP_TABLE = "CREATE TABLE IF NOT EXISTS " + SMARTALBUM_MAP_TABLE + " (" +
211                                             SMARTALBUMMAP_DB_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
212                                             SMARTALBUMMAP_DB_ALBUM_ID + " INT, " +
213                                             SMARTALBUMMAP_DB_CHILD_ALBUM_ID + " INT, " +
214                                             SMARTALBUMMAP_DB_CHILD_ASSET_ID + " INT, " +
215                                             SMARTALBUMMAP_DB_SELF_ID + " TEXT) ";
216 
217 const std::string CREATE_CATEGORY_SMARTALBUMMAP_TABLE = "CREATE TABLE IF NOT EXISTS " +
218                                             CATEGORY_SMARTALBUM_MAP_TABLE + " (" +
219                                             CATEGORY_SMARTALBUMMAP_DB_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
220                                             CATEGORY_SMARTALBUMMAP_DB_CATEGORY_ID + " INT, " +
221                                             CATEGORY_SMARTALBUMMAP_DB_CATEGORY_NAME + " TEXT, " +
222                                             CATEGORY_SMARTALBUMMAP_DB_ALBUM_ID + " INT, " +
223                                             SMARTALBUMMAP_DB_SELF_ID + " TEXT) ";
224 
225 const std::string CREATE_MEDIATYPE_DIRECTORY_TABLE = "CREATE TABLE IF NOT EXISTS " +
226                                             MEDIATYPE_DIRECTORY_TABLE + " (" +
227                                             DIRECTORY_DB_DIRECTORY_TYPE + " INTEGER PRIMARY KEY, " +
228                                             DIRECTORY_DB_MEDIA_TYPE + " TEXT, " +
229                                             DIRECTORY_DB_DIRECTORY + " TEXT, " +
230                                             DIRECTORY_DB_EXTENSION + " TEXT) ";
231 
232 const std::string CREATE_DEVICE_TABLE = "CREATE TABLE IF NOT EXISTS " + DEVICE_TABLE + " (" +
233                                             DEVICE_DB_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
234                                             DEVICE_DB_UDID + " TEXT, " +
235                                             DEVICE_DB_NETWORK_ID + " TEXT, " +
236                                             DEVICE_DB_NAME + " TEXT, " +
237                                             DEVICE_DB_IP + " TEXT DEFAULT '', " +
238                                             DEVICE_DB_SYNC_STATUS + " INT DEFAULT 0, " +
239                                             DEVICE_DB_PHOTO_SYNC_STATUS + " INT DEFAULT 0, " +
240                                             DEVICE_DB_SELF_ID + " TEXT, " +
241                                             DEVICE_DB_TYPE + " INT, " +
242                                             DEVICE_DB_PREPATH + " TEXT, " +
243                                             DEVICE_DB_DATE_ADDED + " BIGINT DEFAULT 0, " +
244                                             DEVICE_DB_DATE_MODIFIED + " BIGINT DEFAULT 0) ";
245 
246 const std::string CREATE_SMARTALBUMASSETS_VIEW = "CREATE VIEW IF NOT EXISTS " + SMARTALBUMASSETS_VIEW_NAME +
247                         " AS SELECT COUNT(" +
248                         MEDIALIBRARY_TABLE + "."+ MEDIA_DATA_DB_DATE_TRASHED + " = 0 OR (" +
249                         SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_ID + " = " +
250                         std::to_string(TRASH_ALBUM_ID_VALUES) + " AND " +
251                         MEDIALIBRARY_TABLE + "."+ MEDIA_DATA_DB_IS_TRASH + "<> 0)" +
252                         " OR NULL ) AS " + SMARTALBUMASSETS_ALBUMCAPACITY + ", " +
253                         SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_ID + ", " +
254                         SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_NAME + ", " +
255                         SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_SELF_ID + ", " +
256                         SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_DESCRIPTION + ", " +
257                         SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_EXPIRED_TIME + ", " +
258                         SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_COVER_URI + ", " +
259                         SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_ALBUM_TYPE + ", " +
260                         SMARTALBUM_MAP_TABLE + "." + SMARTALBUMMAP_DB_ID + ", " +
261                         "a." + SMARTALBUMMAP_DB_ALBUM_ID + " AS " + SMARTABLUMASSETS_PARENTID +
262                         " FROM " + SMARTALBUM_TABLE + " " + SMARTALBUM_TABLE_NAME +
263                         " LEFT JOIN " + SMARTALBUM_MAP_TABLE +
264                         " ON " + SMARTALBUM_MAP_TABLE + "." + SMARTALBUMMAP_DB_ALBUM_ID + " = " +
265                         SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_ID +
266                         " LEFT JOIN " + MEDIALIBRARY_TABLE +
267                         " ON " + SMARTALBUM_MAP_TABLE + "." + SMARTALBUMMAP_DB_CHILD_ASSET_ID + " = " +
268                         MEDIALIBRARY_TABLE + "." + MEDIA_DATA_DB_ID +
269                         " LEFT JOIN " + SMARTALBUM_MAP_TABLE + " a " +
270                         " ON a." + SMARTALBUMMAP_DB_CHILD_ALBUM_ID + " = " +
271                         SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_ID +
272                         " GROUP BY IFNULL( " + SMARTALBUM_MAP_TABLE + "." + SMARTALBUMMAP_DB_ALBUM_ID + ", " +
273                         SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_ID + " ), " +
274                         SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_SELF_ID;
275 
276 const std::string CREATE_ASSETMAP_VIEW = "CREATE VIEW IF NOT EXISTS " + ASSETMAP_VIEW_NAME +
277                         " AS SELECT * FROM " +
278                         MEDIALIBRARY_TABLE + " a " + ", " +
279                         SMARTALBUM_MAP_TABLE + " b " +
280                         " WHERE " +
281                         "a." + MEDIA_DATA_DB_ID + " = " +
282                         "b." + SMARTALBUMMAP_DB_CHILD_ASSET_ID;
283 
284 const std::string CREATE_FILES_DELETE_TRIGGER = "CREATE TRIGGER IF NOT EXISTS delete_trigger AFTER UPDATE ON " +
285                         MEDIALIBRARY_TABLE + " FOR EACH ROW WHEN new.dirty = " +
286                         std::to_string(static_cast<int32_t>(DirtyType::TYPE_DELETED)) +
287                         " and OLD.cloud_id is NULL AND is_caller_self_func() = 'true'" +
288                         " BEGIN " +
289                         " DELETE FROM " + MEDIALIBRARY_TABLE + " WHERE file_id = old.file_id;" +
290                         " END;";
291 
292 const std::string CREATE_FILES_FDIRTY_TRIGGER = "CREATE TRIGGER IF NOT EXISTS fdirty_trigger AFTER UPDATE ON " +
293                         MEDIALIBRARY_TABLE + " FOR EACH ROW WHEN OLD.cloud_id IS NOT NULL AND" +
294                         " new.date_modified <> old.date_modified AND is_caller_self_func() = 'true'" +
295                         " BEGIN " +
296                         " UPDATE " + MEDIALIBRARY_TABLE + " SET dirty = " +
297                         std::to_string(static_cast<int32_t>(DirtyType::TYPE_FDIRTY)) +
298                         " WHERE file_id = old.file_id;" +
299                         " SELECT cloud_sync_func(); " +
300                         " END;";
301 
302 const std::string CREATE_FILES_MDIRTY_TRIGGER = "CREATE TRIGGER IF NOT EXISTS mdirty_trigger AFTER UPDATE ON " +
303                         MEDIALIBRARY_TABLE + " FOR EACH ROW WHEN OLD.cloud_id IS NOT NULL" +
304                         " AND new.date_modified = old.date_modified AND old.dirty = " +
305                         std::to_string(static_cast<int32_t>(DirtyType::TYPE_SYNCED)) +
306                         " AND new.dirty = old.dirty AND is_caller_self_func() = 'true'" +
307                         " BEGIN " +
308                         " UPDATE " + MEDIALIBRARY_TABLE + " SET dirty = " +
309                         std::to_string(static_cast<int32_t>(DirtyType::TYPE_MDIRTY)) +
310                         " WHERE file_id = old.file_id;" +
311                         " SELECT cloud_sync_func(); " +
312                         " END;";
313 
314 const std::string CREATE_INSERT_CLOUD_SYNC_TRIGGER =
315                         " CREATE TRIGGER IF NOT EXISTS insert_cloud_sync_trigger AFTER INSERT ON " +
316                         MEDIALIBRARY_TABLE +
317                         " BEGIN SELECT cloud_sync_func(); END;";
318 
319 const std::string CREATE_MEDIALIBRARY_ERROR_TABLE = "CREATE TABLE IF NOT EXISTS " + MEDIALIBRARY_ERROR_TABLE + " ("
320     + MEDIA_DATA_ERROR + " TEXT PRIMARY KEY)";
321 
322 const std::string CREATE_ASSET_UNIQUE_NUMBER_TABLE = "CREATE TABLE IF NOT EXISTS " + ASSET_UNIQUE_NUMBER_TABLE + " (" +
323     ASSET_MEDIA_TYPE + " TEXT, " + UNIQUE_NUMBER + " INT DEFAULT 0) ";
324 
325 const std::string CREATE_ALBUM_REFRESH_TABLE = "CREATE TABLE IF NOT EXISTS " + ALBUM_REFRESH_TABLE + " ("
326     + REFRESHED_ALBUM_ID + " INT PRIMARY KEY)";
327 } // namespace Media
328 } // namespace OHOS
329 #endif  // FRAMEWORKS_SERVICES_MEDIA_MULTI_STAGES_CAPTURE_INCLUDE_MEDIALIBRARY_DB_CONST_SQLS_H