コード例 #1
0
ファイル: IDHandler.cs プロジェクト: superyfwy/db4o
		public override void DefragIndexEntry(DefragmentContextImpl context)
		{
			int sourceId = context.CopyIDReturnOriginalID(true);
			context.CurrentParentSourceID(sourceId);
		}
コード例 #2
0
ファイル: OpenTypeHandler0.cs プロジェクト: Galigator/db4o
		private int CopyDependentSlot(IDefragmentContext context, int sourceId)
		{
			try
			{
				ByteArrayBuffer sourceBuffer = context.SourceBufferById(sourceId);
				Slot targetPayloadSlot = context.AllocateTargetSlot(sourceBuffer.Length());
				int targetId = context.Services().TargetNewId();
				context.Services().MapIDs(sourceId, targetId, false);
				context.Services().Mapping().MapId(targetId, targetPayloadSlot);
				DefragmentContextImpl payloadContext = new DefragmentContextImpl(sourceBuffer, (DefragmentContextImpl
					)context);
				int clazzId = payloadContext.CopyIDReturnOriginalID();
				ITypeHandler4 payloadHandler = payloadContext.TypeHandlerForId(clazzId);
				ITypeHandler4 versionedPayloadHandler = HandlerRegistry.CorrectHandlerVersion(payloadContext
					, payloadHandler);
				versionedPayloadHandler.Defragment(payloadContext);
				payloadContext.WriteToTarget(targetPayloadSlot.Address());
				return targetId;
			}
			catch (IOException ioexc)
			{
				throw new Db4oIOException(ioexc);
			}
		}
コード例 #3
0
ファイル: IDHandler.cs プロジェクト: danfma/db4o-net
        public override void DefragIndexEntry(DefragmentContextImpl context)
        {
            int sourceId = context.CopyIDReturnOriginalID(true);

            context.CurrentParentSourceID(sourceId);
        }