|
1 /* |
|
2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: Includes predefined SQL clauses for usage of* |
|
15 */ |
|
16 |
|
17 #ifndef __MDSFINDSQLCLAUSEDEF_H__ |
|
18 #define __MDSFINDSQLCLAUSEDEF_H__ |
|
19 |
|
20 // --------------------------------------------------------------------------- |
|
21 // Misc definitions |
|
22 // --------------------------------------------------------------------------- |
|
23 // |
|
24 |
|
25 _LIT( KEmpty, "" ); |
|
26 _LIT( KSpace, " " ); |
|
27 _LIT( KLeftBracket, "(" ); |
|
28 _LIT( KRightBracket, ")" ); |
|
29 _LIT( KComma, "," ); |
|
30 _LIT( KSemicolon, ";" ); |
|
31 _LIT( KVariable, "?" ); |
|
32 _LIT( KWildcard, "%" ); |
|
33 _LIT( KEmptyTrue, "1" ); // used from always pass true tests |
|
34 |
|
35 _LIT( KCommaVariable, ",?" ); |
|
36 |
|
37 _LIT( KNotIn, " NOT IN" ); |
|
38 _LIT( KIn, " IN" ); |
|
39 _LIT( KOrderBy, " ORDER BY " ); |
|
40 _LIT( KNoCaseSensitive, " COLLATE NOCASE "); |
|
41 _LIT( KLimit, "LIMIT " ); |
|
42 _LIT( KOffset, "OFFSET " ); |
|
43 _LIT( KAsc, " ASC"); |
|
44 _LIT( KDesc, " DESC" ); |
|
45 |
|
46 _LIT( KIsNull, " ISNULL" ); |
|
47 _LIT( KNotNull, " NOTNULL" ); |
|
48 |
|
49 _LIT( KUnion, " UNION " ); |
|
50 _LIT( KIntersect, " INTERSECT " ); |
|
51 |
|
52 _LIT( KUnionAll, " UNION ALL " ); |
|
53 |
|
54 _LIT( KAsBoJoin, " AS BO JOIN " ); |
|
55 |
|
56 _LIT( KBaseObjectObjectId, "BO.ObjectId" ); |
|
57 _LIT( KObjectObjectId, "O.ObjectId" ); |
|
58 |
|
59 _LIT( KRelationId, "RelationId" ); |
|
60 _LIT( KEventId, "EventId" ); |
|
61 |
|
62 _LIT( KSelectPropertyFilterBegin, "SELECT BO.ObjectId,BO.ObjectDefId,BO.Flags,BO.MediaId,BO.UsageCount,BO.GuidHigh,BO.GuidLow,BO.URI" ); |
|
63 |
|
64 _LIT( KBaseObjectDot, "BO." ); |
|
65 _LIT( KObjectDot, "O." ); |
|
66 |
|
67 _LIT( KGroupByObjectId, "GROUP BY BO.ObjectId " ); |
|
68 |
|
69 // --------------------------------------------------------------------------- |
|
70 // Object flags |
|
71 // --------------------------------------------------------------------------- |
|
72 // |
|
73 |
|
74 _LIT( KGetFlagAnd, "(Flags&?)AND " ); // Flag is set |
|
75 _LIT( KGetNotFlagAnd, "(NOT Flags&?)AND " ); // Flag is not set |
|
76 |
|
77 _LIT( KGetNotFlag, "(NOT Flags&?) " ); // Flag is not set |
|
78 |
|
79 _LIT( KWhereNotFlag, "WHERE(NOT Flags&?)" ); // Flag is not set |
|
80 |
|
81 // --------------------------------------------------------------------------- |
|
82 // SELECT clauses |
|
83 // --------------------------------------------------------------------------- |
|
84 // |
|
85 |
|
86 _LIT( KSelect, "SELECT " ); |
|
87 |
|
88 _LIT( KSelectCount, |
|
89 "SELECT count(*) " |
|
90 ); |
|
91 |
|
92 _LIT( KSelect1, |
|
93 "SELECT 1 " |
|
94 ); |
|
95 |
|
96 _LIT( KSelectObjectIds, |
|
97 "SELECT BO.ObjectId " |
|
98 ); |
|
99 |
|
100 _LIT( KSelectAllFromBaseObject, |
|
101 "SELECT BO.* " |
|
102 ); |
|
103 |
|
104 _LIT( KAllFromObject, |
|
105 ",O.* " |
|
106 ); |
|
107 |
|
108 _LIT( KSelectFreeTextCountAndTotalLength, |
|
109 ",count(D.Word),sum(length(D.Word)) " |
|
110 ); |
|
111 |
|
112 // distict queries |
|
113 _LIT( KSelectDistinct, |
|
114 "SELECT DISTINCT " |
|
115 ); |
|
116 |
|
117 _LIT( KSelectAllFrom, |
|
118 "SELECT * " |
|
119 ); |
|
120 |
|
121 _LIT( KSelectEventIds, |
|
122 "SELECT Event" |
|
123 ); |
|
124 |
|
125 _LIT( KDotEventId, |
|
126 ".EventId " |
|
127 ); |
|
128 |
|
129 _LIT( KSelectRelationIds, |
|
130 "SELECT Relations" |
|
131 ); |
|
132 |
|
133 _LIT( KDotRelationId, |
|
134 ".RelationId " |
|
135 ); |
|
136 |
|
137 |
|
138 // --------------------------------------------------------------------------- |
|
139 // FROM clauses |
|
140 // --------------------------------------------------------------------------- |
|
141 // |
|
142 |
|
143 _LIT( KFromBaseObject, |
|
144 "FROM Object" |
|
145 ); |
|
146 |
|
147 _LIT( KAsBaseObject, |
|
148 " AS BO " |
|
149 ); |
|
150 |
|
151 _LIT( KAsObjectOnEqual, |
|
152 " AS O ON BO.ObjectId=O.ObjectId " |
|
153 ); |
|
154 |
|
155 _LIT( KFreeTextLeftJoinBegin, |
|
156 "LEFT JOIN TextSearchDictionary" |
|
157 ); |
|
158 |
|
159 _LIT( KFreeTextLeftJoinMiddle, |
|
160 " AS D ON D.WordId IN(SELECT WordId FROM TextSearch" |
|
161 ); |
|
162 |
|
163 _LIT( KFreeTextLeftJoinEnd, |
|
164 " WHERE BO.ObjectId=ObjectId) " |
|
165 ); |
|
166 |
|
167 _LIT( KFromEvent, |
|
168 "FROM Event" |
|
169 ); |
|
170 |
|
171 _LIT( KFromRealtions, |
|
172 "FROM Relations" |
|
173 ); |
|
174 |
|
175 // --------------------------------------------------------------------------- |
|
176 // WHERE statement and comparison operators |
|
177 // --------------------------------------------------------------------------- |
|
178 // |
|
179 _LIT( KWhere, "WHERE" ); |
|
180 |
|
181 // Comparison operators |
|
182 _LIT( KEqual, "=?" ); |
|
183 _LIT( KNotEqual, "!=?" ); |
|
184 _LIT( KLess, "<?" ); |
|
185 _LIT( KLessOrEqual, "<=?" ); |
|
186 _LIT( KGreater, ">?" ); |
|
187 _LIT( KGreaterOrEqual, ">=?" ); |
|
188 _LIT( KBetween, " BETWEEN ? AND ?" ); |
|
189 _LIT( KNotBetween, " NOT BETWEEN ? AND ?" ); |
|
190 _LIT( KLike, " LIKE ?" ); |
|
191 |
|
192 // Logic operators |
|
193 _LIT( KAnd, "AND " ); |
|
194 _LIT( KOr, "OR " ); |
|
195 _LIT( KSpaceWithNot, " NOT" ); |
|
196 _LIT( KNotWithSpace, "NOT " ); |
|
197 _LIT( KNot, "NOT" ); |
|
198 |
|
199 // Object conditions |
|
200 _LIT( KObjectIdEqual, "ObjectId=?" ); |
|
201 _LIT( KObjectIdIn, "ObjectId IN" ); |
|
202 _LIT( KObjectDefIdEqual, "ObjectDefId=?" ); |
|
203 _LIT( KObjectGuidEqual, "(GuidHigh=? AND GuidLow=?)" ); |
|
204 _LIT( KObjectUsageCount, "UsageCount" ); |
|
205 _LIT( KObjectUriEqual, "URI=?" ); |
|
206 _LIT( KObjectUriBeginsWith, "URI LIKE ?" ); |
|
207 |
|
208 _LIT( KBaseObjectIdIn, "BO.ObjectId IN" ); |
|
209 _LIT( KBaseObjectIdNotIn, "BO.ObjectId NOT IN" ); |
|
210 |
|
211 // Object searches |
|
212 _LIT( KSelectObjectIdFromBaseObject, "SELECT ObjectId FROM Object" ); |
|
213 |
|
214 _LIT( KSelectObjectIdFrom, "SELECT ObjectId FROM " ); |
|
215 |
|
216 // Freetext searches |
|
217 _LIT( KObjectFreeTextSearchStart, "(ObjectId IN(SELECT ObjectID FROM TextSearch"); |
|
218 _LIT( KObjectFreeTextSearchWhere, " WHERE WordId IN(SELECT WordId FROM TextSearchDictionary"); |
|
219 _LIT( KObjectFreeTextSearchDictionaryWhere, " WHERE Word" ); |
|
220 _LIT( KObjectFreeTextSearchEnd, ")))" ); |
|
221 |
|
222 // Event searches |
|
223 _LIT( KSelectEventIdFromEvent, "SELECT EventId FROM Event" ); |
|
224 _LIT( KSelectObjectIdFromEvent, "SELECT ObjectId FROM Event" ); |
|
225 _LIT( KEventObjectIdIn, "ObjectId IN" ); |
|
226 _LIT( KEventTimeStamp, "TimeStamp" ); |
|
227 _LIT( KEventIdEqual, "EventId=?" ); |
|
228 _LIT( KEventDefIdEqual, "EventDefId=?" ); |
|
229 _LIT( KEventSourceEqual, "Source=?" ); |
|
230 _LIT( KEventParticipantEqual, "Participant=?" ); |
|
231 |
|
232 // Relation searches |
|
233 _LIT( KSelectRelationIdFromRelation, "SELECT RelationId FROM Relations" ); |
|
234 _LIT( KSelectLeftObjectIdFromRelation, "SELECT LeftObjectId FROM Relations" ); |
|
235 _LIT( KSelectRightObjectIdFromRelation, "SELECT RightObjectId FROM Relations" ); |
|
236 _LIT( KRelationIdEqual, "RelationId=?" ); |
|
237 _LIT( KRelationIdIn, "RelationId IN" ); |
|
238 _LIT( KRelationDefIdEqual, "RelationDefId=?" ); |
|
239 _LIT( KRelationGuidEqual, "GuidHigh=? AND GuidLow=?" ); |
|
240 _LIT( KRelationParameter, "Parameter" ); |
|
241 _LIT( KRelationLastModifiedDate, "LastModifiedDate" ); |
|
242 _LIT( KRelationLeftObjectIdIn, "LeftObjectId IN" ); |
|
243 _LIT( KRelationRightObjectIdIn, "RightObjectId IN" ); |
|
244 |
|
245 |
|
246 #endif // __MDSFINDSQLCLAUSEDEF_H__ |