dataply 0.0.24-alpha.2 → 0.0.24-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +10 -28
- package/dist/types/core/PageFileSystem.d.ts +1 -2
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -8514,6 +8514,11 @@ var PageFileSystem = class {
|
|
|
8514
8514
|
const emptyManager = this.pageFactory.getManagerFromType(PageManager.CONSTANT.PAGE_TYPE_EMPTY);
|
|
8515
8515
|
const firstFreeIndex = newPageIndex + 1;
|
|
8516
8516
|
const lastFreeIndex = newPageIndex + preallocationCount - 1;
|
|
8517
|
+
metadataManager.setPageCount(metadata, newTotalCount);
|
|
8518
|
+
if (preallocationCount > 1) {
|
|
8519
|
+
metadataManager.setFreePageId(metadata, firstFreeIndex);
|
|
8520
|
+
}
|
|
8521
|
+
await this.setPage(0, metadata, tx);
|
|
8517
8522
|
for (let i = firstFreeIndex; i <= lastFreeIndex; i++) {
|
|
8518
8523
|
const emptyPage = emptyManager.create(this.pageSize, i);
|
|
8519
8524
|
const nextId = i < lastFreeIndex ? i + 1 : -1;
|
|
@@ -8521,11 +8526,6 @@ var PageFileSystem = class {
|
|
|
8521
8526
|
await this.setPage(i, emptyPage, tx);
|
|
8522
8527
|
await this.updateBitmap(i, true, tx);
|
|
8523
8528
|
}
|
|
8524
|
-
if (preallocationCount > 1) {
|
|
8525
|
-
metadataManager.setFreePageId(metadata, firstFreeIndex);
|
|
8526
|
-
}
|
|
8527
|
-
metadataManager.setPageCount(metadata, newTotalCount);
|
|
8528
|
-
await this.setPage(0, metadata, tx);
|
|
8529
8529
|
return newPageIndex;
|
|
8530
8530
|
}
|
|
8531
8531
|
/**
|
|
@@ -8607,8 +8607,7 @@ var PageFileSystem = class {
|
|
|
8607
8607
|
}
|
|
8608
8608
|
/**
|
|
8609
8609
|
* Frees the page and marks it as available in the bitmap.
|
|
8610
|
-
*
|
|
8611
|
-
* to support HDD sequential reads.
|
|
8610
|
+
* It also adds the page to the linked list of free pages in metadata.
|
|
8612
8611
|
* @param pageId Page ID
|
|
8613
8612
|
* @param tx Transaction
|
|
8614
8613
|
*/
|
|
@@ -8618,30 +8617,13 @@ var PageFileSystem = class {
|
|
|
8618
8617
|
await tx.__acquireWriteLock(pageId);
|
|
8619
8618
|
const metadata = await this.getMetadata(tx);
|
|
8620
8619
|
const metadataManager = this.pageFactory.getManager(metadata);
|
|
8620
|
+
const currentHeadFreePageId = metadataManager.getFreePageId(metadata);
|
|
8621
8621
|
const emptyPageManager = this.pageFactory.getManagerFromType(PageManager.CONSTANT.PAGE_TYPE_EMPTY);
|
|
8622
8622
|
const emptyPage = emptyPageManager.create(this.pageSize, pageId);
|
|
8623
|
-
|
|
8624
|
-
|
|
8625
|
-
emptyPageManager.setNextPageId(emptyPage, headFreePageId);
|
|
8626
|
-
await this.setPage(pageId, emptyPage, tx);
|
|
8627
|
-
metadataManager.setFreePageId(metadata, pageId);
|
|
8628
|
-
} else {
|
|
8629
|
-
let prevPageId = headFreePageId;
|
|
8630
|
-
let prevPage = await this.get(prevPageId, tx);
|
|
8631
|
-
let prevManager = this.pageFactory.getManager(prevPage);
|
|
8632
|
-
let nextPageId = prevManager.getNextPageId(prevPage);
|
|
8633
|
-
while (nextPageId !== -1 && nextPageId < pageId) {
|
|
8634
|
-
prevPageId = nextPageId;
|
|
8635
|
-
prevPage = await this.get(prevPageId, tx);
|
|
8636
|
-
prevManager = this.pageFactory.getManager(prevPage);
|
|
8637
|
-
nextPageId = prevManager.getNextPageId(prevPage);
|
|
8638
|
-
}
|
|
8639
|
-
emptyPageManager.setNextPageId(emptyPage, nextPageId);
|
|
8640
|
-
await this.setPage(pageId, emptyPage, tx);
|
|
8641
|
-
prevManager.setNextPageId(prevPage, pageId);
|
|
8642
|
-
await this.setPage(prevPageId, prevPage, tx);
|
|
8643
|
-
}
|
|
8623
|
+
emptyPageManager.setNextPageId(emptyPage, currentHeadFreePageId);
|
|
8624
|
+
await this.setPage(pageId, emptyPage, tx);
|
|
8644
8625
|
await this.updateBitmap(pageId, true, tx);
|
|
8626
|
+
metadataManager.setFreePageId(metadata, pageId);
|
|
8645
8627
|
await this.setPage(0, metadata, tx);
|
|
8646
8628
|
}
|
|
8647
8629
|
/**
|
|
@@ -127,8 +127,7 @@ export declare class PageFileSystem {
|
|
|
127
127
|
freeChain(startPageId: number, tx: Transaction): Promise<void>;
|
|
128
128
|
/**
|
|
129
129
|
* Frees the page and marks it as available in the bitmap.
|
|
130
|
-
*
|
|
131
|
-
* to support HDD sequential reads.
|
|
130
|
+
* It also adds the page to the linked list of free pages in metadata.
|
|
132
131
|
* @param pageId Page ID
|
|
133
132
|
* @param tx Transaction
|
|
134
133
|
*/
|