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