4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
22 #ifndef _MEDIA_SVC_ENV_H_
23 #define _MEDIA_SVC_ENV_H_
32 * DB table information
38 #define DB_TABLE_MEDIA "media" /**< media table*/
39 #define DB_TABLE_FOLDER "folder" /**< media_folder table*/
40 #define DB_TABLE_PLAYLIST "playlist" /**< playlist table*/
41 #define DB_TABLE_PLAYLIST_MAP "playlist_map" /**< playlist_map table*/
42 #define DB_TABLE_ALBUM "album" /**< album table*/
43 #define DB_TABLE_TAG "tag" /**< tag table*/
44 #define DB_TABLE_TAG_MAP "tag_map" /**< tag_map table*/
45 #define DB_TABLE_BOOKMARK "bookmark" /**< bookmark table*/
46 #define DB_TABLE_STORAGE "storage" /**< storage table*/
47 #define DB_TABLE_TMP_TABLE "tmp" /**< tmp table for backup*/
48 #define DB_TABLE_FACE "face" /**< face table*/
49 #define DB_TABLE_FACE_SCAN_LIST "face_scan_list" /**< face_scan_list table*/
54 #define DB_VIEW_MEDIA "media_view" /**< media_view(For upgrade func) */
55 #define DB_VIEW_PLAYLIST "playlist_view" /**< playlist_view*/
56 #define DB_VIEW_TAG "tag_view" /**< tag_view*/
61 #define DB_TRIGGER_PLAYLIST_MAP "playlist_map_cleanup" /**< media to map*/
62 #define DB_TRIGGER_PLAYLIST_MAP1 "playlist_map_cleanup_1" /**< playlist to map*/
63 #define DB_TRIGGER_ALBUM "album_cleanup"
64 #define DB_TRIGGER_TAG_MAP "tag_map_cleanup" /**< media to map*/
65 #define DB_TRIGGER_TAG_MAP1 "tag_map_cleanup_1" /**< tag to map*/
66 #define DB_TRIGGER_BOOKMARK "bookmark_cleanup"
67 #define DB_TRIGGER_FACE_SCAN_LIST "face_scan_list_cleanup"
68 #define DB_TRIGGER_FACE "face_cleanup"
71 * Column Name for view
73 #define DB_COLUMN_THUMBNAIL "thumbnail_path"
74 #define DB_COLUMN_MAP_ID "_id"
80 #define DB_TYPE_TEXT "TEXT"
81 #define DB_TYPE_INT "INTEGER"
82 #define DB_TYPE_DOUBLE "DOUBLE"
87 #define DB_QUERY_TABLE_WITH_UNIQUE "CREATE TABLE IF NOT EXISTS '%s' (%s, unique(%s));"
88 #define DB_QUERY_TABLE "CREATE TABLE IF NOT EXISTS '%s' (%s);"
89 #define DB_QUERY_INDEX "CREATE INDEX IF NOT EXISTS %s on '%s' (%s);"
90 #define DB_QUERY_TRIGGER "CREATE TRIGGER IF NOT EXISTS '%s' DELETE ON '%s' BEGIN DELETE FROM %s WHERE %s=old.%s;END;"
91 #define DB_QUERY_TRIGGER_WITH_COUNT "CREATE TRIGGER IF NOT EXISTS '%s' DELETE ON '%s' BEGIN DELETE FROM %s WHERE (SELECT count(*) FROM '%s' WHERE %s=old.%s)=1 AND %s=old.%s;END;"
92 #define DB_QUERY_VIEW_PLAYLIST "CREATE VIEW IF NOT EXISTS %s AS SELECT %s FROM playlist \
93 LEFT OUTER JOIN playlist_map ON playlist.playlist_id = playlist_map.playlist_id \
94 LEFT OUTER JOIN media ON (playlist_map.media_id = media.media_id AND media.validity=1) \
95 LEFT OUTER JOIN (SELECT count(playlist_id) as playlist_media_count, playlist_id FROM playlist_map group by playlist_id) as cnt_tbl ON (cnt_tbl.playlist_id=playlist_map.playlist_id AND media.validity=1);"
96 #define DB_QUERY_VIEW_TAG "CREATE VIEW IF NOT EXISTS %s AS SELECT %s FROM tag \
97 LEFT OUTER JOIN tag_map ON tag.tag_id=tag_map.tag_id \
98 LEFT OUTER JOIN media ON (tag_map.media_id = media.media_id AND media.validity=1) \
99 LEFT OUTER JOIN (SELECT count(tag_id) as tag_media_count, tag_id FROM tag_map group by tag_id) as cnt_tbl ON (cnt_tbl.tag_id=tag_map.tag_id AND media.validity=1);"
100 #define DB_QUERY_ALTER_TABLE "ALTER TABLE %s ADD COLUMN %s;"
103 #define MEDIA_SVC_METADATA_LEN_MAX 512 /**< Length of metadata*/
104 #define MEDIA_SVC_PATHNAME_SIZE 4096 /**< Length of Path name. */
105 #define MEDIA_SVC_UUID_SIZE 36 /**< Length of UUID*/
106 #define MEDIA_SVC_QUERY_LEN_MAX 4096*2 /**< Max Query length*/
107 #define MEDIA_SVC_QUERY_LEN_NORMAL 4096 /**< Normal Query length*/
110 #define MEDIA_SVC_TAG_UNKNOWN ""
113 MEDIA_SVC_QUERY_SCANNER,
114 MEDIA_SVC_QUERY_UPDATE_COMMON,
115 } media_svc_query_type_e;
120 DB_LIST_PLAYLIST_MAP,
127 DB_LIST_FACE_SCAN_LIST,
130 } media_svc_table_slist_e;
136 #endif /*_MEDIA_SVC_ENV_H_*/