document-dataply 0.0.9-alpha.6 → 0.0.9-alpha.7
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 +5 -23
- package/package.json +2 -2
package/dist/cjs/index.js
CHANGED
|
@@ -8608,8 +8608,7 @@ var require_cjs = __commonJS({
|
|
|
8608
8608
|
}
|
|
8609
8609
|
/**
|
|
8610
8610
|
* Frees the page and marks it as available in the bitmap.
|
|
8611
|
-
*
|
|
8612
|
-
* to support HDD sequential reads.
|
|
8611
|
+
* It also adds the page to the linked list of free pages in metadata.
|
|
8613
8612
|
* @param pageId Page ID
|
|
8614
8613
|
* @param tx Transaction
|
|
8615
8614
|
*/
|
|
@@ -8619,30 +8618,13 @@ var require_cjs = __commonJS({
|
|
|
8619
8618
|
await tx.__acquireWriteLock(pageId);
|
|
8620
8619
|
const metadata = await this.getMetadata(tx);
|
|
8621
8620
|
const metadataManager = this.pageFactory.getManager(metadata);
|
|
8621
|
+
const currentHeadFreePageId = metadataManager.getFreePageId(metadata);
|
|
8622
8622
|
const emptyPageManager = this.pageFactory.getManagerFromType(PageManager.CONSTANT.PAGE_TYPE_EMPTY);
|
|
8623
8623
|
const emptyPage = emptyPageManager.create(this.pageSize, pageId);
|
|
8624
|
-
|
|
8625
|
-
|
|
8626
|
-
emptyPageManager.setNextPageId(emptyPage, headFreePageId);
|
|
8627
|
-
await this.setPage(pageId, emptyPage, tx);
|
|
8628
|
-
metadataManager.setFreePageId(metadata, pageId);
|
|
8629
|
-
} else {
|
|
8630
|
-
let prevPageId = headFreePageId;
|
|
8631
|
-
let prevPage = await this.get(prevPageId, tx);
|
|
8632
|
-
let prevManager = this.pageFactory.getManager(prevPage);
|
|
8633
|
-
let nextPageId = prevManager.getNextPageId(prevPage);
|
|
8634
|
-
while (nextPageId !== -1 && nextPageId < pageId) {
|
|
8635
|
-
prevPageId = nextPageId;
|
|
8636
|
-
prevPage = await this.get(prevPageId, tx);
|
|
8637
|
-
prevManager = this.pageFactory.getManager(prevPage);
|
|
8638
|
-
nextPageId = prevManager.getNextPageId(prevPage);
|
|
8639
|
-
}
|
|
8640
|
-
emptyPageManager.setNextPageId(emptyPage, nextPageId);
|
|
8641
|
-
await this.setPage(pageId, emptyPage, tx);
|
|
8642
|
-
prevManager.setNextPageId(prevPage, pageId);
|
|
8643
|
-
await this.setPage(prevPageId, prevPage, tx);
|
|
8644
|
-
}
|
|
8624
|
+
emptyPageManager.setNextPageId(emptyPage, currentHeadFreePageId);
|
|
8625
|
+
await this.setPage(pageId, emptyPage, tx);
|
|
8645
8626
|
await this.updateBitmap(pageId, true, tx);
|
|
8627
|
+
metadataManager.setFreePageId(metadata, pageId);
|
|
8646
8628
|
await this.setPage(0, metadata, tx);
|
|
8647
8629
|
}
|
|
8648
8630
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "document-dataply",
|
|
3
|
-
"version": "0.0.9-alpha.
|
|
3
|
+
"version": "0.0.9-alpha.7",
|
|
4
4
|
"description": "Simple and powerful JSON document database supporting complex queries and flexible indexing policies.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "izure <admin@izure.org>",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"dataply"
|
|
43
43
|
],
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"dataply": "^0.0.24-alpha.
|
|
45
|
+
"dataply": "^0.0.24-alpha.3"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/jest": "^30.0.0",
|