// throw new IllegalStateException(); public virtual void CollectIDs(QueryingReadContext readContext) { IInternalReadContext context = (IInternalReadContext)readContext; int payloadOffset = context.ReadInt(); if (payloadOffset == 0) { return; } int savedOffSet = context.Offset(); try { ITypeHandler4 typeHandler = ReadTypeHandler(context, payloadOffset); if (typeHandler == null) { return; } SeekSecondaryOffset(context, typeHandler); if (IsPlainObject(typeHandler)) { readContext.Collector().AddId(readContext.ReadInt()); return; } CollectIdContext collectIdContext = new _CollectIdContext_203(readContext, readContext .Transaction(), readContext.Collector(), null, readContext.Buffer()); Handlers4.CollectIdsInternal(collectIdContext, context.Container().Handlers.CorrectHandlerVersion (typeHandler, context.HandlerVersion()), 0, false); } finally { context.Seek(savedOffSet); } }
/// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception> private bool CollectIDsByTypehandlerAspect(QueryingReadContext context) { var aspectFound = new BooleanByRef(false); var subContext = CollectIdContext.ForID(context.Transaction(), context .Collector(), context.CollectionID()); ITraverseAspectCommand command = new _MarshallingInfoTraverseAspectCommand_349(this , aspectFound, subContext, EnsureFieldList(subContext)); TraverseAllAspects(subContext, command); return(aspectFound.value); }