upnpharvester/common/dbmanager/inc/cmdmsqlmaintenanceclauses.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:52:00 +0200
changeset 0 7f85d04be362
permissions -rw-r--r--
Revision: 200947 Kit: 200951

/*
* Copyright (c) 2008 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 SQL clauses for creating and dropping tables 
*
*/






#ifndef __CMDMSQLMAINTENANCECLAUSES_H__
#define __CMDMSQLMAINTENANCECLAUSES_H__

///////////////////////////////////////////////////////////////////
// DROP CLAUSES
///////////////////////////////////////////////////////////////////

// Drop tables
_LIT8( KDropFillRuleGroup,      "DROP TABLE FillRuleGroup;" );
_LIT8( KDropRules,              "DROP TABLE Rules;" );
_LIT8( KDropRuleParams,         "DROP TABLE RuleParams;" );
_LIT8( KDropRuleGroupServers,   "DROP TABLE RuleGroupServers;" );
_LIT8( KDropMediaServers,       "DROP TABLE MediaServers;" );
_LIT8( KDropHashValues,         "DROP TABLE HashValues;" );
_LIT8( KDropStored,             "DROP TABLE Stored;" );
_LIT8( KDropFilled,             "DROP TABLE Filled;" );
_LIT8( KDropIDs,                "DROP TABLE IDs;" );
_LIT8( KDropStoreRules,         "DROP TABLE StoreRules;" );
_LIT8( KDropStoreRuleParams,    "DROP TABLE StoreRuleParams;");
_LIT8( KDropStoreRuleServers,   "DROP TABLE StoreRuleServers;");

_LIT8( KDropFillFiles,          "DROP TABLE FillFiles;");
_LIT8( KDropStoreFiles,         "DROP TABLE StoreFiles;");
_LIT8( KDropStoreFileServers,   "DROP TABLE StoreFileServers;");
_LIT8( KDropImageShrinkingInfo, "DROP TABLE ImageShrinkingInfo;");
_LIT8( KDropTransferInfo,       "DROP TABLE TransferInfo;");
_LIT8( KDropSyncTime,           "DROP TABLE SyncTime;");
_LIT8( KDropProgressInfo,       "DROP TABLE ProgressInfo;"); 

_LIT8( KDropDrivesInfo,          "DROP TABLE DrivesInfo;");

///////////////////////////////////////////////////////////////////
// CREATE CLAUSES FOR TABLES
///////////////////////////////////////////////////////////////////

// ONTOLOGY TABLES
_LIT8( KCreateFillRuleGroup,
        "CREATE TABLE FillRuleGroup("
            "RuleGroupID        INTEGER NOT NULL,"
            "Name               TEXT NOT NULL,"
            "Method             INTEGER,"
            "LimitType          INTEGER,"
            "Quantity           INTEGER,"
            "Selected           INTEGER,"
            "Priority           INTEGER,"
            "TemplateId         INTEGER,"
            "MediaType          INTEGER,"
            "Status             INTEGER,"
            "RealCount          INTEGER,"
            "RealSize           INTEGER,"
            "PRIMARY KEY(RuleGroupID));"
            );

_LIT8( KCreateRules, 
        "CREATE TABLE Rules("
            "RuleID             INTEGER NOT NULL,"
            "RuleGroupID        INTEGER NOT NULL,"
            "MetadataField      INTEGER,"
            "Operator           INTEGER,"
            "PRIMARY KEY(RuleID));"
            );

_LIT8( KCreateRuleParams, 
        "CREATE TABLE RuleParams("
            "RuleParamID        INTEGER NOT NULL,"
            "RuleID             INTEGER NOT NULL,"
            "ComparisonFieldData TEXT,"
            "ComparisonFieldIndex INTEGER,"
            "PRIMARY KEY(RuleParamID));"
            );
            
_LIT8( KCreateRuleGroupServers, 
        "CREATE TABLE RuleGroupServers("
            "RuleGroupID        INTEGER NOT NULL,"
            "MediaServerID      INTEGER NOT NULL);"
            );
            
_LIT8( KCreateMediaServers, 
        "CREATE TABLE MediaServers("
            "MediaServerID          INTEGER NOT NULL,"
            "UDN                    TEXT NOT NULL,"
            "Name                   TEXT NOT NULL,"
            "SystemUpdateID         INTEGER,"
            "VisibleDate            DATETIME,"
            "DownloadData           INTEGER,"
            "UploadData             INTEGER,"
            "DownloadTime           INTEGER,"
            "UploadTime             INTEGER,"
            "IsActive               INTEGER,"
            "CopyCapability         INTEGER,"
            "FillUsage              INTEGER,"
            "StoreUsage             INTEGER,"
            "PRIMARY KEY(MediaServerID));"
            );

_LIT8( KCreateHashValues, 
        "CREATE TABLE HashValues("
            "HashValueID            INTEGER NOT NULL,"
            "MediaServerID          INTEGER NOT NULL,"
            "StartIndex             INTEGER NOT NULL,"
            "ItemCount              INTEGER NOT NULL,"
            "Hash                   TEXT NOT NULL,"
            "PRIMARY KEY(HashValueID));"
            );
            
            
_LIT8( KCreateStored, 
        "CREATE TABLE Stored("
            "StoredFile             TEXT NOT NULL,"
            "StoredID               INTEGER NOT NULL,"
            "MediaServerID          INTEGER NOT NULL," 
            "Date                   DATETIME,"
            "PRIMARY KEY(StoredID));"
            );           

_LIT8( KCreateIDs, 
        "CREATE TABLE IDs("
            "IDValue                INTEGER NOT NULL,"
            "IDType                 INTEGER NOT NULL,"
            "PRIMARY KEY(IDType));"
            );
            
_LIT8( KCreateStoreRules, 
        "CREATE TABLE StoreRules("
            "StoreRuleId            INTEGER NOT NULL,"
            "Name                   TEXT NOT NULL,"
            "Selected               INTEGER,"
            "Status                 INTEGER,"
            "PRIMARY KEY(StoreRuleId));"
            );
            
_LIT8( KCreateStoreRuleParams, 
        "CREATE TABLE StoreRuleParams("
            "StoreRuleId            INTEGER NOT NULL,"
            "StoreRuleParamId       INTEGER NOT NULL,"
            "MediaType              INTEGER,"
            "PRIMARY KEY(StoreRuleParamId));"
            );

_LIT8( KCreateStoreRuleServers, 
        "CREATE TABLE StoreRuleServers("
            "StoreRuleId            INTEGER NOT NULL,"
            "MediaServerID          INTEGER NOT NULL);"
            );
                   
_LIT8( KCreateFillFiles, 
        "CREATE TABLE FillFiles("
            "FileId                 INTEGER NOT NULL,"
            "PrimaryText            TEXT NOT NULL,"    
            "SecondaryText          TEXT,"    
            "Path                   TEXT,"
            "Uri                    TEXT NOT NULL,"
            "ItemId                 TEXT NOT NULL,"
            "UpnpClass              TEXT,"
            "MediaType              INTEGER,"
            "Priority               INTEGER,"// Highest priority is zero
            "Size                   INTEGER,"// In bytes
            "Status                 INTEGER,"                
            "Date                   DATETIME,"
            "FillListId             INTEGER NOT NULL,"
            "MediaServerId          INTEGER NOT NULL,"
            "Selected               INTEGER,"
            "RefId                  INTEGER,"
            "DriveId                INTEGER,"
            "DriveNumber            INTEGER );"
            //"PRIMARY KEY(FileId));"
            );
                    
_LIT8( KCreateStoreFiles, 
        "CREATE TABLE StoreFiles("
            "FileId                 INTEGER NOT NULL,"
            "PrimaryText            TEXT NOT NULL,"
            "SecondaryText          TEXT,"
            "Path                   TEXT,"
            "Size                   INTEGER,"
            "Date                   DATETIME,"
            "StoreListId            INTEGER NOT NULL,"
            "PRIMARY KEY(FileId));"
            );
                       
_LIT8( KCreateStoreFileServers, 
        "CREATE TABLE StoreFileServers("
            "Fid                    INTEGER NOT NULL,"
            "MediaServerId          INTEGER NOT NULL,"
            "Status                 INTEGER );"
            );                                    

_LIT8( KCreateImageShrinkingInfo, 
        "CREATE TABLE ImageShrinkingInfo("
            "Count                  INTEGER,"
            "Time                   INTEGER );"
            );
            
_LIT8( KCreateTransferInfo,
        "CREATE TABLE TransferInfo("
            "Service                INTEGER,"
            "Count                  INTEGER,"
            "Time                   INTEGER,"
            "PRIMARY KEY(Service));"
        );

_LIT8( KCreateSyncTime,
        "CREATE TABLE SyncTime("
        "Time                       DATETIME );"
        );
        
_LIT8( KCreateProgressInfo,
        "CREATE TABLE ProgressInfo("
        "Trasferred                 INTEGER,"
        "TotalCount                 INTEGER );"
        );        

_LIT8( KCreateDrivesInfo,
        "CREATE TABLE  DrivesInfo("
        "DriveNumber                INTEGER,"
        "DriveType                  INTEGER,"
        "DriveName                  TEXT,"
        "Size                       INTEGER,"
        "Quota                      INTEGER,"
        "UsedQuota                  INTEGER,"
        "UniqueId                   INTEGER,"
        "Active                     INTEGER );"
        );
               
///////////////////////////////////////////////////////////////////
// CREATE CLAUSES FOR INDEXES
///////////////////////////////////////////////////////////////////
_LIT8( KCreateStoreStatusIndex, 
        "CREATE INDEX Store_status_index ON StoreFiles(Status);"
        );

_LIT8( KCreateFillStatusIndex, 
        "CREATE INDEX Fill_status_index ON FillFiles(Status);"
        );        

_LIT8( KCreateFillListIdIndex, 
        "CREATE INDEX FillListIdIndex ON FillFiles(FillListId);"
        ); 

_LIT8( KCreateFillItemRefIndex,
        "CREATE INDEX FillList_Ref_Index ON FillFiles( FileId, "
        "RefId, Priority, Selected );"
        );
                
// Dropping indexes
_LIT8( KDropStoreStatusIndex, 
    "DROP INDEX Store_status_index;"
    );

_LIT8( KDropFillStatusIndex,
    "DROP INDEX Fill_status_index;"
    );    

_LIT8( KDropFillListIdIndex, 
        "DROP INDEX FillListIdIndex;"
        );
        
_LIT8( KDropFillItemRefIndex,
        "DROP INDEX FillList_Ref_Index;"
        );         
            
#endif // __CMDMSQLMAINTENANCECLAUSES_H__