--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/dbms/pcdbms/utable/UT_STD.INL Fri Jan 22 11:06:30 2010 +0200
@@ -0,0 +1,206 @@
+// Copyright (c) 1998-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:
+//
+
+#include "D32Assert.h"
+
+// Class RDbIndexes
+inline RDbIndexes::RDbIndexes()
+ : iRep(_FOFF(CDbTableIndexDef,iLink))
+ {}
+// Class HDbColumnSet
+inline HDbColumnSet::TIterator HDbColumnSet::ColumnL(const TDesC& aColumn)
+ {return CONST_CAST(TIterator,((const HDbColumnSet*)this)->ColumnL(aColumn));}
+
+// Class RDbTableSchema
+inline RDbTableSchema::RDbTableSchema()
+ : iRep(_FOFF(CDbTableDef,iLink))
+ {}
+inline void RDbTableSchema::Close()
+ {Discard();}
+inline TBool RDbTableSchema::IsLoaded() const
+ {return iLoaded;}
+inline void RDbTableSchema::Remove(CDbTableDef* aDef)
+ {iRep.Remove(*aDef);}
+
+// Class CDbTable
+inline void CDbTable::Discard()
+ {__ASSERT(iRef==ECached);Release();}
+inline TBool CDbTable::IsIdle() const
+ {return iRef==EIdle;}
+inline TBool CDbTable::InUse() const
+ {return iRef>=0;}
+inline RDbCache& CDbTable::Cache()
+ {return Database().iCache;}
+
+// Class CDbTable::TValid
+inline CDbTable& CDbTable::TValid::Table() const
+ {return iTable;}
+inline CDbTable::TValid::operator TAny*() const
+ {return Table().iDatabase;}
+inline RDbTransaction& CDbTable::TValid::Transaction() const
+ {return Table().Database().Transaction();}
+
+// Class RDbTables
+inline RDbTables::RDbTables()
+ : iRep(_FOFF(CDbTable,iLink))
+ {}
+inline TBool RDbTables::IsEmpty() const
+ {return iRep.IsEmpty();}
+inline void RDbTables::Add(CDbTable& aTable)
+ {iRep.AddLast(aTable);}
+inline void RDbTables::Remove(CDbTable& aTable)
+ {iRep.Remove(aTable);}
+inline RDbTables::operator TSglQueBase&()
+ {return iRep;}
+
+// Class RDbTransaction
+inline RDbTransaction::RDbTransaction()
+ :iMaxLock(1)
+ {
+ __ASSERT(iDatabase==0);
+ __ASSERT(iAction==EDbReadLock);
+ __ASSERT(iLockState==EDbReadLock);
+ __ASSERT(iSharers==0);
+ __ASSERT(iLockCount==0);
+ __ASSERT(iUpdaters==0);
+ __ASSERT(iNotifier==0);
+ }
+inline void RDbTransaction::Open(CDbTableDatabase& aDatabase)
+ {__ASSERT(!iDatabase);iDatabase=&aDatabase;}
+inline const TDbGeneration& RDbTransaction::RollbackGeneration() const
+ {return iRollback;}
+inline TBool RDbTransaction::IsLocked() const
+ {return iLockCount>0;}
+inline CDbTableDatabase& RDbTransaction::Database()
+ {__ASSERT(iDatabase);return *iDatabase;}
+inline void RDbTransaction::ReadyL() const
+ {if (iLockState&EFailed) __LEAVE(KErrDied);}
+
+// Class CDbTableDatabase
+inline void CDbTableDatabase::Open()
+ {++iRef;}
+inline void CDbTableDatabase::AddTable(CDbTable& aTable)
+ {iTables.Add(aTable);}
+
+// Class CDbTableSource
+inline void CDbTableSource::SetIterator(CDbRecordIter* anIter)
+ {iIter=anIter;}
+inline CDbTable& CDbTableSource::Table()
+ {return iRow.Table();}
+inline const RDbTableRow& CDbTableSource::Row()
+ {return iRow;}
+
+// Class CDbDataStage
+inline void CDbDataStage::SetSource(CDbDataSource* aSource)
+ {__ASSERT(!iSource);iSource=aSource;}
+inline CDbDataSource& CDbDataStage::Source()
+ {return *iSource;}
+inline const CDbDataSource& CDbDataStage::Source() const
+ {return *iSource;}
+
+// Class CDbRestrictStage
+inline void CDbRestrictStage::SetRestriction(CSqlSearchCondition* aRestriction)
+ {__ASSERT(!iRestriction);iRestriction=aRestriction;}
+inline CSqlSearchCondition& CDbRestrictStage::Restriction() const
+ {__ASSERT(iRestriction);return *iRestriction;}
+
+// Class RDbAccessPlan
+inline RDbAccessPlan::RDbAccessPlan(CSqlQuery* aQuery,TDbTextComparison aComparison)
+ :iPlans(EGranularity),iComparison(aComparison),iQuery(aQuery)
+ {__DEBUG(iSource=NULL;iTable=NULL;)}
+inline RDbAccessPlan::RDbAccessPlan()
+ :iPlans(EGranularity),iComparison(EDbCompareNormal)
+ {__DEBUG(iSource=NULL;iTable=NULL;)}
+inline CDbTable& RDbAccessPlan::Table()
+ {__ASSERT(iTable);return *iTable;}
+inline CDbDataSource& RDbAccessPlan::Source()
+ {__ASSERT(iSource);return *iSource;}
+inline CDbDataSource* RDbAccessPlan::Adopt()
+ {__ASSERT(iSource);CDbDataSource* s=iSource;iSource=NULL;return s;}
+
+// Class RDbAccessPlan::TPlan
+inline RDbAccessPlan::TPlan::TPlan()
+ :iFlags(0),iLower(0),iUpper(0)
+ {}
+inline TBool RDbAccessPlan::TPlan::operator!=(const TPlan& aPlan) const
+ {return !(iFlags==aPlan.iFlags && iIndex==aPlan.iIndex && iUpper==aPlan.iUpper && iLower==aPlan.iLower);}
+
+// Class RDbAccessPlan::CDbCompPredicateList
+inline RDbAccessPlan::CDbCompPredicateList::CDbCompPredicateList(const CDbTableDef& aTableDef,TDbTextComparison aComparison)
+ : CArrayFixFlat<CSqlCompPredicate*>(EGranularity),iTableDef(aTableDef),iComparison(aComparison),iRestriction(EFalse)
+ {}
+inline TBool RDbAccessPlan::CDbCompPredicateList::IsRestriction()
+ {return iRestriction;}
+
+// Class CDbTableCursor
+inline CDbBlobSpace& CDbTableCursor::BlobsL() const
+ {CDbBlobSpace* b=iValid.Table().BlobsL();__ASSERT(b);return *b;}
+inline void CDbTableCursor::AddSink()
+ {__ASSERT((iFlags&EWriteBuf)==0);iFlags|=EWriteBuf;}
+inline void CDbTableCursor::ReleaseSink()
+ {__ASSERT(iFlags&EWriteBuf);iFlags&=~EWriteBuf;}
+inline void CDbTableCursor::AddSource()
+ {__ASSERT(iReadBuf<EMaxReadBuf);++iReadBuf;}
+inline void CDbTableCursor::ReleaseSource()
+ {__ASSERT(iReadBuf>0);--iReadBuf;}
+
+// Class CDbTableCursor::HReadBuf
+inline void CDbTableCursor::HReadBuf::Set(MStreamBuf* aHost)
+ {__ASSERT(!iHost);iHost=aHost;}
+
+// Class CDbTableDatabase::CIncremental
+inline RDbTransaction& CDbTableDatabase::CIncremental::Transaction()
+ {return iTransaction;}
+inline CDbTableDatabase& CDbTableDatabase::CIncremental::Database()
+ {return Transaction().Database();}
+inline void CDbTableDatabase::CIncremental::Construct(CStepper* aStepper)
+ {iStepper=aStepper;}
+inline TBool CDbTableDatabase::CIncremental::IsCommitted() const
+ {return iState==ECommitted;}
+
+// Class CDbTableDatabase::CCreateIndex
+inline CDbTableDatabase::CCreateIndex::CCreateIndex(RDbTransaction& aTransaction)
+ : CIncrementalDDL(aTransaction)
+ {}
+// Class CDbTableDatabase::CDropIndex
+inline CDbTableDatabase::CDropIndex::CDropIndex(RDbTransaction& aTransaction)
+ : CIncrementalDDL(aTransaction)
+ {}
+// Class CDbTableDatabase::CDropTable
+inline CDbTableDatabase::CDropTable::CDropTable(RDbTransaction& aTransaction)
+ : CIncrementalDDL(aTransaction)
+ {}
+// Class CDbTableDatabase::CAlterTable
+inline CDbTableDatabase::CAlterTable::CAlterTable(RDbTransaction& aTransaction,CDbTableDef& aDef)
+ : CIncrementalDDL(aTransaction), iDef(aDef)
+ {}
+// Class CDbIncrementalDML
+inline CDbIncrementalDML::CDbIncrementalDML(RDbAccessPlan& aPlan)
+ :iTable(aPlan.Table()),iSource(aPlan.Adopt())
+ {__ASSERT(iState==EInitialising);}
+inline RDbTransaction& CDbIncrementalDML::Transaction()
+ {return iTable.Database().Transaction();}
+inline TBool CDbIncrementalDML::IsUpdate() const
+ {return iValues!=NULL;}
+inline void CDbIncrementalDML::SetState(TState aState)
+ {iState=aState;}
+
+// Class CDbTableDatabase::CInterface
+inline CDbTableDatabase& CDbTableDatabase::CInterface::Database()
+ {return iDatabase;}
+
+// Class CDbTableDatabase::CSource
+inline CDbTableDatabase& CDbTableDatabase::CSource::Database()
+ {return iDatabase;}