예제 #1
0
        public virtual int InsertingLevelOf(object o)
        {
            ObjectInsertingInfo oii = null;

            insertingObjects.TryGetValue(o, out oii);
            if (oii == null)
            {
                return(0);
            }
            return(oii.level);
        }
예제 #2
0
        public virtual void EndInsertingObject(object o)
        {
            ObjectInsertingInfo oii = (ObjectInsertingInfo)insertingObjects[o];

            if (oii.level == 1)
            {
                insertingObjects.Remove(o);
                oii = null;
            }
            else
            {
                oii.level--;
            }
        }
예제 #3
0
        // No need to update the map, it is a reference.
        public virtual void UpdateIdOfInsertingObject(object o, NeoDatis.Odb.OID oid
                                                      )
        {
            if (oid == null)
            {
                throw new ODBRuntimeException(NeoDatisError.CacheNullOid);
            }
            ObjectInsertingInfo oii = (ObjectInsertingInfo)insertingObjects[o];

            if (oii != null)
            {
                oii.oid = oid;
            }
        }
예제 #4
0
        public virtual NeoDatis.Odb.OID IdOfInsertingObject(object o)
        {
            if (o == null)
            {
                return(StorageEngineConstant.NullObjectId);
            }
            ObjectInsertingInfo oii = null;

            insertingObjects.TryGetValue(o, out oii);

            if (oii != null)
            {
                return(oii.oid);
            }
            return(StorageEngineConstant.NullObjectId);
        }
예제 #5
0
        //throw new ODBRuntimeException(Error.CACHE_IS_FULL.addParameter(objectInfoPointersCacheFromOid.size()).addParameter(OdbConfiguration.getMaxNumberOfObjectInCache()));
        public virtual void StartInsertingObjectWithOid(object o, NeoDatis.Odb.OID
                                                        oid, NonNativeObjectInfo nnoi)
        {
            // In this case oid can be -1,because object is beeing inserted and do
            // not have yet a defined oid.
            if (o == null)
            {
                return;
            }
            ObjectInsertingInfo oii = null;

            insertingObjects.TryGetValue(o, out oii);
            if (oii == null)
            {
                insertingObjects[o] = new ObjectInsertingInfo(oid, 1);
            }
            else
            {
                oii.level++;
            }
        }
예제 #6
0
		//throw new ODBRuntimeException(Error.CACHE_IS_FULL.addParameter(objectInfoPointersCacheFromOid.size()).addParameter(OdbConfiguration.getMaxNumberOfObjectInCache()));
		public virtual void StartInsertingObjectWithOid(object o, NeoDatis.Odb.OID 
			oid, NonNativeObjectInfo nnoi)
		{
			// In this case oid can be -1,because object is beeing inserted and do
			// not have yet a defined oid.
			if (o == null)
			{
				return;
			}
			ObjectInsertingInfo oii = null;
            insertingObjects.TryGetValue(o,out oii);
			if (oii == null)
			{
				insertingObjects[o] = new ObjectInsertingInfo(oid, 1);
			}
			else
			{
				oii.level++;
			}
		}