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_LOCATION_DB_SQLS_H
17 #define FRAMEWORKS_SERVICES_MEDIA_MULTI_STAGES_CAPTURE_INCLUDE_LOCATION_DB_SQLS_H
18 
19 #include "location_column.h"
20 
21 namespace OHOS {
22 namespace Media {
23 const std::string CREATE_GEO_KNOWLEDGE_TABLE =
24     "CREATE TABLE IF NOT EXISTS " + GEO_KNOWLEDGE_TABLE + " ( " +
25     LATITUDE + " DOUBLE, " +
26     LONGITUDE + " DOUBLE, " +
27     LOCATION_KEY + " INTEGER, " +
28     CITY_ID + " TEXT, " +
29     LANGUAGE + " TEXT NOT NULL, " +
30     COUNTRY + " TEXT, " +
31     ADMIN_AREA + " TEXT, " +
32     SUB_ADMIN_AREA + " TEXT, " +
33     LOCALITY + " TEXT, " +
34     SUB_LOCALITY + " TEXT, " +
35     THOROUGHFARE + " TEXT, " +
36     SUB_THOROUGHFARE + " TEXT, " +
37     FEATURE_NAME + " TEXT, " +
38     CITY_NAME + " TEXT, " +
39     ADDRESS_DESCRIPTION + " TEXT, " +
40     LOCATION_TYPE + " TEXT, " +
41     AOI + " TEXT, " +
42     POI + " TEXT, " +
43     FIRST_AOI + " TEXT, " +
44     FIRST_POI + " TEXT, " +
45     LOCATION_VERSION + " TEXT, " +
46     FIRST_AOI_CATEGORY + " TEXT, " +
47     FIRST_POI_CATEGORY + " TEXT, " +
48     FILE_ID + " INTEGER) ";
49 
50 const std::string CREATE_GEO_DICTIONARY_TABLE =
51     "CREATE TABLE IF NOT EXISTS " + GEO_DICTIONARY_TABLE + " ( " +
52     CITY_ID + " TEXT NOT NULL, " +
53     LANGUAGE + " TEXT, " +
54     CITY_NAME + " TEXT) ";
55 
56 const std::string CREATE_CITY_NAME_INDEX =
57     BaseColumn::CreateIndex() + LOCATION_CITY_NAME_INDEX + " ON " + GEO_DICTIONARY_TABLE +
58     " (" + LANGUAGE + " DESC," + CITY_NAME + " ASC)";
59 
60 const std::string CREATE_LOCATION_KEY_INDEX =
61     BaseColumn::CreateIndex() + LOCATION_LOCATION_KEY_INDEX + " ON " + GEO_KNOWLEDGE_TABLE +
62     " (" + LOCATION_KEY + " DESC," + LANGUAGE + " DESC)";
63 
64 const std::string CREATE_DICTIONARY_INDEX = "CREATE UNIQUE INDEX IF NOT EXISTS " + DICTIONARY_INDEX + " ON " +
65     GEO_DICTIONARY_TABLE + " (" + CITY_ID + "," + LANGUAGE + ")";
66 
67 const std::string DROP_KNOWLEDGE_INDEX = "DROP INDEX IF EXISTS " + KNOWLEDG_INDEX;
68 
69 const std::string CREATE_NEW_KNOWLEDGE_INDEX = "CREATE UNIQUE INDEX IF NOT EXISTS " + KNOWLEDG_INDEX + " ON " +
70     GEO_KNOWLEDGE_TABLE + " (" +  FILE_ID + ")";
71 } // namespace Media
72 } // namespace OHOS
73 #endif  // FRAMEWORKS_SERVICES_MEDIA_MULTI_STAGES_CAPTURE_INCLUDE_LOCATION_DB_SQLS_H