--- /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__