~aleteoryx/muditaos

ref: 200c9b949d964dea034de7ea6ad9f6ce04a49643 muditaos/module-services/service-db/agents/file_indexer/FileIndexer_queries.hpp -rw-r--r-- 5.4 KiB
200c9b94 — Jakub Pyszczak [EGD-7432] Tags fetcher 4 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#pragma once

namespace FileIndexer::Statements
{

    constexpr auto getFilesCount = R"sql(
                        SELECT COUNT(FT.file_id) AS FILE_PATH_EXISTS FROM  file_tab AS FT;
                        )sql";

    constexpr auto getMetadataCount = R"sql(
                        SELECT COUNT(MT.file_id) AS FILE_PATH_EXISTS FROM  metadata_tab AS MT;
                        )sql";

    constexpr auto checkFileExists = R"sql(
                        SELECT COUNT(size) AS FILE_PATH_EXISTS FROM  file_tab AS FT
                        WHERE FT.path = '%q'
                        COLLATE NOCASE;
                        )sql";

    constexpr auto getFileIdByPath = R"sql(
                        SELECT FT.file_id FROM file_tab AS FT
                        WHERE FT.path = '%q'
                        COLLATE NOCASE;
                        )sql";

    constexpr auto getFilePathById = R"sql(
                        SELECT FT.path  FROM  file_tab AS FT
                        WHERE FT.file_id = '%lu'
                        COLLATE NOCASE;
                        )sql";

    constexpr auto getFileInfoByPath = R"sql(
                        SELECT file_id, path, size, mime_type, mtime, directory ,file_type  FROM  file_tab AS FT
                        WHERE FT.path = '%q'
                        COLLATE NOCASE;
                        )sql";

    constexpr auto getFileInfoById = R"sql(
                        SELECT file_id, path, size, mime_type, mtime, directory, file_type   FROM  file_tab AS FT
                        WHERE FT.file_id = '%lu'
                        COLLATE NOCASE;
                        )sql";

    constexpr auto getFilesByDir = R"sql(
                        SELECT file_id, path, size, mime_type, mtime, directory, file_type   FROM  file_tab AS FT
                        WHERE FT.directory = '%q'
                        COLLATE NOCASE;
                        )sql";

    constexpr auto insertFileInfo = R"sql(
                        INSERT OR REPLACE INTO file_tab (path, size, mime_type, mtime, directory, file_type) VALUES
                        ('%q', '%lu', '%lu' , '%lu', '%q', '%lu') ;
                        )sql";

    constexpr auto updateFileInfo = R"sql(
                        UPDATE file_tab SET path= '%q',
                        size= '%lu',
                        mime_type= '%lu',
                        mtime= '%lu',
                        directory ='%q',
                        file_type= '%lu'
                        WHERE file_id = '%lu' ;
                        )sql";

    constexpr auto deleteFileById = R"sql(
                        DELETE FROM file_tab AS FT
                        WHERE FT.file_id = '%lu';
                        DELETE FROM metadata_tab AS MT
                        WHERE MT.file_id = '%lu';
                        )sql";

    constexpr auto deleteAllFileInfoInDir = R"sql(
                        DELETE FROM file_tab AS FT
                        WHERE FT.directory = '%q';
                        )sql";

    constexpr auto getFilesIdByDir = R"sql(
                        SELECT file_id FROM  file_tab AS FT
                        WHERE FT.directory = '%q'
                        COLLATE NOCASE;
                        )sql";

    constexpr auto getPropertyValue = R"sql(
                         SELECT MT.file_id, MT.property, MT.value
                         FROM metadata_tab AS MT, file_tab AS FT
                         WHERE MT.property = '%q' AND FT.path = '%q' AND  FT.file_id = MT.file_id
                         COLLATE NOCASE;
                         )sql";

    constexpr auto getAllProperties = R"sql(
                         SELECT MT.file_id, MT.property, MT.value
                         FROM metadata_tab AS MT, file_tab AS FT
                         WHERE FT.path = '%q' AND  FT.file_id = MT.file_id
                         COLLATE NOCASE;
                         )sql";

    constexpr auto insertPropertyValue = R"sql(
                        INSERT OR REPLACE INTO metadata_tab (file_id, property, value) VALUES
                        ( '%lu', '%q', '%q' ) ;
                        )sql";

    constexpr auto updatePropertyValue = R"sql(
                        UPDATE metadata_tab SET value = '%q'
                        WHERE file_id= '%lu' AND property = '%q' ;
                        )sql";

    constexpr auto setNotification = R"sql(
                        INSERT OR REPLACE INTO notifications_tab (path, service) VALUES
                        ( '%q' , '%q' ) ;
                        )sql";

    constexpr auto updateNotification = R"sql(
                        UPDATE notifications_tab SET path = '%q', service = '%q'
                        WHERE id = '%lu';
                        )sql";

    constexpr auto clearNotificationdRow = R"sql(
                        DELETE FROM notifications_tab
                        WHERE path = '%q' AND service = '%q';
                        )sql";

    constexpr auto getAllNotifications = R"sql(
                        SELECT id, path, service
                        FROM notifications_tab  AS NT;
                        )sql";

    constexpr auto getNotification = R"sql(
                        SELECT id, path, service
                        FROM notifications_tab  AS NT
                        WHERE path= '%q' AND service = '%q';
                        )sql";

} // namespace FileIndexer::Statements