equal
deleted
inserted
replaced
189 { |
189 { |
190 } |
190 } |
191 |
191 |
192 void CMdSSqlObjectManipulate::ConstructL( ) |
192 void CMdSSqlObjectManipulate::ConstructL( ) |
193 { |
193 { |
194 |
|
195 iGenerator = CMdSIdentifierGenerator::NewL(); |
194 iGenerator = CMdSIdentifierGenerator::NewL(); |
196 |
195 |
197 iNamespaceDef = NULL; |
196 iNamespaceDef = NULL; |
198 |
197 |
199 TLockBuffer lockBuffer; |
|
200 lockBuffer.iLock = EFalse; |
|
201 for (TInt i = 0; i < KMaxBuffers; ++i) |
198 for (TInt i = 0; i < KMaxBuffers; ++i) |
202 { |
199 { |
203 CMdsClauseBuffer* buffer = CMdsClauseBuffer::NewLC( 1024 ); |
200 TLockBuffer lockBuffer; |
204 lockBuffer.iBuffer = buffer; |
201 lockBuffer.iLock = EFalse; |
|
202 lockBuffer.iBuffer = CMdsClauseBuffer::NewLC( 1024 ); |
205 iBuffers.AppendL( lockBuffer ); |
203 iBuffers.AppendL( lockBuffer ); |
206 CleanupStack::Pop(); // buffer |
204 CleanupStack::Pop(); // buffer |
207 } |
205 } |
208 |
|
209 } |
206 } |
210 |
207 |
211 TBool CMdSSqlObjectManipulate::GarbageCollectionL() |
208 TBool CMdSSqlObjectManipulate::GarbageCollectionL() |
212 { |
209 { |
213 return DoGarbageCollectionL(); |
210 return DoGarbageCollectionL(); |
2055 prevId = objectId; |
2052 prevId = objectId; |
2056 } |
2053 } |
2057 if (!dataRow.Column(1).IsNull()) |
2054 if (!dataRow.Column(1).IsNull()) |
2058 { |
2055 { |
2059 dataRow.Column(1).Get( relationId ); |
2056 dataRow.Column(1).Get( relationId ); |
2060 aRelationIds.InsertInOrder( relationId, TLinearOrder<TItemId>( CompareTItemIds ) ); |
2057 const TInt error( aRelationIds.InsertInOrder( relationId, TLinearOrder<TItemId>( CompareTItemIds ) ) ); |
|
2058 if( error == KErrNoMemory ) |
|
2059 { |
|
2060 User::Leave( error ); |
|
2061 } |
2061 } |
2062 } |
2062 else |
2063 else |
2063 { |
2064 { |
2064 dataRow.Column(1).Set( relationId ); |
2065 dataRow.Column(1).Set( relationId ); |
2065 } |
2066 } |
3264 // or create new one |
3265 // or create new one |
3265 for (TInt i = 0; i < iBuffers.Count(); ++i) |
3266 for (TInt i = 0; i < iBuffers.Count(); ++i) |
3266 { |
3267 { |
3267 if (!iBuffers[i].iLock) |
3268 if (!iBuffers[i].iLock) |
3268 { |
3269 { |
3269 iBuffers[i].iLock = ETrue; |
3270 iBuffers[i].iLock = ETrue; |
3270 iBuffer = iBuffers[i].iBuffer; |
3271 CMdsClauseBuffer* oldBuffer( iBuffer ); |
|
3272 iBuffer = iBuffers[i].iBuffer; |
|
3273 TRAPD( error, iBuffer->ReserveSpaceL(aSize) ); |
|
3274 if( error != KErrNone ) |
|
3275 { |
|
3276 iBuffer = oldBuffer; |
|
3277 iBuffers[i].iLock = EFalse; |
|
3278 continue; |
|
3279 } |
|
3280 TRAP_IGNORE( iBuffer->BufferL().Zero() ); |
3271 iNr = i; |
3281 iNr = i; |
3272 TRAP_IGNORE( iBuffer->ReserveSpaceL(aSize) ); |
|
3273 TRAP_IGNORE( iBuffer->BufferL().Zero() ); |
|
3274 return; |
3282 return; |
3275 } |
3283 } |
3276 } |
3284 } |
3277 } |
3285 } |
3278 |
3286 |