private void RegisterClassMetadataById(ClassMetadata clazz) { if (clazz.GetID() == 0) { clazz.Write(_systemTransaction); } _classMetadataByID.Put(clazz.GetID(), clazz); }
public MsgD GetWriter(Transaction trans, Pointer4 pointer, ClassMetadata classMetadata , int param, ByteArrayBuffer buffer) { return GetWriter(trans, pointer, buffer, new[] { classMetadata.GetID(), param }); }
public MsgD GetWriter(Transaction trans, Pointer4 pointer, ClassMetadata classMetadata , ByteArrayBuffer buffer) { if (classMetadata == null) { return GetWriter(trans, pointer, buffer, new int[] { 0 }); } return GetWriter(trans, pointer, buffer, new int[] { classMetadata.GetID() }); }
internal FieldMetadata(ClassMetadata containingClass, IReflectField field, ClassMetadata fieldType) : this(containingClass) { Init(field.GetName()); _reflectField = field; _fieldType = fieldType; _fieldTypeID = fieldType.GetID(); // TODO: beautify !!! possibly pull up isPrimitive to ReflectField bool isPrimitive = field is GenericField ? ((GenericField)field).IsPrimitive() : false; Configure(field.GetFieldType(), isPrimitive); CheckDb4oType(); SetAvailable(); }
public override int InstanceCount(ClassMetadata clazz, Transaction trans) { MsgD msg = Msg.InstanceCount.GetWriterForInt(trans, clazz.GetID()); Write(msg); MsgD response = (MsgD)ExpectedResponse(Msg.InstanceCount); return response.ReadInt(); }
private long[] GetIDsForClass(Transaction trans, ClassMetadata clazz, bool triggerQueryEvents ) { MsgD msg = Msg.GetInternalIds.GetWriterForInts(trans, new int[] { clazz.GetID(), PrefetchDepth(), PrefetchCount(), triggerQueryEvents ? 1 : 0 }); Write(msg); ByRef result = ByRef.NewInstance(); WithEnvironment(new _IRunnable_901(this, trans, result)); return ((long[])result.value); }
private static void WriteElementTypeId(IWriteContext context, ClassMetadata elementType) { context.WriteInt(elementType.GetID()); }
private void RefreshClass(ClassMetadata clazz) { if (_classMetadataByID.Get(clazz.GetID()) == null) { _classes.Add(clazz); _classMetadataByID.Put(clazz.GetID(), clazz); RefreshClassCache(clazz, null); } }
/// <exception cref="Db4objects.Db4o.CorruptionException"></exception> /// <exception cref="System.IO.IOException"></exception> private static void ProcessClassAndFieldIndices(DefragmentServicesImpl context, ClassMetadata curClass, IPassCommand command) { int sourceClassIndexID = 0; int targetClassIndexID = 0; if (curClass.HasClassIndex()) { sourceClassIndexID = curClass.Index().Id(); targetClassIndexID = context.MappedID(sourceClassIndexID, -1); } command.ProcessClass(context, curClass, curClass.GetID(), targetClassIndexID); }