Exemple #1
0
 public void Clear()
 {
     if (Modifies != null)
     {
         Modifies.Clear();
     }
 }
Exemple #2
0
 public void Destroy()
 {
     if (Modifies != null)
     {
         Modifies.Clear();
         Modifies = null;
     }
 }
        public void WriteFixedBTreeRootInitialized(PagePosition pos)
        {
            if (LogEnable)
            {
                Logger.Add((byte)LogFlags.FBPAGE_ROOT_INITED);
                Logger.AddRange(BitConverter.GetBytes(pos.FileId));
                Logger.AddRange(BitConverter.GetBytes(pos.PageNumber));

                Modified = true;
                Modifies.Add(pos);
            }
        }
        public void WriteBTreePageReorganize(PagePosition pos)
        {
            if (LogEnable)
            {
                Logger.Add((byte)LogFlags.BPAGE_REORGANIZE);
                Logger.AddRange(BitConverter.GetBytes(pos.FileId));
                Logger.AddRange(BitConverter.GetBytes(pos.PageNumber));

                Modified = true;
                Modifies.Add(pos);
            }
        }
        public void WriteFixedBTreePageDeleteEntry(PagePosition pos, int index)
        {
            if (LogEnable)
            {
                Logger.Add((byte)LogFlags.FBPAGE_DELETE_ENTRY);
                Logger.AddRange(BitConverter.GetBytes(pos.FileId));
                Logger.AddRange(BitConverter.GetBytes(pos.PageNumber));
                Logger.AddRange(BitConverter.GetBytes((ushort)index));

                Modified = true;
                Modifies.Add(pos);
            }
        }
        public void WriteByte8(PagePosition pos, short offset, long value)
        {
            if (LogEnable)
            {
                Logger.Add((byte)LogFlags.SET_BYTE_8);
                Logger.AddRange(BitConverter.GetBytes(pos.FileId));
                Logger.AddRange(BitConverter.GetBytes(pos.PageNumber));
                Logger.AddRange(BitConverter.GetBytes(offset));
                Logger.AddRange(BitConverter.GetBytes(value));

                Modified = true;
                Modifies.Add(pos);
            }
        }
        public void WriteBTreePageCreated(PagePosition pos, TreeNodeFlags flags, byte depth)
        {
            if (LogEnable)
            {
                Logger.Add((byte)LogFlags.BPAGE_CREATED);
                Logger.AddRange(BitConverter.GetBytes(pos.FileId));
                Logger.AddRange(BitConverter.GetBytes(pos.PageNumber));
                Logger.Add((byte)flags);
                Logger.Add(depth);

                Modified = true;
                Modifies.Add(pos);
            }
        }
        public void WriteBytes(PagePosition pos, short offset, Span <byte> values)
        {
            if (LogEnable)
            {
                Logger.Add((byte)LogFlags.SET_BYTES);
                Logger.AddRange(BitConverter.GetBytes(pos.FileId));
                Logger.AddRange(BitConverter.GetBytes(pos.PageNumber));
                Logger.AddRange(BitConverter.GetBytes(offset));
                Logger.AddRange(BitConverter.GetBytes((short)values.Length));
                Logger.AddRange(values);

                Modified = true;
                Modifies.Add(pos);
            }
        }
        public void WriteFixedBTreeBranchPageInsertEntry(PagePosition pos, long key, long lPageNumber, long rPageNumber)
        {
            if (LogEnable)
            {
                Logger.Add((byte)LogFlags.FBPAGE_BRANCH_INSERT_ENTRY);
                Logger.AddRange(BitConverter.GetBytes(pos.FileId));
                Logger.AddRange(BitConverter.GetBytes(pos.PageNumber));
                Logger.AddRange(BitConverter.GetBytes(key));
                Logger.AddRange(BitConverter.GetBytes(lPageNumber));
                Logger.AddRange(BitConverter.GetBytes(rPageNumber));

                Modified = true;
                Modifies.Add(pos);
            }
        }
        public void WriteFixedBTreeLeafPageInsertEntry(PagePosition pos, long key, Span <byte> values)
        {
            if (LogEnable)
            {
                Logger.Add((byte)LogFlags.FBPAGE_LEAF_INSERT_ENTRY);
                Logger.AddRange(BitConverter.GetBytes(pos.FileId));
                Logger.AddRange(BitConverter.GetBytes(pos.PageNumber));
                Logger.AddRange(BitConverter.GetBytes(key));
                Logger.Add((byte)values.Length);
                Logger.AddRange(values);

                Modified = true;
                Modifies.Add(pos);
            }
        }
        public void WriteBTreeLeafPageInsertEntry(PagePosition pos, TreeNodeHeaderFlags nodeFlags, Span <byte> key, Span <byte> value)
        {
            if (LogEnable)
            {
                Logger.Add((byte)LogFlags.BPAGE_LEAF_INSERT_ENTRY);
                Logger.AddRange(BitConverter.GetBytes(pos.FileId));
                Logger.AddRange(BitConverter.GetBytes(pos.PageNumber));
                Logger.Add((byte)nodeFlags);
                Logger.AddRange(key);
                Logger.AddRange(value);

                Modified = true;
                Modifies.Add(pos);
            }
        }
        public void WriteFixedBTreeCopyEntries(PagePosition from, PagePosition to, int index)
        {
            if (LogEnable)
            {
                Logger.Add((byte)LogFlags.FBPAGE_COPY_ENTRIES);
                Logger.AddRange(BitConverter.GetBytes(from.FileId));
                Logger.AddRange(BitConverter.GetBytes(from.PageNumber));
                Logger.AddRange(BitConverter.GetBytes(to.FileId));
                Logger.AddRange(BitConverter.GetBytes(to.PageNumber));
                Logger.AddRange(BitConverter.GetBytes((short)index));

                Modified = true;
                Modifies.Add(from);
                Modifies.Add(to);
            }
        }