metadataengine/server/inc/mdsfindsqlclausedef.h
changeset 0 c53acadfccc6
equal deleted inserted replaced
-1:000000000000 0:c53acadfccc6
       
     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__