axiodb 12.10.25 → 12.11.27
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/lib/Services/CRUD Operation/Delete.operation.js +24 -14
- package/lib/Services/CRUD Operation/Delete.operation.js.map +1 -1
- package/lib/Services/CRUD Operation/Update.operation.js +34 -2
- package/lib/Services/CRUD Operation/Update.operation.js.map +1 -1
- package/lib/Services/Collection/collection.operation.d.ts +6 -1
- package/lib/Services/Collection/collection.operation.js +17 -24
- package/lib/Services/Collection/collection.operation.js.map +1 -1
- package/lib/Services/Database/database.operation.js +4 -0
- package/lib/Services/Database/database.operation.js.map +1 -1
- package/lib/Services/Index/DeleteIndex.service.js +1 -1
- package/lib/Services/Index/DeleteIndex.service.js.map +1 -1
- package/lib/Services/Index/IndexCache.service.d.ts +32 -12
- package/lib/Services/Index/IndexCache.service.js +64 -24
- package/lib/Services/Index/IndexCache.service.js.map +1 -1
- package/lib/Services/Index/InsertIndex.service.js +1 -1
- package/lib/Services/Index/InsertIndex.service.js.map +1 -1
- package/lib/Services/Index/ReadIndex.service.js +1 -1
- package/lib/Services/Index/ReadIndex.service.js.map +1 -1
- package/lib/Services/Transaction/LockManager.service.d.ts +6 -1
- package/lib/Services/Transaction/LockManager.service.js +36 -26
- package/lib/Services/Transaction/LockManager.service.js.map +1 -1
- package/lib/Services/Transaction/Transaction.service.js +22 -3
- package/lib/Services/Transaction/Transaction.service.js.map +1 -1
- package/lib/Services/Transaction/TransactionIndexManager.service.d.ts +2 -2
- package/lib/Services/Transaction/TransactionIndexManager.service.js +23 -28
- package/lib/Services/Transaction/TransactionIndexManager.service.js.map +1 -1
- package/lib/engine/Filesystem/FileManager.d.ts +2 -0
- package/lib/engine/Filesystem/FileManager.js +12 -0
- package/lib/engine/Filesystem/FileManager.js.map +1 -1
- package/package.json +1 -1
|
@@ -72,7 +72,7 @@ class DeleteOperation {
|
|
|
72
72
|
deleteOne() {
|
|
73
73
|
return __awaiter(this, void 0, void 0, function* () {
|
|
74
74
|
var _a;
|
|
75
|
-
const lockManager =
|
|
75
|
+
const lockManager = LockManager_service_1.default.getInstance(this.path);
|
|
76
76
|
const operationId = (0, crypto_1.randomUUID)();
|
|
77
77
|
const timestamp = Date.now();
|
|
78
78
|
let documentId = null;
|
|
@@ -123,12 +123,17 @@ class DeleteOperation {
|
|
|
123
123
|
return this.ResponseHelper.Error("Failed to delete data");
|
|
124
124
|
}
|
|
125
125
|
// Fire-and-forget: Remove from indexes and invalidate cache asynchronously for faster response
|
|
126
|
-
new DeleteIndex_service_1.default(this.path).RemoveFromIndex(documentId, selectedFirstData === null || selectedFirstData === void 0 ? void 0 : selectedFirstData.data).catch(() => { });
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
126
|
+
const isDeleted = yield new DeleteIndex_service_1.default(this.path).RemoveFromIndex(documentId, selectedFirstData === null || selectedFirstData === void 0 ? void 0 : selectedFirstData.data).catch(() => { });
|
|
127
|
+
if (isDeleted) {
|
|
128
|
+
yield memory_operation_1.default.invalidateByDocument(this.path, documentId).catch(() => { });
|
|
129
|
+
return this.ResponseHelper.Success({
|
|
130
|
+
message: "Data deleted successfully",
|
|
131
|
+
deleteData: selectedFirstData === null || selectedFirstData === void 0 ? void 0 : selectedFirstData.data,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
return this.ResponseHelper.Error("Failed to remove from index & invalidate cache");
|
|
136
|
+
}
|
|
132
137
|
}
|
|
133
138
|
finally {
|
|
134
139
|
// STEP 4: Always release lock (ACID: ensures no deadlock)
|
|
@@ -158,7 +163,7 @@ class DeleteOperation {
|
|
|
158
163
|
*/
|
|
159
164
|
deleteMany() {
|
|
160
165
|
return __awaiter(this, void 0, void 0, function* () {
|
|
161
|
-
const lockManager =
|
|
166
|
+
const lockManager = LockManager_service_1.default.getInstance(this.path);
|
|
162
167
|
const operationId = (0, crypto_1.randomUUID)();
|
|
163
168
|
const timestamp = Date.now();
|
|
164
169
|
const acquiredLocks = [];
|
|
@@ -198,14 +203,19 @@ class DeleteOperation {
|
|
|
198
203
|
return this.ResponseHelper.Error("Failed to delete data");
|
|
199
204
|
}
|
|
200
205
|
// Fire-and-forget: Remove from indexes asynchronously
|
|
201
|
-
deleteIndexService.RemoveFromIndex(SearchedData[i].fileName.split('.')[0], SearchedData[i].data).catch(() => { });
|
|
206
|
+
yield deleteIndexService.RemoveFromIndex(SearchedData[i].fileName.split('.')[0], SearchedData[i].data).catch(() => { });
|
|
202
207
|
}
|
|
203
208
|
// Fire-and-forget: Invalidate cache asynchronously
|
|
204
|
-
memory_operation_1.default.invalidateByDocuments(this.path, documentIds).catch(() => { });
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
+
const isRemoved = yield memory_operation_1.default.invalidateByDocuments(this.path, documentIds).catch(() => { });
|
|
210
|
+
if (isRemoved) {
|
|
211
|
+
return this.ResponseHelper.Success({
|
|
212
|
+
message: "Data deleted successfully",
|
|
213
|
+
deleteData: SearchedData.map((data) => data.data),
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
return this.ResponseHelper.Error("Failed to invalidate cache after deletion");
|
|
218
|
+
}
|
|
209
219
|
}
|
|
210
220
|
finally {
|
|
211
221
|
// STEP 4: Always release ALL acquired locks (ACID: ensures no deadlock)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Delete.operation.js","sourceRoot":"","sources":["../../../source/Services/CRUD Operation/Delete.operation.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;AAMvD,qFAAsD;AACtD,8DAA0D;AAC1D,mFAA0D;AAC1D,+FAAgE;AAChE,sFAA8D;AAC9D,mCAAoC;AAEpC,qBAAqB;AACrB,kFAAoD;AACpD,kFAAmD;AACnD,qFAA0D;AAC1D,iDAAiD;AACjD,kEAAuD;AACvD,uFAAuD;AACvD,6FAA6D;AAC7D;;;GAGG;AACH;IAcE,YACE,cAAsB,EACtB,IAAY,EACZ,SAAuB,EACvB,WAAW,GAAY,KAAK,EAC5B,aAAsB;QARhB,wBAAmB,GAAU,EAAE,CAAC;QAUtC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,cAAc,GAAG,IAAI,yBAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAS,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAW,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,mCAAmC;IACpE,CAAC;IAED,UAAU;IACV;;;;;;;;;;;;;;;;OAgBG;IACU,SAAS;;;YACpB,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"Delete.operation.js","sourceRoot":"","sources":["../../../source/Services/CRUD Operation/Delete.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,8 @@ const Create_operation_1 = __importDefault(require("./Create.operation"));
|
|
|
25
25
|
const memory_operation_1 = __importDefault(require("../../Memory/memory.operation"));
|
|
26
26
|
const Keys_1 = require("../../config/Keys/Keys");
|
|
27
27
|
const ReadIndex_service_1 = require("../Index/ReadIndex.service");
|
|
28
|
+
const DeleteIndex_service_1 = __importDefault(require("../Index/DeleteIndex.service"));
|
|
29
|
+
const InsertIndex_service_1 = __importDefault(require("../Index/InsertIndex.service"));
|
|
28
30
|
const LockManager_service_1 = __importDefault(require("../Transaction/LockManager.service"));
|
|
29
31
|
class UpdateOperation {
|
|
30
32
|
constructor(collectionName, path, baseQuery, isEncrypted = false, encryptionKey) {
|
|
@@ -65,7 +67,7 @@ class UpdateOperation {
|
|
|
65
67
|
UpdateOne(newData) {
|
|
66
68
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
69
|
var _a;
|
|
68
|
-
const lockManager =
|
|
70
|
+
const lockManager = LockManager_service_1.default.getInstance(this.path);
|
|
69
71
|
const operationId = (0, crypto_1.randomUUID)();
|
|
70
72
|
const timestamp = Date.now();
|
|
71
73
|
let documentId = null;
|
|
@@ -137,6 +139,19 @@ class UpdateOperation {
|
|
|
137
139
|
if (!("data" in InsertResponse)) {
|
|
138
140
|
return this.ResponseHelper.Error("Failed to insert data");
|
|
139
141
|
}
|
|
142
|
+
// Keep indexes in sync - but only for fields whose value actually changed.
|
|
143
|
+
const changedOldValues = { documentId };
|
|
144
|
+
const changedNewValues = { documentId };
|
|
145
|
+
for (const key in newData) {
|
|
146
|
+
if (dataForRest[key] !== documentOldData[key]) {
|
|
147
|
+
changedOldValues[key] = dataForRest[key];
|
|
148
|
+
changedNewValues[key] = documentOldData[key];
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (Object.keys(changedOldValues).length > 1) {
|
|
152
|
+
yield new DeleteIndex_service_1.default(this.path).RemoveFromIndex(documentId, changedOldValues).catch(() => { });
|
|
153
|
+
yield new InsertIndex_service_1.default(this.path).InsertToIndex(changedNewValues).catch(() => { });
|
|
154
|
+
}
|
|
140
155
|
// Fire-and-forget: Invalidate cache asynchronously
|
|
141
156
|
memory_operation_1.default.invalidateByDocument(this.path, documentId).catch(() => { });
|
|
142
157
|
return this.ResponseHelper.Success({
|
|
@@ -176,7 +191,7 @@ class UpdateOperation {
|
|
|
176
191
|
*/
|
|
177
192
|
UpdateMany(newData) {
|
|
178
193
|
return __awaiter(this, void 0, void 0, function* () {
|
|
179
|
-
const lockManager =
|
|
194
|
+
const lockManager = LockManager_service_1.default.getInstance(this.path);
|
|
180
195
|
const operationId = (0, crypto_1.randomUUID)();
|
|
181
196
|
const timestamp = Date.now();
|
|
182
197
|
const acquiredLocks = [];
|
|
@@ -226,10 +241,13 @@ class UpdateOperation {
|
|
|
226
241
|
acquiredLocks.push(docId);
|
|
227
242
|
}
|
|
228
243
|
// STEP 4: All locks acquired - now perform updates safely
|
|
244
|
+
const deleteIndexService = new DeleteIndex_service_1.default(this.path);
|
|
245
|
+
const insertIndexService = new InsertIndex_service_1.default(this.path);
|
|
229
246
|
for (let i = 0; i < SearchedData.length; i++) {
|
|
230
247
|
let selectedData = SearchedData[i];
|
|
231
248
|
let fileName = selectedData === null || selectedData === void 0 ? void 0 : selectedData.fileName;
|
|
232
249
|
const documentOldData = selectedData.data;
|
|
250
|
+
const previousData = Object.assign({}, documentOldData);
|
|
233
251
|
// Sort the data if sort is provided
|
|
234
252
|
if (Object.keys(this.sort).length !== 0) {
|
|
235
253
|
const Sorter = new SortData_utils_1.default(SearchedData, this.sort);
|
|
@@ -253,6 +271,20 @@ class UpdateOperation {
|
|
|
253
271
|
if (!("data" in InsertResponse)) {
|
|
254
272
|
return this.ResponseHelper.Error(`Failed to insert data for document ${documentId}`);
|
|
255
273
|
}
|
|
274
|
+
// Keep indexes in sync - only for fields whose value actually changed (see
|
|
275
|
+
// UpdateOne for why: touching unchanged fields reorders their index bucket).
|
|
276
|
+
const changedOldValues = { documentId };
|
|
277
|
+
const changedNewValues = { documentId };
|
|
278
|
+
for (const key in newData) {
|
|
279
|
+
if (previousData[key] !== documentOldData[key]) {
|
|
280
|
+
changedOldValues[key] = previousData[key];
|
|
281
|
+
changedNewValues[key] = documentOldData[key];
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
if (Object.keys(changedOldValues).length > 1) {
|
|
285
|
+
yield deleteIndexService.RemoveFromIndex(documentId, changedOldValues).catch(() => { });
|
|
286
|
+
yield insertIndexService.InsertToIndex(changedNewValues).catch(() => { });
|
|
287
|
+
}
|
|
256
288
|
}
|
|
257
289
|
// Fire-and-forget: Invalidate cache asynchronously
|
|
258
290
|
memory_operation_1.default.invalidateByDocuments(this.path, documentIds).catch(() => { });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Update.operation.js","sourceRoot":"","sources":["../../../source/Services/CRUD Operation/Update.operation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Update.operation.js","sourceRoot":"","sources":["../../../source/Services/CRUD Operation/Update.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,6 @@ export default class Collection {
|
|
|
17
17
|
private readonly isEncrypted;
|
|
18
18
|
private readonly cryptoInstance?;
|
|
19
19
|
private Converter;
|
|
20
|
-
private Insertion;
|
|
21
20
|
private readonly encryptionKey;
|
|
22
21
|
private readonly IndexManager;
|
|
23
22
|
private readonly indexCache;
|
|
@@ -57,6 +56,12 @@ export default class Collection {
|
|
|
57
56
|
getIndexes(): Promise<ErrorInterface | SuccessInterface>;
|
|
58
57
|
/**
|
|
59
58
|
* Inserts a document into the collection.
|
|
59
|
+
*
|
|
60
|
+
* Routed through a single-operation Transaction so the insert is WAL-backed: if the
|
|
61
|
+
* process crashes between writing the document and updating its index, Transaction.recoverTransactions()
|
|
62
|
+
* (run at collection startup) redoes or undoes it from the WAL instead of leaving a
|
|
63
|
+
* half-written document.
|
|
64
|
+
*
|
|
60
65
|
* @param {object} data - The data to be inserted.
|
|
61
66
|
* @returns {Promise<any>} - A promise that resolves with the response of the insertion operation.
|
|
62
67
|
*/
|
|
@@ -14,7 +14,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const response_helper_1 = __importDefault(require("../../Helper/response.helper"));
|
|
16
16
|
// Operations
|
|
17
|
-
const Create_operation_1 = __importDefault(require("../CRUD Operation/Create.operation"));
|
|
18
17
|
const Reader_operation_1 = __importDefault(require("../CRUD Operation/Reader.operation"));
|
|
19
18
|
const Delete_operation_1 = __importDefault(require("../CRUD Operation/Delete.operation"));
|
|
20
19
|
const Update_operation_1 = __importDefault(require("../CRUD Operation/Update.operation"));
|
|
@@ -28,7 +27,6 @@ const Converter_helper_1 = __importDefault(require("../../Helper/Converter.helpe
|
|
|
28
27
|
const FolderManager_1 = __importDefault(require("../../engine/Filesystem/FolderManager"));
|
|
29
28
|
const InsertIndex_service_1 = __importDefault(require("../Index/InsertIndex.service"));
|
|
30
29
|
const IndexCache_service_1 = require("../Index/IndexCache.service");
|
|
31
|
-
const memory_operation_1 = __importDefault(require("../../Memory/memory.operation"));
|
|
32
30
|
/**
|
|
33
31
|
* Represents a collection inside a database.
|
|
34
32
|
*/
|
|
@@ -41,11 +39,9 @@ class Collection {
|
|
|
41
39
|
this.Converter = new Converter_helper_1.default();
|
|
42
40
|
this.updatedAt = new Date().toISOString();
|
|
43
41
|
this.encryptionKey = encryptionKey;
|
|
44
|
-
// Initialize the Insertion class
|
|
45
|
-
this.Insertion = new Create_operation_1.default(this.name, this.path);
|
|
46
42
|
this.IndexManager = new InsertIndex_service_1.default(this.path);
|
|
47
43
|
// Initialize and eagerly load index cache for maximum query performance
|
|
48
|
-
this.indexCache =
|
|
44
|
+
this.indexCache = IndexCache_service_1.IndexCache.getInstance(this.path);
|
|
49
45
|
this.indexCache.loadAllIndexes().catch(() => {
|
|
50
46
|
// Silent failure - indexes will load on demand from disk (cold start recovery)
|
|
51
47
|
});
|
|
@@ -124,11 +120,18 @@ class Collection {
|
|
|
124
120
|
}
|
|
125
121
|
/**
|
|
126
122
|
* Inserts a document into the collection.
|
|
123
|
+
*
|
|
124
|
+
* Routed through a single-operation Transaction so the insert is WAL-backed: if the
|
|
125
|
+
* process crashes between writing the document and updating its index, Transaction.recoverTransactions()
|
|
126
|
+
* (run at collection startup) redoes or undoes it from the WAL instead of leaving a
|
|
127
|
+
* half-written document.
|
|
128
|
+
*
|
|
127
129
|
* @param {object} data - The data to be inserted.
|
|
128
130
|
* @returns {Promise<any>} - A promise that resolves with the response of the insertion operation.
|
|
129
131
|
*/
|
|
130
132
|
insert(data) {
|
|
131
133
|
return __awaiter(this, void 0, void 0, function* () {
|
|
134
|
+
var _a;
|
|
132
135
|
// Check if data is empty or not
|
|
133
136
|
if (!data) {
|
|
134
137
|
throw new Error("Data cannot be empty");
|
|
@@ -137,26 +140,16 @@ class Collection {
|
|
|
137
140
|
if (typeof data !== "object") {
|
|
138
141
|
throw new Error("Data must be an object.");
|
|
139
142
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
// Encrypt the data if crypto is enabled
|
|
146
|
-
if (this.cryptoInstance && this.isEncrypted) {
|
|
147
|
-
data = yield this.cryptoInstance.encrypt(this.Converter.ToString(data));
|
|
143
|
+
const txn = this.beginTransaction();
|
|
144
|
+
txn.insert(data);
|
|
145
|
+
const commitResult = yield txn.commit();
|
|
146
|
+
if (!("data" in commitResult) || !((_a = commitResult.data.documentIds) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
147
|
+
return commitResult;
|
|
148
148
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
// Fire-and-forget: Invalidate cache asynchronously for faster response.
|
|
154
|
-
// A brand-new document was never part of any cached result, so per-document invalidation
|
|
155
|
-
// would be a no-op here - a cached "list"/filter query could now be missing it, so the
|
|
156
|
-
// whole collection's cache needs to be dropped (unlike update/delete, which target only
|
|
157
|
-
// the cache entries that already contained the mutated document).
|
|
158
|
-
memory_operation_1.default.invalidateByCollection(this.path).catch(() => { });
|
|
159
|
-
return saveResult;
|
|
149
|
+
return new response_helper_1.default().Success({
|
|
150
|
+
Message: "Data Inserted Successfully",
|
|
151
|
+
documentId: commitResult.data.documentIds[0],
|
|
152
|
+
});
|
|
160
153
|
});
|
|
161
154
|
}
|
|
162
155
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.operation.js","sourceRoot":"","sources":["../../../source/Services/Collection/collection.operation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,mFAA0D;AAC1D,aAAa;AACb,
|
|
1
|
+
{"version":3,"file":"collection.operation.js","sourceRoot":"","sources":["../../../source/Services/Collection/collection.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@ const response_helper_1 = __importDefault(require("../../Helper/response.helper"
|
|
|
34
34
|
const PathSanitizer_helper_1 = __importDefault(require("../../Helper/PathSanitizer.helper"));
|
|
35
35
|
const StatusCode_1 = require("../../config/Keys/StatusCode");
|
|
36
36
|
const Index_service_1 = require("../Index/Index.service");
|
|
37
|
+
const IndexCache_service_1 = require("../Index/IndexCache.service");
|
|
37
38
|
/**
|
|
38
39
|
* Represents a database instance.
|
|
39
40
|
* This class provides methods to create, delete, and manage collections within a database.
|
|
@@ -130,6 +131,9 @@ class Database {
|
|
|
130
131
|
return status;
|
|
131
132
|
}
|
|
132
133
|
yield this.folderManager.DeleteDirectory(collectionPath);
|
|
134
|
+
// Drop the shared index cache for this path - otherwise its cleanup timer
|
|
135
|
+
// keeps running and the registry keeps a stale entry for a deleted collection.
|
|
136
|
+
IndexCache_service_1.IndexCache.releaseInstance(collectionPath);
|
|
133
137
|
return this.ResponseHelper.Success(`Collection: ${collectionName} deleted successfully`);
|
|
134
138
|
}
|
|
135
139
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.operation.js","sourceRoot":"","sources":["../../../source/Services/Database/database.operation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,8FAA4D;AAC5D,sFAA8D;AAC9D,0FAAkE;AAClE,gDAAwB;AAExB,qBAAqB;AACrB,8DAA0D;AAC1D,mFAA0D;AAC1D,6FAA8D;AAC9D,6DAA2D;AAM3D,0DAAsD;
|
|
1
|
+
{"version":3,"file":"database.operation.js","sourceRoot":"","sources":["../../../source/Services/Database/database.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ const IndexCache_service_1 = require("./IndexCache.service");
|
|
|
28
28
|
class DeleteIndex extends Index_service_1.IndexManager {
|
|
29
29
|
constructor(path) {
|
|
30
30
|
super(path);
|
|
31
|
-
this.indexCache =
|
|
31
|
+
this.indexCache = IndexCache_service_1.IndexCache.getInstance(path);
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Removes a document from all matching indexes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteIndex.service.js","sourceRoot":"","sources":["../../../source/Services/Index/DeleteIndex.service.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAuD;AACvD,iDAAiD;AACjD,mDAA+C;AAC/C,6DAAkD;AAElD;;;;;;;;;;;GAWG;AACH,iBAAiC,SAAQ,4BAAY;IAGnD,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG
|
|
1
|
+
{"version":3,"file":"DeleteIndex.service.js","sourceRoot":"","sources":["../../../source/Services/Index/DeleteIndex.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,23 +19,44 @@ interface IndexData {
|
|
|
19
19
|
*
|
|
20
20
|
* @example
|
|
21
21
|
* ```typescript
|
|
22
|
-
* const indexCache =
|
|
22
|
+
* const indexCache = IndexCache.getInstance('/path/to/collection');
|
|
23
23
|
* await indexCache.loadAllIndexes(); // Eager load
|
|
24
24
|
* const indexData = await indexCache.getIndex('email'); // O(1) memory access
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
27
|
export declare class IndexCache {
|
|
28
|
+
private static instances;
|
|
28
29
|
private cache;
|
|
29
30
|
private readonly indexFolderPath;
|
|
30
31
|
private readonly indexMetaPath;
|
|
31
32
|
private readonly fileManager;
|
|
32
33
|
private readonly converter;
|
|
33
|
-
private
|
|
34
|
+
private lockChains;
|
|
34
35
|
private cleanupInterval;
|
|
35
36
|
private static readonly MIN_TTL_MS;
|
|
36
37
|
private static readonly MAX_TTL_MS;
|
|
37
38
|
private static readonly CLEANUP_INTERVAL_MS;
|
|
38
|
-
constructor(
|
|
39
|
+
private constructor();
|
|
40
|
+
/**
|
|
41
|
+
* Returns the shared IndexCache for a collection path, creating it on first use.
|
|
42
|
+
* All index services (Insert/Read/Delete/Collection) must go through this instead of
|
|
43
|
+
* constructing their own instance, otherwise locking and caching are per-call and
|
|
44
|
+
* provide no real coordination.
|
|
45
|
+
*
|
|
46
|
+
* @param collectionPath - Absolute path of the collection this cache belongs to
|
|
47
|
+
*/
|
|
48
|
+
static getInstance(collectionPath: string): IndexCache;
|
|
49
|
+
/**
|
|
50
|
+
* Releases the shared IndexCache for a collection path (e.g. when the collection
|
|
51
|
+
* itself is deleted), stopping its cleanup timer and dropping it from the registry.
|
|
52
|
+
*
|
|
53
|
+
* @param collectionPath - Absolute path of the collection whose cache should be released
|
|
54
|
+
*/
|
|
55
|
+
static releaseInstance(collectionPath: string): void;
|
|
56
|
+
/**
|
|
57
|
+
* Stops the cleanup timer and clears cached state. Called via releaseInstance().
|
|
58
|
+
*/
|
|
59
|
+
dispose(): void;
|
|
39
60
|
/**
|
|
40
61
|
* Generates a random TTL between 5-15 minutes
|
|
41
62
|
* Randomization prevents cache stampede (thundering herd problem)
|
|
@@ -91,20 +112,19 @@ export declare class IndexCache {
|
|
|
91
112
|
*/
|
|
92
113
|
invalidateAll(): Promise<void>;
|
|
93
114
|
/**
|
|
94
|
-
*
|
|
95
|
-
*
|
|
115
|
+
* Acquires a per-field mutex, queuing behind any in-flight holder for the same key.
|
|
116
|
+
*
|
|
117
|
+
* Implemented as a chained promise queue: each call captures the current tail of the
|
|
118
|
+
* chain, awaits it (so it truly blocks until every earlier holder has released), then
|
|
119
|
+
* appends its own pending promise as the new tail. The caller MUST invoke the returned
|
|
120
|
+
* release function exactly once (typically in a `finally` block) to hand the lock to
|
|
121
|
+
* the next queued waiter.
|
|
96
122
|
*
|
|
97
123
|
* @param key - The lock key (typically field name)
|
|
124
|
+
* @returns A release function that unblocks the next waiter for this key
|
|
98
125
|
* @private
|
|
99
126
|
*/
|
|
100
127
|
private acquireLock;
|
|
101
|
-
/**
|
|
102
|
-
* Releases the lock for a specific key
|
|
103
|
-
*
|
|
104
|
-
* @param key - The lock key to release
|
|
105
|
-
* @private
|
|
106
|
-
*/
|
|
107
|
-
private releaseLock;
|
|
108
128
|
/**
|
|
109
129
|
* Gets current cache statistics for monitoring
|
|
110
130
|
*
|