sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef __LOGSERVSQLSTRINGS_H__ sl@0: #define __LOGSERVSQLSTRINGS_H__ sl@0: sl@0: #include sl@0: sl@0: #ifdef __LOGSRV_STRINGS__ sl@0: #define CONST_LIT8(var, val) extern const TLitC8 var = {sizeof(val) - 1, val} sl@0: #define CONST_LIT16(var, val) extern const TLitC16 var = {sizeof(L##val)/2 - 1, L##val} sl@0: #define CONST_TTEXT(var, val) extern const TText var = val sl@0: #else sl@0: #define CONST_LIT8(var, val) extern const TLitC8 var sl@0: #define CONST_LIT16(var, val) extern const TLitC16 var sl@0: #define CONST_TTEXT(var, val) extern const TText var sl@0: #endif sl@0: sl@0: #ifdef _UNICODE sl@0: #define CONST_LIT(var, val) CONST_LIT16(var, val) sl@0: #else sl@0: #define CONST_LIT(var, val) CONST_LIT8(var, val) sl@0: #endif sl@0: sl@0: const TInt KMaxSqlStringLength = 1024; sl@0: extern TBuf TheSql; sl@0: sl@0: /////////// Create tables sl@0: #ifdef SYMBIAN_ENABLE_EVENTLOGGER_DUALSIM sl@0: CONST_LIT(KLogTableEventString, "CREATE TABLE Event (Id INTEGER NOT NULL, EType UNSIGNED TINYINT NOT NULL, Remote CHAR(%d), Direction SMALLINT, ETime DATE NOT NULL, DType TINYINT NOT NULL, Duration UNSIGNED INTEGER, Status SMALLINT, Subject CHAR(%d), Number CHAR(%d), Contact INTEGER, Link UNSIGNED INTEGER, Data LONG VARBINARY, Recent TINYINT, Duplicate INTEGER, Flag1 BIT NOT NULL, Flag2 BIT NOT NULL, Flag3 BIT NOT NULL, Flag4 BIT NOT NULL, SimId UNSIGNED INTEGER)"); sl@0: #else sl@0: CONST_LIT(KLogTableEventString, "CREATE TABLE Event (Id INTEGER NOT NULL, EType UNSIGNED TINYINT NOT NULL, Remote CHAR(%d), Direction SMALLINT, ETime DATE NOT NULL, DType TINYINT NOT NULL, Duration UNSIGNED INTEGER, Status SMALLINT, Subject CHAR(%d), Number CHAR(%d), Contact INTEGER, Link UNSIGNED INTEGER, Data LONG VARBINARY, Recent TINYINT, Duplicate INTEGER, Flag1 BIT NOT NULL, Flag2 BIT NOT NULL, Flag3 BIT NOT NULL, Flag4 BIT NOT NULL)"); sl@0: #endif sl@0: CONST_LIT(KLogTableTypeString, "CREATE TABLE Type (Id SMALLINT NOT NULL, UId UNSIGNED INTEGER NOT NULL, Description CHAR(%d) NOT NULL, Enabled BIT)"); sl@0: CONST_LIT(KLogTableStringString, "CREATE TABLE String (Id SMALLINT NOT NULL, TEXT CHAR(%d) NOT NULL)"); sl@0: CONST_LIT(KLogTableConfigString, "CREATE TABLE Config (Size UNSIGNED SMALLINT NOT NULL, Recent UNSIGNED TINYINT NOT NULL, Age UNSIGNED INTEGER NOT NULL)"); sl@0: /////////// Config table: operations sl@0: CONST_LIT(KLogSqlInsertConfigString, "INSERT INTO Config VALUES (%d, %d, %d)") ; sl@0: /////////// Type table: operations sl@0: CONST_LIT(KLogSqlUpdateTypeString, "UPDATE Type SET Description = '%S', Enabled = %d WHERE UId = %d") ; sl@0: CONST_LIT(KLogSqlDeleteTypeString, "DELETE FROM Type WHERE UId = %d") ; sl@0: // sl@0: CONST_LIT(KLogSqlSelectOldestString, "SELECT Id FROM Event WHERE ETime < #%S#") ; sl@0: CONST_LIT(KLogSqlDeleteOldestString, "DELETE FROM Event WHERE ETime < #%S#") ; sl@0: CONST_LIT(KLogSqlSelectAllRecent, "SELECT Id, Recent, Duplicate FROM Event") ; sl@0: CONST_LIT(KLogSqlSelectDuplicateString, "SELECT Id, Duplicate FROM EVENT WHERE Recent = %d %S AND NOT Id = %d ORDER BY Id DESC") ; sl@0: CONST_LIT(KLogSqlGetRecent, "SELECT Id FROM Event WHERE Recent = %d AND Duplicate IS NULL ORDER BY Id DESC") ; sl@0: CONST_LIT(KLogSqlRemoveDuplicateEvents, "UPDATE Event SET Recent = NULL, Duplicate = NULL WHERE "); sl@0: //The next 4 queries must have exactly the same set of columns in the list => see CLogServViewBase::InitializeColumnsL() sl@0: _LIT(KLogViewSelectColList, "SELECT Id, EType, Flag1, Flag2, Flag3, Flag4 FROM Event"); sl@0: _LIT(KLogSqlEventViewString, "%S %S ORDER BY Id DESC") ; sl@0: _LIT(KLogSqlAllRecentViewString, "%S WHERE Recent IS NOT NULL AND Duplicate IS NULL %S ORDER BY Id DESC") ; sl@0: _LIT(KLogSqlRecentViewString, "%S WHERE Recent=%d AND Duplicate IS NULL %S ORDER BY Id DESC") ; sl@0: _LIT(KLogSqlDuplicateViewString2, "%S WHERE Duplicate=%d %S ORDER BY Id DESC"); sl@0: // Selects all duplicate events for a particular recent list sl@0: _LIT(KLogSqlSelectAllDuplicatesString, "SELECT Id, Recent, Duplicate FROM Event WHERE Recent = %d AND Duplicate IS NOT NULL"); sl@0: // Get duplicate events sl@0: CONST_LIT(KLogSqlDuplicateViewString, "SELECT Id, EType, Duplicate, Flag1, Flag2, Flag3, Flag4 FROM Event WHERE Duplicate = %d %S ORDER BY Id DESC"); sl@0: // Remove duplicate event sl@0: CONST_LIT(KLogSqlRemoveDuplicateString, "UPDATE Event SET Recent = NULL, Duplicate = NULL WHERE Id = %d AND Duplicate = %d"); sl@0: //Field names sl@0: CONST_LIT(KLogNameEventString, "Event") ; sl@0: CONST_LIT(KLogNameTypeString, "Type"); sl@0: CONST_LIT(KLogNameStringString, "String"); sl@0: CONST_LIT(KLogNameConfigString, "Config"); sl@0: CONST_LIT(KLogFieldIdString, "Id"); sl@0: CONST_LIT(KLogFieldEventTypeString, "EType"); sl@0: CONST_LIT(KLogFieldEventRemoteString, "Remote"); sl@0: CONST_LIT(KLogFieldEventDirectionString, "Direction"); sl@0: CONST_LIT(KLogFieldEventTimeString, "ETime"); sl@0: CONST_LIT(KLogFieldEventDTypeString, "DType"); sl@0: CONST_LIT(KLogFieldEventDurationString, "Duration"); sl@0: CONST_LIT(KLogFieldEventStatusString, "Status"); sl@0: CONST_LIT(KLogFieldEventSubjectString, "Subject"); sl@0: CONST_LIT(KLogFieldEventNumberString, "Number"); sl@0: CONST_LIT(KLogFieldEventContactString, "Contact"); sl@0: CONST_LIT(KLogFieldEventLinkString, "Link"); sl@0: CONST_LIT(KLogFieldEventDataString, "Data"); sl@0: CONST_LIT(KLogFieldEventRecentString, "Recent"); sl@0: CONST_LIT(KLogFieldEventDuplicateString, "Duplicate"); sl@0: CONST_LIT(KLogFieldEventFlagString, "Flag%d"); sl@0: #ifdef SYMBIAN_ENABLE_EVENTLOGGER_DUALSIM sl@0: CONST_LIT(KLogFieldEventSimId, "SimId"); sl@0: #endif sl@0: CONST_LIT(KLogFieldTypeIdString, "Id"); sl@0: CONST_LIT(KLogFieldTypeUidString, "UId"); sl@0: CONST_LIT(KLogFieldTypeEnabledString, "Enabled"); sl@0: CONST_LIT(KLogFieldTypeDescriptionString, "Description"); sl@0: CONST_LIT(KLogFieldStringIdString, "Id"); sl@0: CONST_LIT(KLogFieldStringTextString, "Text"); sl@0: CONST_LIT(KLogFieldConfigSizeString, "Size"); sl@0: CONST_LIT(KLogFieldConfigRecentString, "Recent"); sl@0: CONST_LIT(KLogFieldConfigAgeString, "Age"); sl@0: sl@0: CONST_LIT(KLogNameEventIdx1, "Index1") ; sl@0: CONST_LIT(KLogFlagString, "Flag"); sl@0: CONST_LIT(KIdEqStr, "Id="); sl@0: CONST_LIT(KDuplicateEqStr, "Duplicate="); sl@0: CONST_LIT(KLogOpenBracket, "("); sl@0: CONST_LIT(KLogCloseBracket, ")"); sl@0: CONST_LIT(KLogAnd, " AND "); sl@0: CONST_LIT(KLogOr, " OR "); sl@0: CONST_LIT(KLogWhere, " WHERE "); sl@0: CONST_LIT(KLogStringPredicate, "%S='%S'"); sl@0: CONST_LIT(KLogNumberPredicate, "%S=%d"); sl@0: CONST_LIT(KLogUNumberPredicate, "%S=%u"); sl@0: CONST_LIT(KLogFlagPredicate, "%S%d=%d"); sl@0: CONST_LIT(KLogNullPredicate, "%S IS NULL"); sl@0: CONST_LIT(KLogLikePredicate, "%S LIKE '*%S'"); sl@0: CONST_LIT(KLogDateBeforePredicate, "%S<=#%S#"); sl@0: CONST_LIT(KLogDateAfterPredicate, "%S>=#%S#"); sl@0: sl@0: // sl@0: CONST_LIT(KLogUnknownString, "Unknown") ; sl@0: sl@0: CONST_LIT(KLogServ, "LogServ"); sl@0: sl@0: #ifdef SYSLIBS_TEST sl@0: //Complex recent list with a lot of fields. These are the fields values. sl@0: CONST_LIT(KLogRctTListRemoteParty, "TestRemParty"); sl@0: CONST_LIT(KLogRctTListDirection, "TestDir"); sl@0: CONST_LIT(KLogRctTListStatus, "TestStatus"); sl@0: CONST_LIT(KLogRctTListNumber, "11111999"); sl@0: const TInt KLogRctTListDurationType = 123; sl@0: const TUint KLogRctTListFlags = 0x9; sl@0: #ifdef SYMBIAN_ENABLE_EVENTLOGGER_DUALSIM sl@0: const TUint KLogRctTListSimId = 891711; sl@0: #endif sl@0: const TInt KLogRctTListId = 97; sl@0: #endif//SYSLIBS_TEST sl@0: sl@0: #endif