metadataengine/server/inc/mdsfindsqlclausedef.h
changeset 0 c53acadfccc6
child 60 79f826a55db2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/metadataengine/server/inc/mdsfindsqlclausedef.h	Mon Jan 18 20:34:07 2010 +0200
@@ -0,0 +1,246 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Includes predefined SQL clauses for usage of*
+*/
+
+#ifndef __MDSFINDSQLCLAUSEDEF_H__
+#define __MDSFINDSQLCLAUSEDEF_H__
+
+// ---------------------------------------------------------------------------
+// Misc definitions
+// ---------------------------------------------------------------------------
+//
+
+_LIT( KEmpty, "" );
+_LIT( KSpace, " " );
+_LIT( KLeftBracket, "(" );
+_LIT( KRightBracket, ")" );
+_LIT( KComma, "," );
+_LIT( KSemicolon, ";" );
+_LIT( KVariable, "?" );
+_LIT( KWildcard, "%" );
+_LIT( KEmptyTrue, "1" ); // used from always pass true tests
+
+_LIT( KCommaVariable, ",?" );
+
+_LIT( KNotIn, " NOT IN" );
+_LIT( KIn, " IN" );
+_LIT( KOrderBy, " ORDER BY " );
+_LIT( KNoCaseSensitive, " COLLATE NOCASE ");
+_LIT( KLimit, "LIMIT " );
+_LIT( KOffset, "OFFSET " );
+_LIT( KAsc, " ASC");
+_LIT( KDesc, " DESC" );
+
+_LIT( KIsNull,  " ISNULL" );
+_LIT( KNotNull, " NOTNULL" );
+
+_LIT( KUnion, " UNION " );
+_LIT( KIntersect, " INTERSECT " );
+
+_LIT( KUnionAll, " UNION ALL " );
+
+_LIT( KAsBoJoin, " AS BO JOIN " );
+
+_LIT( KBaseObjectObjectId, "BO.ObjectId" );
+_LIT( KObjectObjectId,     "O.ObjectId" );
+
+_LIT( KRelationId, "RelationId" );
+_LIT( KEventId,    "EventId" );
+
+_LIT( KSelectPropertyFilterBegin, "SELECT BO.ObjectId,BO.ObjectDefId,BO.Flags,BO.MediaId,BO.UsageCount,BO.GuidHigh,BO.GuidLow,BO.URI" );
+
+_LIT( KBaseObjectDot, "BO." );
+_LIT( KObjectDot,     "O." );
+
+_LIT( KGroupByObjectId, "GROUP BY BO.ObjectId " );
+
+// ---------------------------------------------------------------------------
+// Object flags
+// ---------------------------------------------------------------------------
+//
+
+_LIT( KGetFlagAnd, "(Flags&?)AND " );        // Flag is set
+_LIT( KGetNotFlagAnd, "(NOT Flags&?)AND " ); // Flag is not set
+
+_LIT( KGetNotFlag, "(NOT Flags&?) " );        // Flag is not set
+
+_LIT( KWhereNotFlag, "WHERE(NOT Flags&?)" ); // Flag is not set
+
+// ---------------------------------------------------------------------------
+// SELECT clauses
+// ---------------------------------------------------------------------------
+//
+
+_LIT( KSelect, "SELECT " );
+
+_LIT( KSelectCount, 
+	"SELECT count(*) "
+	);
+
+_LIT( KSelect1,
+	"SELECT 1 "
+	);
+
+_LIT( KSelectObjectIds,
+    "SELECT BO.ObjectId "
+    );
+
+_LIT( KSelectAllFromBaseObject, 
+	"SELECT BO.* "
+	);
+
+_LIT( KAllFromObject, 
+	",O.* "
+	);
+
+_LIT( KSelectFreeTextCountAndTotalLength, 
+	",count(D.Word),sum(length(D.Word)) "
+	);
+
+// distict queries
+_LIT( KSelectDistinct, 
+	"SELECT DISTINCT "
+	);
+
+_LIT( KSelectAllFrom, 
+	"SELECT * "
+	);
+
+_LIT( KSelectEventIds, 
+	"SELECT Event"
+	);
+
+_LIT( KDotEventId, 
+	".EventId "
+	);
+
+_LIT( KSelectRelationIds, 
+	"SELECT Relations"
+	);
+
+_LIT( KDotRelationId, 
+	".RelationId "
+	);
+
+
+// ---------------------------------------------------------------------------
+// FROM clauses
+// ---------------------------------------------------------------------------
+//
+
+_LIT( KFromBaseObject, 
+	"FROM Object"
+	);
+
+_LIT( KAsBaseObject, 
+	" AS BO "
+	);
+
+_LIT( KAsObjectOnEqual, 
+	" AS O ON BO.ObjectId=O.ObjectId "
+	);
+
+_LIT( KFreeTextLeftJoinBegin,
+	"LEFT JOIN TextSearchDictionary"
+	);
+
+_LIT( KFreeTextLeftJoinMiddle,
+	" AS D ON D.WordId IN(SELECT WordId FROM TextSearch"
+	);
+
+_LIT( KFreeTextLeftJoinEnd,
+	" WHERE BO.ObjectId=ObjectId) "
+	);
+
+_LIT( KFromEvent, 
+    "FROM Event"
+    );
+
+_LIT( KFromRealtions, 
+    "FROM Relations"
+    );
+
+// ---------------------------------------------------------------------------
+// WHERE statement and comparison operators
+// ---------------------------------------------------------------------------
+//
+_LIT( KWhere, "WHERE" );
+
+// Comparison operators
+_LIT( KEqual,          "=?" );
+_LIT( KNotEqual,       "!=?" );
+_LIT( KLess,           "<?" );
+_LIT( KLessOrEqual,    "<=?" );
+_LIT( KGreater,        ">?" );
+_LIT( KGreaterOrEqual, ">=?" );
+_LIT( KBetween,        " BETWEEN ? AND ?" );
+_LIT( KNotBetween,     " NOT BETWEEN ? AND ?" );
+_LIT( KLike,           " LIKE ?" );
+
+// Logic operators
+_LIT( KAnd,          "AND " );
+_LIT( KOr,           "OR "  );
+_LIT( KSpaceWithNot, " NOT" );
+_LIT( KNotWithSpace, "NOT " );
+_LIT( KNot, "NOT" );
+
+// Object conditions
+_LIT( KObjectIdEqual,       "ObjectId=?" );
+_LIT( KObjectIdIn,          "ObjectId IN" );
+_LIT( KObjectDefIdEqual,    "ObjectDefId=?" );
+_LIT( KObjectGuidEqual,     "(GuidHigh=? AND GuidLow=?)" );
+_LIT( KObjectUsageCount,    "UsageCount" );
+_LIT( KObjectUriEqual,      "URI=?" );
+_LIT( KObjectUriBeginsWith, "URI LIKE ?" );
+
+_LIT( KBaseObjectIdIn,    "BO.ObjectId IN" );
+_LIT( KBaseObjectIdNotIn, "BO.ObjectId NOT IN" );
+
+// Object searches
+_LIT( KSelectObjectIdFromBaseObject, "SELECT ObjectId FROM Object" );
+
+_LIT( KSelectObjectIdFrom, "SELECT ObjectId FROM " );
+
+// Freetext searches
+_LIT( KObjectFreeTextSearchStart,           "(ObjectId IN(SELECT ObjectID FROM TextSearch");
+_LIT( KObjectFreeTextSearchWhere,           " WHERE WordId IN(SELECT WordId FROM TextSearchDictionary");
+_LIT( KObjectFreeTextSearchDictionaryWhere, " WHERE Word" );
+_LIT( KObjectFreeTextSearchEnd,             ")))" );
+
+// Event searches
+_LIT( KSelectEventIdFromEvent,  "SELECT EventId FROM Event" );
+_LIT( KSelectObjectIdFromEvent, "SELECT ObjectId FROM Event" );
+_LIT( KEventObjectIdIn,         "ObjectId IN" );
+_LIT( KEventTimeStamp,          "TimeStamp" );
+_LIT( KEventIdEqual,            "EventId=?" );
+_LIT( KEventDefIdEqual,         "EventDefId=?" );
+_LIT( KEventSourceEqual,        "Source=?" );
+_LIT( KEventParticipantEqual,   "Participant=?" );
+
+// Relation searches
+_LIT( KSelectRelationIdFromRelation,    "SELECT RelationId FROM Relations" );
+_LIT( KSelectLeftObjectIdFromRelation,  "SELECT LeftObjectId FROM Relations" );
+_LIT( KSelectRightObjectIdFromRelation, "SELECT RightObjectId FROM Relations" );
+_LIT( KRelationIdEqual,                 "RelationId=?" );
+_LIT( KRelationIdIn,                  	"RelationId IN" );
+_LIT( KRelationDefIdEqual,              "RelationDefId=?" );
+_LIT( KRelationGuidEqual,               "GuidHigh=? AND GuidLow=?" );
+_LIT( KRelationParameter,               "Parameter" );
+_LIT( KRelationLastModifiedDate,        "LastModifiedDate" );
+_LIT( KRelationLeftObjectIdIn,          "LeftObjectId IN" );
+_LIT( KRelationRightObjectIdIn,         "RightObjectId IN" );
+
+
+#endif // __MDSFINDSQLCLAUSEDEF_H__