axiodb 12.10.26 → 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.
Files changed (30) hide show
  1. package/lib/Services/CRUD Operation/Delete.operation.js +2 -2
  2. package/lib/Services/CRUD Operation/Delete.operation.js.map +1 -1
  3. package/lib/Services/CRUD Operation/Update.operation.js +34 -2
  4. package/lib/Services/CRUD Operation/Update.operation.js.map +1 -1
  5. package/lib/Services/Collection/collection.operation.d.ts +6 -1
  6. package/lib/Services/Collection/collection.operation.js +17 -24
  7. package/lib/Services/Collection/collection.operation.js.map +1 -1
  8. package/lib/Services/Database/database.operation.js +4 -0
  9. package/lib/Services/Database/database.operation.js.map +1 -1
  10. package/lib/Services/Index/DeleteIndex.service.js +1 -1
  11. package/lib/Services/Index/DeleteIndex.service.js.map +1 -1
  12. package/lib/Services/Index/IndexCache.service.d.ts +32 -12
  13. package/lib/Services/Index/IndexCache.service.js +64 -24
  14. package/lib/Services/Index/IndexCache.service.js.map +1 -1
  15. package/lib/Services/Index/InsertIndex.service.js +1 -1
  16. package/lib/Services/Index/InsertIndex.service.js.map +1 -1
  17. package/lib/Services/Index/ReadIndex.service.js +1 -1
  18. package/lib/Services/Index/ReadIndex.service.js.map +1 -1
  19. package/lib/Services/Transaction/LockManager.service.d.ts +6 -1
  20. package/lib/Services/Transaction/LockManager.service.js +36 -26
  21. package/lib/Services/Transaction/LockManager.service.js.map +1 -1
  22. package/lib/Services/Transaction/Transaction.service.js +22 -3
  23. package/lib/Services/Transaction/Transaction.service.js.map +1 -1
  24. package/lib/Services/Transaction/TransactionIndexManager.service.d.ts +2 -2
  25. package/lib/Services/Transaction/TransactionIndexManager.service.js +23 -28
  26. package/lib/Services/Transaction/TransactionIndexManager.service.js.map +1 -1
  27. package/lib/engine/Filesystem/FileManager.d.ts +2 -0
  28. package/lib/engine/Filesystem/FileManager.js +12 -0
  29. package/lib/engine/Filesystem/FileManager.js.map +1 -1
  30. 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 = new LockManager_service_1.default(this.path);
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;
@@ -163,7 +163,7 @@ class DeleteOperation {
163
163
  */
164
164
  deleteMany() {
165
165
  return __awaiter(this, void 0, void 0, function* () {
166
- const lockManager = new LockManager_service_1.default(this.path);
166
+ const lockManager = LockManager_service_1.default.getInstance(this.path);
167
167
  const operationId = (0, crypto_1.randomUUID)();
168
168
  const timestamp = Date.now();
169
169
  const acquiredLocks = [];
@@ -1 +1 @@
1
- {"version":3,"file":"Delete.operation.js","sourceRoot":"","sources":["../../../source/Services/CRUD Operation/Delete.operation.ts"],"names":[],"mappings":"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"}
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 = new LockManager_service_1.default(this.path);
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 = new LockManager_service_1.default(this.path);
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 = new IndexCache_service_1.IndexCache(this.path);
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
- // Add the documentId to the data
141
- const documentId = yield this.Insertion.generateUniqueDocumentId();
142
- data.documentId = documentId;
143
- // Insert the updatedAt field in schema & data
144
- data.updatedAt = this.updatedAt;
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
- // Save the data first
150
- const saveResult = yield this.Insertion.Save(data, documentId);
151
- // Index insertion after save
152
- yield this.IndexManager.InsertToIndex(data);
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,0FAA2D;AAC3D,0FAAwD;AACxD,0FAAiE;AACjE,0FAAiE;AACjE,iGAA+D;AAC/D,6FAA6D;AAC7D,qFAAqD;AAErD,6DAA2D;AAE3D,iDAAiD;AAEjD,YAAY;AACZ,qFAAsD;AACtD,0FAAkE;AAClE,uFAAuD;AACvD,oEAAyD;AACzD,qFAA0D;AAE1D;;GAEG;AACH;IAYE,YACE,IAAY,EACZ,IAAY,EACZ,WAAW,GAAG,KAAK,EACnB,cAA6B,EAC7B,aAAsB;QAEtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAS,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,iCAAiC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,IAAI,6BAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C,wEAAwE;QACxE,IAAI,CAAC,UAAU,GAAG,IAAI,+BAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YAC1C,+EAA+E;QACjF,CAAC,CAAC,CAAC;QAEH,qDAAqD;QACrD,6BAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACpD,wEAAwE;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACU,cAAc;;YACzB,mCAAmC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;YAED,6BAA6B;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC;gBACH,kCAAkC;gBAClC,MAAM,KAAK,GAAG,MAAM,IAAI,uBAAa,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjE,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAgB,EAAE,EAAE,CAC3D,QAAQ,CAAC,QAAQ,CAAC,cAAO,CAAC,aAAa,CAAC,CACzC,CAAC;gBACF,OAAO,IAAI,yBAAc,EAAE,CAAC,OAAO,CAAC;oBAClC,OAAO,EAAE,mCAAmC;oBAC5C,KAAK,EAAE,aAAa,CAAC,MAAM;iBAC5B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,yBAAc,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;;;;OAUG;IACU,QAAQ,CAAE,GAAG,UAAoB;;YAC5C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,CAAC;QAC5D,CAAC;KAAA;IAED;;;;;;;OAOG;IACU,SAAS,CAAC,SAAiB;;YACtC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACrD,CAAC;KAAA;IAED;;;;OAIG;IACU,UAAU;;YACrB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAC/C,CAAC;KAAA;IAED;;;;OAIG;IACU,MAAM,CACjB,IAAkB;;YAElB,gCAAgC;YAChC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,CAAC;YAED,oCAAoC;YACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAED,iCAAiC;YACjC,MAAM,UAAU,GAAW,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC;YAC3E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAE7B,8CAA8C;YAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAEhC,wCAAwC;YACxC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1E,CAAC;YAED,sBAAsB;YACtB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAE/D,6BAA6B;YAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5C,wEAAwE;YACxE,yFAAyF;YACzF,uFAAuF;YACvF,wFAAwF;YACxF,kEAAkE;YAClE,0BAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEhE,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA;IAED;;;;;;OAMG;IACU,UAAU,CAAC,IAAuB;;YAC7C,IAAI,sBAAsB,GAAW,CAAC,CAAC;YACvC,MAAM,WAAW,GAAa,EAAE,CAAC;YAEjC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,KAAI,wBAAW,CAAC,EAAE,EAAE,CAAC;oBACzC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACzC,sBAAsB,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACtC,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,KAAI,wBAAW,CAAC,EAAE,EAAE,CAAC;wBACzC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACzC,sBAAsB,EAAE,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,IAAI,yBAAc,EAAE,CAAC,OAAO,CAAC;gBAClC,OAAO,EAAE,0BAA0B;gBACnC,KAAK,EAAE,sBAAsB;gBAC7B,EAAE,EAAE,WAAW;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAmB;QAC9B,sCAAsC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,gBAAgB;QAChB,OAAO,IAAI,0BAAM,CACf,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,KAAK,EACL,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACI,SAAS,CAAC,kBAA4B;QAC3C,mDAAmD;QACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,+BAAW,CACpB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,kBAAkB,EAClB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,MAAM,CAAC,KAAmB;QAC/B,sCAAsC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,kBAAkB;QAClB,OAAO,IAAI,0BAAe,CACxB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,KAAK,EACL,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAmB;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,0BAAe,CACxB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,KAAK,EACL,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAEM,gBAAgB;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,6BAAW,CACpB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,YAAY,CAAC,OAAwB;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,yBAAO,CAChB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}
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":"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"}
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 = new IndexCache_service_1.IndexCache(path);
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":"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"}
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,+BAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;OAYG;IACU,eAAe,CAAC,UAAkB,EAAE,QAAa;;YAC5D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAEhE,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,MAAM,gBAAgB,GAAG,GAAG,UAAU,GAAG,cAAO,CAAC,aAAa,EAAE,CAAC;YAEjE,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAW,OAAO,CAAC,cAAc,CAAC;gBAEjD,+DAA+D;gBAC/D,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAE1D,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,2CAA2C;oBAC3C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACnE,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;wBACxB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACzD,CAAC;yBAAM,CAAC;wBACN,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,SAAS;gBACX,CAAC;gBAED,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAEvC,gDAAgD;gBAChD,IAAI,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;oBACvC,qCAAqC;oBACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;oBAE9E,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;wBACpB,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBAEvD,gDAAgD;wBAChD,IAAI,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACpD,OAAO,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;wBAC5C,CAAC;wBAED,oDAAoD;wBACpD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;wBAE9E,mDAAmD;wBACnD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBAE3D,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED;;;;;OAKG;IACU,uBAAuB,CAClC,SAAuD;;YAEvD,IAAI,MAAM,GAAG,KAAK,CAAC;YAEnB,KAAK,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,SAAS,EAAE,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAChE,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC;YAC5B,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;CACF"}
@@ -19,23 +19,44 @@ interface IndexData {
19
19
  *
20
20
  * @example
21
21
  * ```typescript
22
- * const indexCache = new IndexCache('/path/to/collection');
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 locks;
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(collectionPath: string);
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
- * Simple lock acquisition for thread safety
95
- * Waits if another operation is currently holding the lock
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
  *
@@ -30,7 +30,7 @@ const Converter_helper_1 = __importDefault(require("../../Helper/Converter.helpe
30
30
  *
31
31
  * @example
32
32
  * ```typescript
33
- * const indexCache = new IndexCache('/path/to/collection');
33
+ * const indexCache = IndexCache.getInstance('/path/to/collection');
34
34
  * await indexCache.loadAllIndexes(); // Eager load
35
35
  * const indexData = await indexCache.getIndex('email'); // O(1) memory access
36
36
  * ```
@@ -43,9 +43,49 @@ class IndexCache {
43
43
  this.indexMetaPath = `${this.indexFolderPath}/index.meta.json`;
44
44
  this.fileManager = new FileManager_1.default();
45
45
  this.converter = new Converter_helper_1.default();
46
- this.locks = new Map();
46
+ this.lockChains = new Map();
47
47
  this.startCleanupInterval();
48
48
  }
49
+ /**
50
+ * Returns the shared IndexCache for a collection path, creating it on first use.
51
+ * All index services (Insert/Read/Delete/Collection) must go through this instead of
52
+ * constructing their own instance, otherwise locking and caching are per-call and
53
+ * provide no real coordination.
54
+ *
55
+ * @param collectionPath - Absolute path of the collection this cache belongs to
56
+ */
57
+ static getInstance(collectionPath) {
58
+ let instance = IndexCache.instances.get(collectionPath);
59
+ if (!instance) {
60
+ instance = new IndexCache(collectionPath);
61
+ IndexCache.instances.set(collectionPath, instance);
62
+ }
63
+ return instance;
64
+ }
65
+ /**
66
+ * Releases the shared IndexCache for a collection path (e.g. when the collection
67
+ * itself is deleted), stopping its cleanup timer and dropping it from the registry.
68
+ *
69
+ * @param collectionPath - Absolute path of the collection whose cache should be released
70
+ */
71
+ static releaseInstance(collectionPath) {
72
+ const instance = IndexCache.instances.get(collectionPath);
73
+ if (instance) {
74
+ instance.dispose();
75
+ IndexCache.instances.delete(collectionPath);
76
+ }
77
+ }
78
+ /**
79
+ * Stops the cleanup timer and clears cached state. Called via releaseInstance().
80
+ */
81
+ dispose() {
82
+ if (this.cleanupInterval) {
83
+ clearInterval(this.cleanupInterval);
84
+ this.cleanupInterval = null;
85
+ }
86
+ this.cache.clear();
87
+ this.lockChains.clear();
88
+ }
49
89
  /**
50
90
  * Generates a random TTL between 5-15 minutes
51
91
  * Randomization prevents cache stampede (thundering herd problem)
@@ -193,7 +233,7 @@ class IndexCache {
193
233
  updateIndex(fieldName, indexData) {
194
234
  return __awaiter(this, void 0, void 0, function* () {
195
235
  // Acquire lock for this field to prevent concurrent writes
196
- yield this.acquireLock(fieldName);
236
+ const release = yield this.acquireLock(fieldName);
197
237
  try {
198
238
  const indexPath = `${this.indexFolderPath}/${fieldName}${Keys_1.General.DBMS_File_EXT}`;
199
239
  // Write to disk first for durability (disk = source of truth)
@@ -211,7 +251,7 @@ class IndexCache {
211
251
  return true;
212
252
  }
213
253
  finally {
214
- this.releaseLock(fieldName);
254
+ release();
215
255
  }
216
256
  });
217
257
  }
@@ -237,35 +277,31 @@ class IndexCache {
237
277
  });
238
278
  }
239
279
  /**
240
- * Simple lock acquisition for thread safety
241
- * Waits if another operation is currently holding the lock
280
+ * Acquires a per-field mutex, queuing behind any in-flight holder for the same key.
281
+ *
282
+ * Implemented as a chained promise queue: each call captures the current tail of the
283
+ * chain, awaits it (so it truly blocks until every earlier holder has released), then
284
+ * appends its own pending promise as the new tail. The caller MUST invoke the returned
285
+ * release function exactly once (typically in a `finally` block) to hand the lock to
286
+ * the next queued waiter.
242
287
  *
243
288
  * @param key - The lock key (typically field name)
289
+ * @returns A release function that unblocks the next waiter for this key
244
290
  * @private
245
291
  */
246
292
  acquireLock(key) {
247
293
  return __awaiter(this, void 0, void 0, function* () {
248
- const existingLock = this.locks.get(key);
249
- if (existingLock) {
250
- yield existingLock;
251
- }
252
- // Create new lock promise for this operation
253
- let releaseFn;
254
- const lockPromise = new Promise((resolve) => {
255
- releaseFn = resolve;
294
+ var _a;
295
+ const previousTail = (_a = this.lockChains.get(key)) !== null && _a !== void 0 ? _a : Promise.resolve();
296
+ let release;
297
+ const currentLock = new Promise((resolve) => {
298
+ release = resolve;
256
299
  });
257
- this.locks.set(key, lockPromise);
300
+ this.lockChains.set(key, previousTail.then(() => currentLock));
301
+ yield previousTail;
302
+ return release;
258
303
  });
259
304
  }
260
- /**
261
- * Releases the lock for a specific key
262
- *
263
- * @param key - The lock key to release
264
- * @private
265
- */
266
- releaseLock(key) {
267
- this.locks.delete(key);
268
- }
269
305
  /**
270
306
  * Gets current cache statistics for monitoring
271
307
  *
@@ -279,6 +315,10 @@ class IndexCache {
279
315
  }
280
316
  }
281
317
  exports.IndexCache = IndexCache;
318
+ // One IndexCache per collection path - shared across Insert/Read/Delete/Collection
319
+ // so the lock and the memory cache actually serialize/coordinate across operations
320
+ // instead of each call site racing on its own private state.
321
+ IndexCache.instances = new Map();
282
322
  // TTL constants (5-15 minutes in milliseconds)
283
323
  IndexCache.MIN_TTL_MS = 5 * 60 * 1000; // 5 minutes
284
324
  IndexCache.MAX_TTL_MS = 15 * 60 * 1000; // 15 minutes
@@ -1 +1 @@
1
- {"version":3,"file":"IndexCache.service.js","sourceRoot":"","sources":["../../../source/Services/Index/IndexCache.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,uDAAuD;AACvD,iDAAiD;AACjD,sFAA8D;AAC9D,qFAAsD;AAoBtD;;;;;;;;;;;;;;;;GAgBG;AACH;IAcE,YAAY,cAAsB;QAP1B,oBAAe,GAA0C,IAAI,CAAC;QAQpE,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,GAAG,cAAc,UAAU,CAAC;QACnD,IAAI,CAAC,aAAa,GAAG,GAAG,IAAI,CAAC,eAAe,kBAAkB,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAW,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAS,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,OAAO,IAAI,CAAC,KAAK,CACf,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAC5F,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB;QAC1B,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QAEjC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAEnC,8CAA8C;QAC9C,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,MAAmB;QACnC,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACU,cAAc;;YACzB,IAAI,CAAC;gBACH,iCAAiC;gBACjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;oBACvB,OAAO,CAAC,yBAAyB;gBACnC,CAAC;gBAED,2BAA2B;gBAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACxE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;oBACxB,OAAO;gBACT,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE5D,+CAA+C;gBAC/C,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAO,IAAS,EAAE,EAAE;oBACrD,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;wBAC5B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;wBAEhE,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;4BACxB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;4BAC7D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;gCAClC,IAAI,EAAE,SAAS;gCACf,QAAQ,EAAE,IAAI,IAAI,EAAE;gCACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE;gCAChD,IAAI,EAAE,SAAS;6BAChB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,4DAA4D;wBAC5D,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,cAAc,GAAG,EAAE,KAAK,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC,CAAA,CAAC,CAAC;gBAEH,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+EAA+E;gBAC/E,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;KAAA;IAED;;;;;;OAMG;IACU,QAAQ,CAAC,SAAiB;;YACrC,0CAA0C;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,4BAA4B;gBAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC7B,mCAAmC;gBACrC,CAAC;qBAAM,CAAC;oBACN,OAAO,MAAM,CAAC,IAAI,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,+DAA+D;YAC/D,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,eAAe,IAAI,SAAS,GAAG,cAAO,CAAC,aAAa,EAAE,CAAC;gBACjF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAEhE,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACxB,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBAE7D,kDAAkD;wBAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE;4BACxB,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,IAAI,IAAI,EAAE;4BACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE;4BAChD,IAAI,EAAE,SAAS;yBAChB,CAAC,CAAC;wBAEH,OAAO,SAAS,CAAC;oBACnB,CAAC;oBAAC,OAAO,UAAU,EAAE,CAAC;wBACpB,+DAA+D;wBAC/D,OAAO,CAAC,KAAK,CAAC,4BAA4B,SAAS,kBAAkB,CAAC,CAAC;wBACvE,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4DAA4D;YAC9D,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;;;;;;OAOG;IACU,WAAW,CAAC,SAAiB,EAAE,SAAoB;;YAC9D,2DAA2D;YAC3D,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAElC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,eAAe,IAAI,SAAS,GAAG,cAAO,CAAC,aAAa,EAAE,CAAC;gBAEjF,8DAA8D;gBAC9D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAClD,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CACnC,CAAC;gBAEF,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;oBACxB,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,iEAAiE;gBACjE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE;oBACxB,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAI,IAAI,EAAE;oBACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE;oBAChD,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;KAAA;IAED;;;;;OAKG;IACU,eAAe,CAAC,SAAiB;;YAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;KAAA;IAED;;;;OAIG;IACU,aAAa;;YACxB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KAAA;IAED;;;;;;OAMG;IACW,WAAW,CAAC,GAAW;;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,YAAY,CAAC;YACrB,CAAC;YAED,6CAA6C;YAC7C,IAAI,SAAqB,CAAC;YAC1B,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAChD,SAAS,GAAG,OAAO,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACnC,CAAC;KAAA;IAED;;;;;OAKG;IACK,WAAW,CAAC,GAAW;QAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACI,aAAa;QAClB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YAC3B,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC1C,CAAC;IACJ,CAAC;CACF;;AAtQC,+CAA+C;AACvB,qBAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,AAAhB,CAAiB,CAAG,YAAY;AAC1C,qBAAU,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,AAAjB,CAAkB,CAAE,aAAa;AAC3C,8BAAmB,GAAG,EAAE,GAAG,IAAI,AAAZ,CAAa,CAAC,uBAAuB"}
1
+ {"version":3,"file":"IndexCache.service.js","sourceRoot":"","sources":["../../../source/Services/Index/IndexCache.service.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ const IndexCache_service_1 = require("./IndexCache.service");
16
16
  class InsertIndex extends Index_service_1.IndexManager {
17
17
  constructor(path) {
18
18
  super(path);
19
- this.indexCache = new IndexCache_service_1.IndexCache(path);
19
+ this.indexCache = IndexCache_service_1.IndexCache.getInstance(path);
20
20
  }
21
21
  /**
22
22
  * Inserts a document identifier into one or more index files as defined by the global index meta.
@@ -1 +1 @@
1
- {"version":3,"file":"InsertIndex.service.js","sourceRoot":"","sources":["../../../source/Services/Index/InsertIndex.service.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAuD;AACvD,iDAAiD;AACjD,mDAA+C;AAC/C,6DAAkD;AAElD,iBAAiC,SAAQ,4BAAY;IAGnD,YAAa,IAAY;QACvB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,IAAI,+BAAU,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4BC;IACY,aAAa,CAAC,QAAa;;YACpC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAEhE,IAAI,YAAY,EAAC,CAAC;gBAElB,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC7B,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,MAAM,GAAY,KAAK,CAAC;gBAC5B,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;oBACnC,MAAM,SAAS,GAAW,OAAO,CAAC,cAAc,CAAC;oBACjD,MAAM,gBAAgB,GAAG,GAAG,QAAQ,CAAC,UAAU,GAAG,cAAO,CAAC,aAAa,EAAE,CAAC;oBAE1E,6EAA6E;oBAC7E,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAE1D,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,iEAAiE;wBACjE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACnE,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;4BACxB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBACzD,CAAC;6BAAM,CAAC;4BACN,6CAA6C;4BAC7C,SAAS;wBACX,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,SAAS;oBACX,CAAC;oBAED,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAEvC,gCAAgC;oBAChC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC;oBACzF,IAAI,WAAW,EAAC,CAAC;wBACf,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAC5D,CAAC;yBACI,CAAC;wBACJ,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC1D,CAAC;oBAED,+CAA+C;oBAC/C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBAC9E,MAAM,GAAG,aAAa,CAAC;gBACzB,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;CAEF"}
1
+ {"version":3,"file":"InsertIndex.service.js","sourceRoot":"","sources":["../../../source/Services/Index/InsertIndex.service.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAuD;AACvD,iDAAiD;AACjD,mDAA+C;AAC/C,6DAAkD;AAElD,iBAAiC,SAAQ,4BAAY;IAGnD,YAAa,IAAY;QACvB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,+BAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4BC;IACY,aAAa,CAAC,QAAa;;YACpC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAEhE,IAAI,YAAY,EAAC,CAAC;gBAElB,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC7B,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,MAAM,GAAY,KAAK,CAAC;gBAC5B,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;oBACnC,MAAM,SAAS,GAAW,OAAO,CAAC,cAAc,CAAC;oBACjD,MAAM,gBAAgB,GAAG,GAAG,QAAQ,CAAC,UAAU,GAAG,cAAO,CAAC,aAAa,EAAE,CAAC;oBAE1E,6EAA6E;oBAC7E,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAE1D,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,iEAAiE;wBACjE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACnE,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;4BACxB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBACzD,CAAC;6BAAM,CAAC;4BACN,6CAA6C;4BAC7C,SAAS;wBACX,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,SAAS;oBACX,CAAC;oBAED,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAEvC,gCAAgC;oBAChC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC;oBACzF,IAAI,WAAW,EAAC,CAAC;wBACf,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAC5D,CAAC;yBACI,CAAC;wBACJ,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC1D,CAAC;oBAED,+CAA+C;oBAC/C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBAC9E,MAAM,GAAG,aAAa,CAAC;gBACzB,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;CAEF"}
@@ -16,7 +16,7 @@ const IndexCache_service_1 = require("./IndexCache.service");
16
16
  class ReadIndex extends Index_service_1.IndexManager {
17
17
  constructor(path) {
18
18
  super(path);
19
- this.indexCache = new IndexCache_service_1.IndexCache(path);
19
+ this.indexCache = IndexCache_service_1.IndexCache.getInstance(path);
20
20
  }
21
21
  /**
22
22
  * Retrieve file path(s) from an index that match the provided query.
@@ -1 +1 @@
1
- {"version":3,"file":"ReadIndex.service.js","sourceRoot":"","sources":["../../../source/Services/Index/ReadIndex.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReadIndex.service.js","sourceRoot":"","sources":["../../../source/Services/Index/ReadIndex.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ErrorInterface, SuccessInterface } from "../../config/Interfaces/Helper/response.helper.interface";
2
2
  import { LockInfo } from "../../config/Interfaces/Transaction/transaction.interface";
3
3
  export default class LockManager {
4
+ private static instances;
4
5
  private readonly collectionPath;
5
6
  private readonly lockDir;
6
7
  private readonly FileManager;
@@ -9,8 +10,12 @@ export default class LockManager {
9
10
  private readonly ResponseHelper;
10
11
  private readonly maxWaitTime;
11
12
  private readonly pollInterval;
12
- constructor(collectionPath: string);
13
+ private constructor();
14
+ /** Returns the shared LockManager for a collection path, creating it on first use. */
15
+ static getInstance(collectionPath: string): LockManager;
13
16
  acquireLock(documentId: string, transactionId: string, transactionTimestamp: number): Promise<SuccessInterface | ErrorInterface>;
17
+ /** Builds the checksummed lock-file content; keeps format in sync with getLockOwner(). */
18
+ private buildLockContent;
14
19
  releaseLock(documentId: string): Promise<SuccessInterface | ErrorInterface>;
15
20
  releaseAllLocks(documentIds: string[]): Promise<void>;
16
21
  isLocked(documentId: string): Promise<boolean>;
@@ -29,6 +29,15 @@ class LockManager {
29
29
  this.Converter = new Converter_helper_1.default();
30
30
  this.ResponseHelper = new response_helper_1.default();
31
31
  }
32
+ /** Returns the shared LockManager for a collection path, creating it on first use. */
33
+ static getInstance(collectionPath) {
34
+ let instance = LockManager.instances.get(collectionPath);
35
+ if (!instance) {
36
+ instance = new LockManager(collectionPath);
37
+ LockManager.instances.set(collectionPath, instance);
38
+ }
39
+ return instance;
40
+ }
32
41
  acquireLock(documentId, transactionId, transactionTimestamp) {
33
42
  return __awaiter(this, void 0, void 0, function* () {
34
43
  try {
@@ -37,36 +46,22 @@ class LockManager {
37
46
  yield this.FolderManager.CreateDirectory(this.lockDir);
38
47
  }
39
48
  const lockFilePath = `${this.lockDir}/${documentId}.lock`;
49
+ const lockContent = this.buildLockContent(documentId, transactionId, transactionTimestamp);
40
50
  const startTime = Date.now();
41
51
  while (Date.now() - startTime < this.maxWaitTime) {
42
- const fileExists = yield this.FileManager.FileExists(lockFilePath);
43
- if (!fileExists.status) {
44
- const lockInfo = {
45
- documentId,
46
- transactionId,
47
- lockType: 'WRITE',
48
- timestamp: transactionTimestamp,
49
- };
50
- const lockData = this.Converter.ToString(lockInfo);
51
- const checksum = (0, crypto_1.createHash)('sha256').update(lockData).digest('hex');
52
- const lockContent = this.Converter.ToString({ lockInfo, checksum });
53
- const writeResult = yield this.FileManager.WriteFile(lockFilePath, lockContent);
54
- if (writeResult.status) {
55
- return this.ResponseHelper.Success({ message: "Lock acquired", documentId });
56
- }
52
+ // Atomic acquire-if-free - avoids the FileExists-then-WriteFile race.
53
+ const acquired = yield this.FileManager.WriteFileExclusive(lockFilePath, lockContent);
54
+ if (acquired.status) {
55
+ return this.ResponseHelper.Success({ message: "Lock acquired", documentId });
57
56
  }
58
- else {
59
- const lockOwner = yield this.getLockOwner(documentId);
60
- if (lockOwner) {
61
- const ownerTimestamp = lockOwner.timestamp;
62
- if (transactionTimestamp < ownerTimestamp) {
63
- yield this.sleep(this.pollInterval);
64
- continue;
65
- }
66
- else {
67
- return this.ResponseHelper.Error(`Deadlock detected: Transaction ${transactionId} aborted (Wait-Die)`);
68
- }
57
+ // Wait-Die: older transactions wait, younger ones abort.
58
+ const lockOwner = yield this.getLockOwner(documentId);
59
+ if (lockOwner) {
60
+ if (transactionTimestamp < lockOwner.timestamp) {
61
+ yield this.sleep(this.pollInterval);
62
+ continue;
69
63
  }
64
+ return this.ResponseHelper.Error(`Deadlock detected: Transaction ${transactionId} aborted (Wait-Die)`);
70
65
  }
71
66
  yield this.sleep(this.pollInterval);
72
67
  }
@@ -77,6 +72,19 @@ class LockManager {
77
72
  }
78
73
  });
79
74
  }
75
+ /** Builds the checksummed lock-file content; keeps format in sync with getLockOwner(). */
76
+ buildLockContent(documentId, transactionId, transactionTimestamp) {
77
+ const lockInfo = {
78
+ documentId,
79
+ transactionId,
80
+ lockType: 'WRITE',
81
+ timestamp: transactionTimestamp,
82
+ };
83
+ const checksum = (0, crypto_1.createHash)('sha256')
84
+ .update(this.Converter.ToString(lockInfo))
85
+ .digest('hex');
86
+ return this.Converter.ToString({ lockInfo, checksum });
87
+ }
80
88
  releaseLock(documentId) {
81
89
  return __awaiter(this, void 0, void 0, function* () {
82
90
  try {
@@ -147,5 +155,7 @@ class LockManager {
147
155
  return new Promise(resolve => setTimeout(resolve, ms));
148
156
  }
149
157
  }
158
+ // One LockManager per collection path, shared across every caller.
159
+ LockManager.instances = new Map();
150
160
  exports.default = LockManager;
151
161
  //# sourceMappingURL=LockManager.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LockManager.service.js","sourceRoot":"","sources":["../../../source/Services/Transaction/LockManager.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LockManager.service.js","sourceRoot":"","sources":["../../../source/Services/Transaction/LockManager.service.ts"],"names":[],"mappings":"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"}
@@ -71,9 +71,9 @@ class Transaction {
71
71
  this.encryptionKey = encryptionKey;
72
72
  this.startTime = Date.now();
73
73
  this.WAL = new WriteAheadLog_service_1.default(collectionPath, this.transactionId, isEncrypted, encryptionKey);
74
- this.LockManager = new LockManager_service_1.default(collectionPath);
74
+ this.LockManager = LockManager_service_1.default.getInstance(collectionPath);
75
75
  this.Registry = new TransactionRegistry_service_1.default(collectionPath);
76
- this.IndexManager = new TransactionIndexManager_service_1.default(collectionPath, this.transactionId, isEncrypted, encryptionKey);
76
+ this.IndexManager = new TransactionIndexManager_service_1.default(collectionPath, isEncrypted, encryptionKey);
77
77
  this.ResponseHelper = new response_helper_1.default();
78
78
  this.Converter = new Converter_helper_1.default();
79
79
  this.FileManager = new FileManager_1.default();
@@ -218,6 +218,9 @@ class Transaction {
218
218
  message: "Transaction committed successfully",
219
219
  transactionId: this.transactionId,
220
220
  operationsCount: this.operations.length,
221
+ documentIds: this.resolvedOperations
222
+ .filter((op) => op.type === 'INSERT' && op.documentId)
223
+ .map((op) => op.documentId),
221
224
  });
222
225
  }
223
226
  catch (error) {
@@ -271,6 +274,22 @@ class Transaction {
271
274
  const resolvedOperations = [];
272
275
  for (const op of this.operations) {
273
276
  if (op.type === 'INSERT') {
277
+ // Guard against documentId collisions. insert() must stay synchronous to
278
+ // keep the chainable API (txn.insert(a).update(b)...), so it can't await
279
+ // a FileExists check itself - do it here instead, before commit() writes
280
+ // anything to disk.
281
+ let documentId = op.documentId;
282
+ let filePath = `${this.collectionPath}/${documentId}${Keys_1.General.DBMS_File_EXT}`;
283
+ while ((yield this.FileManager.FileExists(filePath)).status) {
284
+ documentId = new UniqueGenerator_helper_1.default(15).RandomWord(true);
285
+ filePath = `${this.collectionPath}/${documentId}${Keys_1.General.DBMS_File_EXT}`;
286
+ }
287
+ if (documentId !== op.documentId) {
288
+ op.documentId = documentId;
289
+ if (op.data) {
290
+ op.data = Object.assign(Object.assign({}, op.data), { documentId });
291
+ }
292
+ }
274
293
  resolvedOperations.push(op);
275
294
  }
276
295
  else if (op.type === 'UPDATE' && op.query && op.data) {
@@ -396,7 +415,7 @@ class Transaction {
396
415
  const activeTransactions = yield registry.getActiveTransactions();
397
416
  for (const txnMeta of activeTransactions) {
398
417
  const wal = new WriteAheadLog_service_1.default(collectionPath, txnMeta.transactionId);
399
- const lockManager = new LockManager_service_1.default(collectionPath);
418
+ const lockManager = LockManager_service_1.default.getInstance(collectionPath);
400
419
  if (txnMeta.status === 'COMMITTED' || txnMeta.status === 'PREPARING') {
401
420
  yield wal.redo();
402
421
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.service.js","sourceRoot":"","sources":["../../../source/Services/Transaction/Transaction.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.service.js","sourceRoot":"","sources":["../../../source/Services/Transaction/Transaction.service.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,11 @@ export default class TransactionIndexManager {
8
8
  private readonly Converter;
9
9
  private readonly ResponseHelper;
10
10
  private readonly ReadIndexService;
11
- private readonly transactionId;
11
+ private readonly indexCache;
12
12
  private stagedIndexUpdates;
13
13
  private readonly isEncrypted;
14
14
  private readonly encryptionKey?;
15
- constructor(collectionPath: string, transactionId: string, isEncrypted?: boolean, encryptionKey?: string);
15
+ constructor(collectionPath: string, isEncrypted?: boolean, encryptionKey?: string);
16
16
  resolveQueryToDocumentIds(query: object): Promise<string[]>;
17
17
  stageIndexUpdates(operations: TransactionOperation[]): Promise<void>;
18
18
  commitIndexUpdates(): Promise<SuccessInterface | ErrorInterface>;
@@ -50,19 +50,25 @@ const FileManager_1 = __importDefault(require("../../engine/Filesystem/FileManag
50
50
  const Converter_helper_1 = __importDefault(require("../../Helper/Converter.helper"));
51
51
  const response_helper_1 = __importDefault(require("../../Helper/response.helper"));
52
52
  const ReadIndex_service_1 = require("../Index/ReadIndex.service");
53
+ const IndexCache_service_1 = require("../Index/IndexCache.service");
53
54
  const Searcher_utils_1 = __importDefault(require("../../utility/Searcher.utils"));
54
55
  const BufferLoaderWithWorker_utils_1 = __importDefault(require("../../utility/BufferLoaderWithWorker.utils"));
55
56
  class TransactionIndexManager {
56
- constructor(collectionPath, transactionId, isEncrypted = false, encryptionKey) {
57
+ constructor(collectionPath, isEncrypted = false, encryptionKey) {
58
+ // Keyed by fieldName (not file path) - IndexCache.updateIndex() takes the field name
57
59
  this.stagedIndexUpdates = new Map();
58
60
  this.collectionPath = collectionPath;
59
- this.transactionId = transactionId;
60
61
  this.indexFolderPath = `${collectionPath}/indexes`;
61
62
  this.indexMetaPath = `${this.indexFolderPath}/index.meta.json`;
62
63
  this.FileManager = new FileManager_1.default();
63
64
  this.Converter = new Converter_helper_1.default();
64
65
  this.ResponseHelper = new response_helper_1.default();
65
66
  this.ReadIndexService = new ReadIndex_service_1.ReadIndex(collectionPath);
67
+ // Same shared cache InsertIndex/DeleteIndex/ReadIndex use - staging reads and
68
+ // committing writes through it (instead of raw file I/O) keeps transactional
69
+ // index changes visible to every other index consumer instead of leaving the
70
+ // cache holding a stale pre-transaction copy.
71
+ this.indexCache = IndexCache_service_1.IndexCache.getInstance(collectionPath);
66
72
  this.isEncrypted = isEncrypted;
67
73
  this.encryptionKey = encryptionKey;
68
74
  }
@@ -94,13 +100,13 @@ class TransactionIndexManager {
94
100
  }
95
101
  const indexMeta = this.Converter.ToObject(indexMetaContent.data);
96
102
  for (const indexMetaEntry of indexMeta) {
97
- const indexFilePath = indexMetaEntry.path;
98
103
  const fieldName = indexMetaEntry.indexFieldName;
99
- const indexContent = yield this.FileManager.ReadFile(indexFilePath);
100
- if (!indexContent.status) {
104
+ // Read through the shared cache (memory hit, or disk on cold start) so
105
+ // staging sees the same up-to-date state every other index consumer does.
106
+ const indexData = yield this.indexCache.getIndex(fieldName);
107
+ if (!indexData) {
101
108
  continue;
102
109
  }
103
- const indexData = this.Converter.ToObject(indexContent.data);
104
110
  const indexEntries = indexData.indexEntries || {};
105
111
  for (const op of operations) {
106
112
  if (op.type === 'INSERT' && op.data && op.documentId) {
@@ -148,7 +154,7 @@ class TransactionIndexManager {
148
154
  }
149
155
  }
150
156
  indexData.indexEntries = indexEntries;
151
- this.stagedIndexUpdates.set(indexFilePath, indexData);
157
+ this.stagedIndexUpdates.set(fieldName, indexData);
152
158
  }
153
159
  }
154
160
  catch (_a) {
@@ -159,15 +165,13 @@ class TransactionIndexManager {
159
165
  commitIndexUpdates() {
160
166
  return __awaiter(this, void 0, void 0, function* () {
161
167
  try {
162
- for (const [indexFilePath, indexData] of this.stagedIndexUpdates) {
163
- const tempFilePath = `${indexFilePath}.tmp-${this.transactionId}`;
164
- yield this.FileManager.WriteFile(tempFilePath, this.Converter.ToString(indexData));
165
- const readResult = yield this.FileManager.ReadFile(tempFilePath);
166
- if (!readResult.status) {
167
- return this.ResponseHelper.Error("Failed to verify temp index file");
168
+ for (const [fieldName, indexData] of this.stagedIndexUpdates) {
169
+ // updateIndex() writes disk + refreshes the shared in-memory cache under
170
+ // its per-field lock, so every other index consumer sees this immediately.
171
+ const updated = yield this.indexCache.updateIndex(fieldName, indexData);
172
+ if (!updated) {
173
+ return this.ResponseHelper.Error(`Failed to commit index update for field: ${fieldName}`);
168
174
  }
169
- const fs = yield Promise.resolve().then(() => __importStar(require('fs/promises')));
170
- yield fs.rename(tempFilePath, indexFilePath);
171
175
  }
172
176
  this.stagedIndexUpdates.clear();
173
177
  return this.ResponseHelper.Success({ message: "Index updates committed" });
@@ -179,19 +183,10 @@ class TransactionIndexManager {
179
183
  }
180
184
  rollbackIndexUpdates() {
181
185
  return __awaiter(this, void 0, void 0, function* () {
182
- try {
183
- for (const [indexFilePath] of this.stagedIndexUpdates) {
184
- const tempFilePath = `${indexFilePath}.tmp-${this.transactionId}`;
185
- const fileExists = yield this.FileManager.FileExists(tempFilePath);
186
- if (fileExists.status) {
187
- yield this.FileManager.DeleteFile(tempFilePath);
188
- }
189
- }
190
- this.stagedIndexUpdates.clear();
191
- }
192
- catch (_a) {
193
- return;
194
- }
186
+ // Staged updates only ever lived in memory (this.stagedIndexUpdates) until
187
+ // commitIndexUpdates() wrote them - nothing was persisted, so rolling back is
188
+ // just discarding the staged map.
189
+ this.stagedIndexUpdates.clear();
195
190
  });
196
191
  }
197
192
  getAllDocumentFiles() {
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionIndexManager.service.js","sourceRoot":"","sources":["../../../source/Services/Transaction/TransactionIndexManager.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransactionIndexManager.service.js","sourceRoot":"","sources":["../../../source/Services/Transaction/TransactionIndexManager.service.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ export default class FileManager {
4
4
  private readonly WorkerProcess;
5
5
  constructor();
6
6
  WriteFile(path: string, data: string): Promise<SuccessInterface | ErrorInterface>;
7
+ /** Atomically creates a file only if absent (OS-level 'wx' flag) - safe for lock files. */
8
+ WriteFileExclusive(path: string, data: string): Promise<SuccessInterface | ErrorInterface>;
7
9
  ReadFile(path: string): Promise<SuccessInterface | ErrorInterface>;
8
10
  DeleteFile(path: string): Promise<SuccessInterface | ErrorInterface>;
9
11
  FileExists(path: string): Promise<SuccessInterface | ErrorInterface>;
@@ -32,6 +32,18 @@ class FileManager {
32
32
  }
33
33
  });
34
34
  }
35
+ /** Atomically creates a file only if absent (OS-level 'wx' flag) - safe for lock files. */
36
+ WriteFileExclusive(path, data) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ try {
39
+ yield promises_1.default.writeFile(path, data, { encoding: "utf-8", flag: "wx" });
40
+ return this.responseHelper.Success("File created exclusively.");
41
+ }
42
+ catch (error) {
43
+ return this.responseHelper.Error(error);
44
+ }
45
+ });
46
+ }
35
47
  ReadFile(path) {
36
48
  return __awaiter(this, void 0, void 0, function* () {
37
49
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"FileManager.js","sourceRoot":"","sources":["../../../source/engine/Filesystem/FileManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileManager.js","sourceRoot":"","sources":["../../../source/engine/Filesystem/FileManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,2DAA6B;AAC7B,mFAA0D;AAK1D,2EAAkD;AAElD;IAIE;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,yBAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAa,EAAE,CAAC;IAC3C,CAAC;IAEY,SAAS,CACpB,IAAY,EACZ,IAAY;;YAEZ,IAAI,CAAC;gBACH,MAAM,kBAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;KAAA;IAED,2FAA2F;IAC9E,kBAAkB,CAC7B,IAAY,EACZ,IAAY;;YAEZ,IAAI,CAAC;gBACH,MAAM,kBAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;KAAA;IAEY,QAAQ,CACnB,IAAY;;YAEZ,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC9C,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;KAAA;IAEY,UAAU,CACrB,IAAY;;YAEZ,IAAI,CAAC;gBACH,MAAM,kBAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;KAAA;IAEY,UAAU,CACrB,IAAY;;YAEZ,IAAI,CAAC;gBACH,MAAM,kBAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;uBAAO,CAAC;gBACP,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;KAAA;IAEY,UAAU,CACrB,IAAY;;YAEZ,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;KAAA;IAEY,QAAQ,CACnB,OAAe,EACf,OAAe;;YAEf,IAAI,CAAC;gBACH,MAAM,kBAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;KAAA;IAED;;;;;;OAMG;IACU,WAAW,CACtB,IAAY;;YAEZ,IAAI,CAAC;gBACH,iDAAiD;gBACjD,IAAI,CAAC;oBACH,wCAAwC;oBACxC,IAAI,YAAY,GAAkB,IAAI,CAAC;oBACvC,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;wBAE1B,uDAAuD;wBACvD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;4BACnC,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBAC9B,CAAC;oBACH,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,gFAAgF;oBAClF,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAElC,qDAAqD;wBACrD,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;4BAC9D,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBACrC,CAAC;wBAED,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjD,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,sDAAsD;wBACtD,MAAM,MAAM,GAAG,wBAAa,CAAC,KAAK,EAAE,CAAC;wBACrC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;4BACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CACjD,mCAAmC,IAAI,YAAY,CACpD,CAAC;4BACF,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;4BAEvC,qDAAqD;4BACrD,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;gCAC9D,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;4BACrC,CAAC;4BAED,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC3C,CAAC;6BAAM,CAAC;4BACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CACjD,YAAY,IAAI,yBAAyB,CAC1C,CAAC;4BACF,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;4BAEvC,qDAAqD;4BACrD,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;gCAC9D,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;4BACrC,CAAC;4BAED,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC3C,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,oFAAoF;oBACpF,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;wBAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;4BACrC,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;+BAAO,CAAC;wBACP,6CAA6C;oBAC/C,CAAC;oBAED,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;KAAA;IAEY,kBAAkB,CAC7B,cAAsB,EACtB,QAAgB;;YAEhB,MAAM,QAAQ,GAAG,GAAG,cAAc,IAAI,QAAQ,EAAE,CAAC;YACjD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvD,OAAO,MAAM,IAAI,cAAc;gBAC7B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,2BAA2B,CAAC;gBAC1D,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACzD,CAAC;KAAA;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "axiodb",
3
- "version": "12.10.26",
3
+ "version": "12.11.27",
4
4
  "description": "The Pure JavaScript Alternative to SQLite. Embedded NoSQL database for Node.js with MongoDB-style queries, zero native dependencies, built-in InMemoryCache, and web GUI. Perfect for desktop apps, CLI tools, and embedded systems. No compilation, no platform issues—pure JavaScript from npm install to production.",
5
5
  "main": "./lib/config/DB.js",
6
6
  "types": "./lib/config/DB.d.ts",