예제 #1
0
        public MetadataColumnsManager(IAllocateMixedPage pageAllocator, MixedPage firstPage, HeapWithOffsets <char[]> stringHeap)
        {
            if (pageAllocator == null || firstPage == null)
            {
                throw new ArgumentNullException();
            }

            this.pageListCollection = new PageListCollection(pageAllocator, columnDefinitions, firstPage.PageId());
            this.stringHeap         = stringHeap;
        }
예제 #2
0
        public PageListCollection(IAllocateMixedPage pageAllocator, ColumnInfo[] columnTypes, ulong initialPageId)
        {
            if (pageAllocator == null || columnTypes == null || columnTypes.Length == 0)
            {
                throw new ArgumentNullException();
            }

            this.collectionRootPageId = initialPageId;
            this.pageAllocator        = pageAllocator;
            this.columnTypes          = columnTypes;
            this.lastPageId           = this.collectionRootPageId;
        }
예제 #3
0
        public PageListCollection(IAllocateMixedPage pageAllocator, ColumnInfo[] columnTypes, ITransaction tran)
        {
            if (pageAllocator == null || columnTypes == null || columnTypes.Length == 0)
            {
                throw new ArgumentNullException();
            }

            this.collectionRootPageId = pageAllocator.AllocateMixedPage(columnTypes, PageManagerConstants.NullPageId, PageManagerConstants.NullPageId, tran).Result.PageId();
            this.pageAllocator        = pageAllocator;
            this.columnTypes          = columnTypes;
            this.lastPageId           = this.collectionRootPageId;
        }
예제 #4
0
        public MetadataTablesManager(IAllocateMixedPage pageAllocator, MixedPage firstPage, HeapWithOffsets <char[]> stringHeap, IMetadataObjectManager <MetadataColumn, ColumnCreateDefinition, Tuple <int, int> > columnManager)
        {
            if (pageAllocator == null || firstPage == null || columnManager == null)
            {
                throw new ArgumentNullException();
            }

            this.pageListCollection = new PageListCollection(pageAllocator, columnDefinitions, firstPage.PageId());
            this.stringHeap         = stringHeap;
            this.columnManager      = columnManager;
            this.pageAllocator      = pageAllocator;
        }