1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/persistentdata/persistentstorage/dbms/pcdbms/utable/UT_STD.INL Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,206 @@
1.4 +// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of "Eclipse Public License v1.0"
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +//
1.18 +
1.19 +#include "D32Assert.h"
1.20 +
1.21 +// Class RDbIndexes
1.22 +inline RDbIndexes::RDbIndexes()
1.23 + : iRep(_FOFF(CDbTableIndexDef,iLink))
1.24 + {}
1.25 +// Class HDbColumnSet
1.26 +inline HDbColumnSet::TIterator HDbColumnSet::ColumnL(const TDesC& aColumn)
1.27 + {return CONST_CAST(TIterator,((const HDbColumnSet*)this)->ColumnL(aColumn));}
1.28 +
1.29 +// Class RDbTableSchema
1.30 +inline RDbTableSchema::RDbTableSchema()
1.31 + : iRep(_FOFF(CDbTableDef,iLink))
1.32 + {}
1.33 +inline void RDbTableSchema::Close()
1.34 + {Discard();}
1.35 +inline TBool RDbTableSchema::IsLoaded() const
1.36 + {return iLoaded;}
1.37 +inline void RDbTableSchema::Remove(CDbTableDef* aDef)
1.38 + {iRep.Remove(*aDef);}
1.39 +
1.40 +// Class CDbTable
1.41 +inline void CDbTable::Discard()
1.42 + {__ASSERT(iRef==ECached);Release();}
1.43 +inline TBool CDbTable::IsIdle() const
1.44 + {return iRef==EIdle;}
1.45 +inline TBool CDbTable::InUse() const
1.46 + {return iRef>=0;}
1.47 +inline RDbCache& CDbTable::Cache()
1.48 + {return Database().iCache;}
1.49 +
1.50 +// Class CDbTable::TValid
1.51 +inline CDbTable& CDbTable::TValid::Table() const
1.52 + {return iTable;}
1.53 +inline CDbTable::TValid::operator TAny*() const
1.54 + {return Table().iDatabase;}
1.55 +inline RDbTransaction& CDbTable::TValid::Transaction() const
1.56 + {return Table().Database().Transaction();}
1.57 +
1.58 +// Class RDbTables
1.59 +inline RDbTables::RDbTables()
1.60 + : iRep(_FOFF(CDbTable,iLink))
1.61 + {}
1.62 +inline TBool RDbTables::IsEmpty() const
1.63 + {return iRep.IsEmpty();}
1.64 +inline void RDbTables::Add(CDbTable& aTable)
1.65 + {iRep.AddLast(aTable);}
1.66 +inline void RDbTables::Remove(CDbTable& aTable)
1.67 + {iRep.Remove(aTable);}
1.68 +inline RDbTables::operator TSglQueBase&()
1.69 + {return iRep;}
1.70 +
1.71 +// Class RDbTransaction
1.72 +inline RDbTransaction::RDbTransaction()
1.73 + :iMaxLock(1)
1.74 + {
1.75 + __ASSERT(iDatabase==0);
1.76 + __ASSERT(iAction==EDbReadLock);
1.77 + __ASSERT(iLockState==EDbReadLock);
1.78 + __ASSERT(iSharers==0);
1.79 + __ASSERT(iLockCount==0);
1.80 + __ASSERT(iUpdaters==0);
1.81 + __ASSERT(iNotifier==0);
1.82 + }
1.83 +inline void RDbTransaction::Open(CDbTableDatabase& aDatabase)
1.84 + {__ASSERT(!iDatabase);iDatabase=&aDatabase;}
1.85 +inline const TDbGeneration& RDbTransaction::RollbackGeneration() const
1.86 + {return iRollback;}
1.87 +inline TBool RDbTransaction::IsLocked() const
1.88 + {return iLockCount>0;}
1.89 +inline CDbTableDatabase& RDbTransaction::Database()
1.90 + {__ASSERT(iDatabase);return *iDatabase;}
1.91 +inline void RDbTransaction::ReadyL() const
1.92 + {if (iLockState&EFailed) __LEAVE(KErrDied);}
1.93 +
1.94 +// Class CDbTableDatabase
1.95 +inline void CDbTableDatabase::Open()
1.96 + {++iRef;}
1.97 +inline void CDbTableDatabase::AddTable(CDbTable& aTable)
1.98 + {iTables.Add(aTable);}
1.99 +
1.100 +// Class CDbTableSource
1.101 +inline void CDbTableSource::SetIterator(CDbRecordIter* anIter)
1.102 + {iIter=anIter;}
1.103 +inline CDbTable& CDbTableSource::Table()
1.104 + {return iRow.Table();}
1.105 +inline const RDbTableRow& CDbTableSource::Row()
1.106 + {return iRow;}
1.107 +
1.108 +// Class CDbDataStage
1.109 +inline void CDbDataStage::SetSource(CDbDataSource* aSource)
1.110 + {__ASSERT(!iSource);iSource=aSource;}
1.111 +inline CDbDataSource& CDbDataStage::Source()
1.112 + {return *iSource;}
1.113 +inline const CDbDataSource& CDbDataStage::Source() const
1.114 + {return *iSource;}
1.115 +
1.116 +// Class CDbRestrictStage
1.117 +inline void CDbRestrictStage::SetRestriction(CSqlSearchCondition* aRestriction)
1.118 + {__ASSERT(!iRestriction);iRestriction=aRestriction;}
1.119 +inline CSqlSearchCondition& CDbRestrictStage::Restriction() const
1.120 + {__ASSERT(iRestriction);return *iRestriction;}
1.121 +
1.122 +// Class RDbAccessPlan
1.123 +inline RDbAccessPlan::RDbAccessPlan(CSqlQuery* aQuery,TDbTextComparison aComparison)
1.124 + :iPlans(EGranularity),iComparison(aComparison),iQuery(aQuery)
1.125 + {__DEBUG(iSource=NULL;iTable=NULL;)}
1.126 +inline RDbAccessPlan::RDbAccessPlan()
1.127 + :iPlans(EGranularity),iComparison(EDbCompareNormal)
1.128 + {__DEBUG(iSource=NULL;iTable=NULL;)}
1.129 +inline CDbTable& RDbAccessPlan::Table()
1.130 + {__ASSERT(iTable);return *iTable;}
1.131 +inline CDbDataSource& RDbAccessPlan::Source()
1.132 + {__ASSERT(iSource);return *iSource;}
1.133 +inline CDbDataSource* RDbAccessPlan::Adopt()
1.134 + {__ASSERT(iSource);CDbDataSource* s=iSource;iSource=NULL;return s;}
1.135 +
1.136 +// Class RDbAccessPlan::TPlan
1.137 +inline RDbAccessPlan::TPlan::TPlan()
1.138 + :iFlags(0),iLower(0),iUpper(0)
1.139 + {}
1.140 +inline TBool RDbAccessPlan::TPlan::operator!=(const TPlan& aPlan) const
1.141 + {return !(iFlags==aPlan.iFlags && iIndex==aPlan.iIndex && iUpper==aPlan.iUpper && iLower==aPlan.iLower);}
1.142 +
1.143 +// Class RDbAccessPlan::CDbCompPredicateList
1.144 +inline RDbAccessPlan::CDbCompPredicateList::CDbCompPredicateList(const CDbTableDef& aTableDef,TDbTextComparison aComparison)
1.145 + : CArrayFixFlat<CSqlCompPredicate*>(EGranularity),iTableDef(aTableDef),iComparison(aComparison),iRestriction(EFalse)
1.146 + {}
1.147 +inline TBool RDbAccessPlan::CDbCompPredicateList::IsRestriction()
1.148 + {return iRestriction;}
1.149 +
1.150 +// Class CDbTableCursor
1.151 +inline CDbBlobSpace& CDbTableCursor::BlobsL() const
1.152 + {CDbBlobSpace* b=iValid.Table().BlobsL();__ASSERT(b);return *b;}
1.153 +inline void CDbTableCursor::AddSink()
1.154 + {__ASSERT((iFlags&EWriteBuf)==0);iFlags|=EWriteBuf;}
1.155 +inline void CDbTableCursor::ReleaseSink()
1.156 + {__ASSERT(iFlags&EWriteBuf);iFlags&=~EWriteBuf;}
1.157 +inline void CDbTableCursor::AddSource()
1.158 + {__ASSERT(iReadBuf<EMaxReadBuf);++iReadBuf;}
1.159 +inline void CDbTableCursor::ReleaseSource()
1.160 + {__ASSERT(iReadBuf>0);--iReadBuf;}
1.161 +
1.162 +// Class CDbTableCursor::HReadBuf
1.163 +inline void CDbTableCursor::HReadBuf::Set(MStreamBuf* aHost)
1.164 + {__ASSERT(!iHost);iHost=aHost;}
1.165 +
1.166 +// Class CDbTableDatabase::CIncremental
1.167 +inline RDbTransaction& CDbTableDatabase::CIncremental::Transaction()
1.168 + {return iTransaction;}
1.169 +inline CDbTableDatabase& CDbTableDatabase::CIncremental::Database()
1.170 + {return Transaction().Database();}
1.171 +inline void CDbTableDatabase::CIncremental::Construct(CStepper* aStepper)
1.172 + {iStepper=aStepper;}
1.173 +inline TBool CDbTableDatabase::CIncremental::IsCommitted() const
1.174 + {return iState==ECommitted;}
1.175 +
1.176 +// Class CDbTableDatabase::CCreateIndex
1.177 +inline CDbTableDatabase::CCreateIndex::CCreateIndex(RDbTransaction& aTransaction)
1.178 + : CIncrementalDDL(aTransaction)
1.179 + {}
1.180 +// Class CDbTableDatabase::CDropIndex
1.181 +inline CDbTableDatabase::CDropIndex::CDropIndex(RDbTransaction& aTransaction)
1.182 + : CIncrementalDDL(aTransaction)
1.183 + {}
1.184 +// Class CDbTableDatabase::CDropTable
1.185 +inline CDbTableDatabase::CDropTable::CDropTable(RDbTransaction& aTransaction)
1.186 + : CIncrementalDDL(aTransaction)
1.187 + {}
1.188 +// Class CDbTableDatabase::CAlterTable
1.189 +inline CDbTableDatabase::CAlterTable::CAlterTable(RDbTransaction& aTransaction,CDbTableDef& aDef)
1.190 + : CIncrementalDDL(aTransaction), iDef(aDef)
1.191 + {}
1.192 +// Class CDbIncrementalDML
1.193 +inline CDbIncrementalDML::CDbIncrementalDML(RDbAccessPlan& aPlan)
1.194 + :iTable(aPlan.Table()),iSource(aPlan.Adopt())
1.195 + {__ASSERT(iState==EInitialising);}
1.196 +inline RDbTransaction& CDbIncrementalDML::Transaction()
1.197 + {return iTable.Database().Transaction();}
1.198 +inline TBool CDbIncrementalDML::IsUpdate() const
1.199 + {return iValues!=NULL;}
1.200 +inline void CDbIncrementalDML::SetState(TState aState)
1.201 + {iState=aState;}
1.202 +
1.203 +// Class CDbTableDatabase::CInterface
1.204 +inline CDbTableDatabase& CDbTableDatabase::CInterface::Database()
1.205 + {return iDatabase;}
1.206 +
1.207 +// Class CDbTableDatabase::CSource
1.208 +inline CDbTableDatabase& CDbTableDatabase::CSource::Database()
1.209 + {return iDatabase;}