@yydb/light-db 0.0.0
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/api/LightDB.d.ts +194 -0
- package/dist/api/LightDB.d.ts.map +1 -0
- package/dist/api/LightDB.js +299 -0
- package/dist/api/LightDB.js.map +1 -0
- package/dist/api/Transaction.d.ts +100 -0
- package/dist/api/Transaction.d.ts.map +1 -0
- package/dist/api/Transaction.js +263 -0
- package/dist/api/Transaction.js.map +1 -0
- package/dist/api/index.d.ts +24 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +54 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/types.d.ts +154 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +7 -0
- package/dist/api/types.js.map +1 -0
- package/dist/collection/Collection.d.ts +235 -0
- package/dist/collection/Collection.d.ts.map +1 -0
- package/dist/collection/Collection.js +671 -0
- package/dist/collection/Collection.js.map +1 -0
- package/dist/collection/QueryBuilder.d.ts +225 -0
- package/dist/collection/QueryBuilder.d.ts.map +1 -0
- package/dist/collection/QueryBuilder.js +475 -0
- package/dist/collection/QueryBuilder.js.map +1 -0
- package/dist/collection/QueryParser.d.ts +117 -0
- package/dist/collection/QueryParser.d.ts.map +1 -0
- package/dist/collection/QueryParser.js +438 -0
- package/dist/collection/QueryParser.js.map +1 -0
- package/dist/collection/index.d.ts +42 -0
- package/dist/collection/index.d.ts.map +1 -0
- package/dist/collection/index.js +41 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/types.d.ts +365 -0
- package/dist/collection/types.d.ts.map +1 -0
- package/dist/collection/types.js +7 -0
- package/dist/collection/types.js.map +1 -0
- package/dist/constants/index.d.ts +51 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +68 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/errors/index.d.ts +69 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +132 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +220 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +729 -0
- package/dist/index.js.map +1 -0
- package/dist/indexes/BPlusTree.d.ts +181 -0
- package/dist/indexes/BPlusTree.d.ts.map +1 -0
- package/dist/indexes/BPlusTree.js +528 -0
- package/dist/indexes/BPlusTree.js.map +1 -0
- package/dist/indexes/IndexManager.d.ts +236 -0
- package/dist/indexes/IndexManager.d.ts.map +1 -0
- package/dist/indexes/IndexManager.js +502 -0
- package/dist/indexes/IndexManager.js.map +1 -0
- package/dist/indexes/PrimaryIndex.d.ts +240 -0
- package/dist/indexes/PrimaryIndex.d.ts.map +1 -0
- package/dist/indexes/PrimaryIndex.js +354 -0
- package/dist/indexes/PrimaryIndex.js.map +1 -0
- package/dist/indexes/SecondaryIndex.d.ts +204 -0
- package/dist/indexes/SecondaryIndex.d.ts.map +1 -0
- package/dist/indexes/SecondaryIndex.js +480 -0
- package/dist/indexes/SecondaryIndex.js.map +1 -0
- package/dist/indexes/errors.d.ts +66 -0
- package/dist/indexes/errors.d.ts.map +1 -0
- package/dist/indexes/errors.js +117 -0
- package/dist/indexes/errors.js.map +1 -0
- package/dist/indexes/index.d.ts +52 -0
- package/dist/indexes/index.d.ts.map +1 -0
- package/dist/indexes/index.js +131 -0
- package/dist/indexes/index.js.map +1 -0
- package/dist/indexes/types.d.ts +246 -0
- package/dist/indexes/types.d.ts.map +1 -0
- package/dist/indexes/types.js +30 -0
- package/dist/indexes/types.js.map +1 -0
- package/dist/performance/BatchWALWriter.d.ts +185 -0
- package/dist/performance/BatchWALWriter.d.ts.map +1 -0
- package/dist/performance/BatchWALWriter.js +490 -0
- package/dist/performance/BatchWALWriter.js.map +1 -0
- package/dist/performance/ColumnarStorage.d.ts +138 -0
- package/dist/performance/ColumnarStorage.d.ts.map +1 -0
- package/dist/performance/ColumnarStorage.js +875 -0
- package/dist/performance/ColumnarStorage.js.map +1 -0
- package/dist/performance/LazyQuery.d.ts +307 -0
- package/dist/performance/LazyQuery.d.ts.map +1 -0
- package/dist/performance/LazyQuery.js +588 -0
- package/dist/performance/LazyQuery.js.map +1 -0
- package/dist/performance/OptimizedBuffer.d.ts +375 -0
- package/dist/performance/OptimizedBuffer.d.ts.map +1 -0
- package/dist/performance/OptimizedBuffer.js +730 -0
- package/dist/performance/OptimizedBuffer.js.map +1 -0
- package/dist/performance/RWLock.d.ts +260 -0
- package/dist/performance/RWLock.d.ts.map +1 -0
- package/dist/performance/RWLock.js +570 -0
- package/dist/performance/RWLock.js.map +1 -0
- package/dist/performance/index.d.ts +41 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/index.js +162 -0
- package/dist/performance/index.js.map +1 -0
- package/dist/performance/types.d.ts +247 -0
- package/dist/performance/types.d.ts.map +1 -0
- package/dist/performance/types.js +26 -0
- package/dist/performance/types.js.map +1 -0
- package/dist/storage/Checkpoint.d.ts +128 -0
- package/dist/storage/Checkpoint.d.ts.map +1 -0
- package/dist/storage/Checkpoint.js +251 -0
- package/dist/storage/Checkpoint.js.map +1 -0
- package/dist/storage/LightFile.d.ts +227 -0
- package/dist/storage/LightFile.d.ts.map +1 -0
- package/dist/storage/LightFile.js +526 -0
- package/dist/storage/LightFile.js.map +1 -0
- package/dist/storage/Recovery.d.ts +172 -0
- package/dist/storage/Recovery.d.ts.map +1 -0
- package/dist/storage/Recovery.js +399 -0
- package/dist/storage/Recovery.js.map +1 -0
- package/dist/storage/SHMFile.d.ts +243 -0
- package/dist/storage/SHMFile.d.ts.map +1 -0
- package/dist/storage/SHMFile.js +436 -0
- package/dist/storage/SHMFile.js.map +1 -0
- package/dist/storage/StorageEngine.d.ts +146 -0
- package/dist/storage/StorageEngine.d.ts.map +1 -0
- package/dist/storage/StorageEngine.js +353 -0
- package/dist/storage/StorageEngine.js.map +1 -0
- package/dist/storage/WALFile.d.ts +248 -0
- package/dist/storage/WALFile.d.ts.map +1 -0
- package/dist/storage/WALFile.js +597 -0
- package/dist/storage/WALFile.js.map +1 -0
- package/dist/storage/index.d.ts +10 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +153 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/types/index.d.ts +220 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/binary.d.ts +271 -0
- package/dist/utils/binary.d.ts.map +1 -0
- package/dist/utils/binary.js +454 -0
- package/dist/utils/binary.js.map +1 -0
- package/dist/utils/file.d.ts +166 -0
- package/dist/utils/file.d.ts.map +1 -0
- package/dist/utils/file.js +346 -0
- package/dist/utils/file.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +39 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +37 -0
- package/readme.md +124 -0
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* LightDB 事务实现
|
|
4
|
+
* 提供 ACID 事务支持
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.TransactionManager = exports.Transaction = exports.TransactionError = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* 事务错误类
|
|
10
|
+
*/
|
|
11
|
+
class TransactionError extends Error {
|
|
12
|
+
constructor(message, code) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.name = "TransactionError";
|
|
15
|
+
this.code = code;
|
|
16
|
+
Object.setPrototypeOf(this, TransactionError.prototype);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.TransactionError = TransactionError;
|
|
20
|
+
/**
|
|
21
|
+
* 事务集合包装器
|
|
22
|
+
* 提供事务内的集合操作
|
|
23
|
+
*/
|
|
24
|
+
class TransactionCollectionWrapper {
|
|
25
|
+
constructor(collection, transaction) {
|
|
26
|
+
this.collection = collection;
|
|
27
|
+
this.transaction = transaction;
|
|
28
|
+
}
|
|
29
|
+
async find(filter = {}) {
|
|
30
|
+
this.transaction.ensureActive();
|
|
31
|
+
return this.collection.find({
|
|
32
|
+
where: filter,
|
|
33
|
+
}).docs;
|
|
34
|
+
}
|
|
35
|
+
async findOne(filter) {
|
|
36
|
+
this.transaction.ensureActive();
|
|
37
|
+
return this.collection.findOne(filter);
|
|
38
|
+
}
|
|
39
|
+
async insert(doc) {
|
|
40
|
+
this.transaction.ensureActive();
|
|
41
|
+
const result = this.collection.insert(doc);
|
|
42
|
+
if (!result.success) {
|
|
43
|
+
throw new TransactionError("Failed to insert document in transaction", "INSERT_FAILED");
|
|
44
|
+
}
|
|
45
|
+
this.transaction.recordOperation("insert", this.collection.Name, doc);
|
|
46
|
+
}
|
|
47
|
+
async update(filter, update) {
|
|
48
|
+
this.transaction.ensureActive();
|
|
49
|
+
const result = this.collection.updateMany(filter, { $set: update });
|
|
50
|
+
this.transaction.recordOperation("update", this.collection.Name, {
|
|
51
|
+
filter,
|
|
52
|
+
update,
|
|
53
|
+
count: result.modifiedCount,
|
|
54
|
+
});
|
|
55
|
+
return result.modifiedCount;
|
|
56
|
+
}
|
|
57
|
+
async delete(filter) {
|
|
58
|
+
this.transaction.ensureActive();
|
|
59
|
+
const result = this.collection.deleteMany(filter);
|
|
60
|
+
this.transaction.recordOperation("delete", this.collection.Name, {
|
|
61
|
+
filter,
|
|
62
|
+
count: result.deletedCount,
|
|
63
|
+
});
|
|
64
|
+
return result.deletedCount;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 事务类
|
|
69
|
+
* 管理事务的生命周期和操作
|
|
70
|
+
*/
|
|
71
|
+
class Transaction {
|
|
72
|
+
constructor(collections, options) {
|
|
73
|
+
this.collections = collections;
|
|
74
|
+
this.options = {
|
|
75
|
+
timeout: options?.timeout ?? 5000,
|
|
76
|
+
isolationLevel: options?.isolationLevel ?? "read_committed",
|
|
77
|
+
};
|
|
78
|
+
this.state = "active";
|
|
79
|
+
this.operations = [];
|
|
80
|
+
this.startTime = Date.now();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* 获取事务集合
|
|
84
|
+
*/
|
|
85
|
+
collection(name) {
|
|
86
|
+
this.ensureActive();
|
|
87
|
+
const collection = this.collections.get(name);
|
|
88
|
+
if (!collection) {
|
|
89
|
+
throw new TransactionError(`Collection "${name}" not found`, "COLLECTION_NOT_FOUND");
|
|
90
|
+
}
|
|
91
|
+
return new TransactionCollectionWrapper(collection, this);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* 确保事务处于活动状态
|
|
95
|
+
*/
|
|
96
|
+
ensureActive() {
|
|
97
|
+
if (this.state !== "active") {
|
|
98
|
+
throw new TransactionError(`Transaction is not active (current state: ${this.state})`, "TRANSACTION_NOT_ACTIVE");
|
|
99
|
+
}
|
|
100
|
+
if (Date.now() - this.startTime > this.options.timeout) {
|
|
101
|
+
this.state = "failed";
|
|
102
|
+
throw new TransactionError("Transaction timed out", "TRANSACTION_TIMEOUT");
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* 记录操作
|
|
107
|
+
*/
|
|
108
|
+
recordOperation(type, collectionName, data) {
|
|
109
|
+
this.operations.push({ type, collectionName, data });
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* 提交事务
|
|
113
|
+
*/
|
|
114
|
+
commit() {
|
|
115
|
+
if (this.state !== "active") {
|
|
116
|
+
return {
|
|
117
|
+
success: false,
|
|
118
|
+
state: this.state,
|
|
119
|
+
durationMs: Date.now() - this.startTime,
|
|
120
|
+
error: `Cannot commit transaction in state: ${this.state}`,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
this.state = "committed";
|
|
125
|
+
return {
|
|
126
|
+
success: true,
|
|
127
|
+
state: "committed",
|
|
128
|
+
durationMs: Date.now() - this.startTime,
|
|
129
|
+
};
|
|
130
|
+
} catch (error) {
|
|
131
|
+
this.state = "failed";
|
|
132
|
+
return {
|
|
133
|
+
success: false,
|
|
134
|
+
state: "failed",
|
|
135
|
+
durationMs: Date.now() - this.startTime,
|
|
136
|
+
error: error instanceof Error ? error.message : "Unknown error",
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* 回滚事务
|
|
142
|
+
*/
|
|
143
|
+
rollback() {
|
|
144
|
+
if (this.state !== "active") {
|
|
145
|
+
return {
|
|
146
|
+
success: false,
|
|
147
|
+
state: this.state,
|
|
148
|
+
durationMs: Date.now() - this.startTime,
|
|
149
|
+
error: `Cannot rollback transaction in state: ${this.state}`,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
for (let i = this.operations.length - 1; i >= 0; i--) {
|
|
154
|
+
const op = this.operations[i];
|
|
155
|
+
this.undoOperation(op);
|
|
156
|
+
}
|
|
157
|
+
this.state = "rolled_back";
|
|
158
|
+
return {
|
|
159
|
+
success: true,
|
|
160
|
+
state: "rolled_back",
|
|
161
|
+
durationMs: Date.now() - this.startTime,
|
|
162
|
+
};
|
|
163
|
+
} catch (error) {
|
|
164
|
+
this.state = "failed";
|
|
165
|
+
return {
|
|
166
|
+
success: false,
|
|
167
|
+
state: "failed",
|
|
168
|
+
durationMs: Date.now() - this.startTime,
|
|
169
|
+
error: error instanceof Error ? error.message : "Unknown error",
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* 撤销操作
|
|
175
|
+
*/
|
|
176
|
+
undoOperation(op) {
|
|
177
|
+
const collection = this.collections.get(op.collectionName);
|
|
178
|
+
if (!collection) return;
|
|
179
|
+
switch (op.type) {
|
|
180
|
+
case "insert": {
|
|
181
|
+
const doc = op.data;
|
|
182
|
+
const primaryKey = collection.extractPrimaryKey(doc);
|
|
183
|
+
collection.deleteByPrimaryKey(primaryKey);
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
case "delete": {
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
case "update": {
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* 获取事务状态
|
|
196
|
+
*/
|
|
197
|
+
getState() {
|
|
198
|
+
return this.state;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* 获取操作数量
|
|
202
|
+
*/
|
|
203
|
+
getOperationCount() {
|
|
204
|
+
return this.operations.length;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
exports.Transaction = Transaction;
|
|
208
|
+
/**
|
|
209
|
+
* 事务管理器
|
|
210
|
+
* 管理多个并发事务
|
|
211
|
+
*/
|
|
212
|
+
class TransactionManager {
|
|
213
|
+
constructor(collections) {
|
|
214
|
+
this.collections = collections;
|
|
215
|
+
this.activeTransactions = new Map();
|
|
216
|
+
this.transactionCounter = 0;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* 开始新事务
|
|
220
|
+
*/
|
|
221
|
+
begin(options) {
|
|
222
|
+
const transaction = new Transaction(this.collections, options);
|
|
223
|
+
const txId = `tx_${++this.transactionCounter}`;
|
|
224
|
+
this.activeTransactions.set(txId, transaction);
|
|
225
|
+
return transaction;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* 执行事务
|
|
229
|
+
*/
|
|
230
|
+
async execute(callback, options) {
|
|
231
|
+
const transaction = this.begin(options);
|
|
232
|
+
try {
|
|
233
|
+
await callback(transaction);
|
|
234
|
+
return transaction.commit();
|
|
235
|
+
} catch (error) {
|
|
236
|
+
const rollbackResult = transaction.rollback();
|
|
237
|
+
return {
|
|
238
|
+
success: false,
|
|
239
|
+
state: "failed",
|
|
240
|
+
durationMs: rollbackResult.durationMs,
|
|
241
|
+
error: error instanceof Error ? error.message : "Unknown error",
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* 获取活动事务数量
|
|
247
|
+
*/
|
|
248
|
+
getActiveTransactionCount() {
|
|
249
|
+
return this.activeTransactions.size;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* 清理已完成的事务
|
|
253
|
+
*/
|
|
254
|
+
cleanup() {
|
|
255
|
+
for (const [txId, tx] of this.activeTransactions) {
|
|
256
|
+
if (tx.getState() !== "active") {
|
|
257
|
+
this.activeTransactions.delete(txId);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
exports.TransactionManager = TransactionManager;
|
|
263
|
+
//# sourceMappingURL=Transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../src/api/Transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LightDB API 层
|
|
3
|
+
* 提供用户直接使用的接口层
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
export {
|
|
8
|
+
LightDBOptions,
|
|
9
|
+
CollectionCreateOptions,
|
|
10
|
+
TransactionContext,
|
|
11
|
+
TransactionCollection,
|
|
12
|
+
TransactionCallback,
|
|
13
|
+
TransactionOptions,
|
|
14
|
+
TransactionState,
|
|
15
|
+
TransactionResult,
|
|
16
|
+
DatabaseStats,
|
|
17
|
+
DatabaseConfig,
|
|
18
|
+
ILightDB,
|
|
19
|
+
DefineCollectionSchema,
|
|
20
|
+
CollectionSchema,
|
|
21
|
+
} from "./types";
|
|
22
|
+
export { TransactionError, Transaction, TransactionManager } from "./Transaction";
|
|
23
|
+
export { LightDB, defineCollectionSchema, openDatabase } from "./LightDB";
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACH,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,sBAAsB,EACtB,gBAAgB,GACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACH,gBAAgB,EAChB,WAAW,EACX,kBAAkB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* LightDB API 层
|
|
4
|
+
* 提供用户直接使用的接口层
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.openDatabase =
|
|
10
|
+
exports.defineCollectionSchema =
|
|
11
|
+
exports.LightDB =
|
|
12
|
+
exports.TransactionManager =
|
|
13
|
+
exports.Transaction =
|
|
14
|
+
exports.TransactionError =
|
|
15
|
+
void 0;
|
|
16
|
+
var Transaction_1 = require("./Transaction");
|
|
17
|
+
Object.defineProperty(exports, "TransactionError", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () {
|
|
20
|
+
return Transaction_1.TransactionError;
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "Transaction", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () {
|
|
26
|
+
return Transaction_1.Transaction;
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(exports, "TransactionManager", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function () {
|
|
32
|
+
return Transaction_1.TransactionManager;
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
var LightDB_1 = require("./LightDB");
|
|
36
|
+
Object.defineProperty(exports, "LightDB", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return LightDB_1.LightDB;
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "defineCollectionSchema", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return LightDB_1.defineCollectionSchema;
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "openDatabase", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return LightDB_1.openDatabase;
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAkBH,6CAIuB;AAHnB,+GAAA,gBAAgB,OAAA;AAChB,0GAAA,WAAW,OAAA;AACX,iHAAA,kBAAkB,OAAA;AAGtB,qCAA0E;AAAjE,kGAAA,OAAO,OAAA;AAAE,iHAAA,sBAAsB,OAAA;AAAE,uGAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LightDB API 层类型定义
|
|
3
|
+
* 包含所有公共 API 接口和类型定义
|
|
4
|
+
*/
|
|
5
|
+
import type { Collection } from "../collection";
|
|
6
|
+
import type { CollectionOptions, IndexConfig } from "../collection/types";
|
|
7
|
+
import type { StorageEngineOptions, StorageStats, CheckpointResult } from "../types";
|
|
8
|
+
/**
|
|
9
|
+
* LightDB 配置选项
|
|
10
|
+
*/
|
|
11
|
+
export interface LightDBOptions extends StorageEngineOptions {
|
|
12
|
+
/** 数据库名称,默认为 'default' */
|
|
13
|
+
dbName?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 集合配置选项
|
|
17
|
+
* 用于创建类型安全的集合
|
|
18
|
+
*/
|
|
19
|
+
export interface CollectionCreateOptions<T extends Record<string, unknown>> extends CollectionOptions<T> {
|
|
20
|
+
/** 集合名称(必填) */
|
|
21
|
+
name: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 事务上下文
|
|
25
|
+
* 提供事务内的集合访问
|
|
26
|
+
*/
|
|
27
|
+
export interface TransactionContext {
|
|
28
|
+
/** 获取集合 */
|
|
29
|
+
collection<T extends Record<string, unknown>>(name: string): TransactionCollection<T>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 事务集合接口
|
|
33
|
+
* 提供事务内的集合操作
|
|
34
|
+
*/
|
|
35
|
+
export interface TransactionCollection<T extends Record<string, unknown>> {
|
|
36
|
+
/** 查找文档 */
|
|
37
|
+
find(filter?: Record<string, unknown>): Promise<T[]>;
|
|
38
|
+
/** 查找单个文档 */
|
|
39
|
+
findOne(filter: Record<string, unknown>): Promise<T | null>;
|
|
40
|
+
/** 插入文档 */
|
|
41
|
+
insert(doc: T): Promise<void>;
|
|
42
|
+
/** 更新文档 */
|
|
43
|
+
update(filter: Record<string, unknown>, update: Partial<T>): Promise<number>;
|
|
44
|
+
/** 删除文档 */
|
|
45
|
+
delete(filter: Record<string, unknown>): Promise<number>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 事务回调函数类型
|
|
49
|
+
*/
|
|
50
|
+
export type TransactionCallback = (tx: TransactionContext) => Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* 事务选项
|
|
53
|
+
*/
|
|
54
|
+
export interface TransactionOptions {
|
|
55
|
+
/** 事务超时时间(毫秒),默认 5000 */
|
|
56
|
+
timeout?: number;
|
|
57
|
+
/** 事务隔离级别 */
|
|
58
|
+
isolationLevel?: "read_committed" | "repeatable_read" | "serializable";
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* 事务状态
|
|
62
|
+
*/
|
|
63
|
+
export type TransactionState = "active" | "committed" | "rolled_back" | "failed";
|
|
64
|
+
/**
|
|
65
|
+
* 事务结果
|
|
66
|
+
*/
|
|
67
|
+
export interface TransactionResult {
|
|
68
|
+
/** 事务是否成功 */
|
|
69
|
+
success: boolean;
|
|
70
|
+
/** 事务状态 */
|
|
71
|
+
state: TransactionState;
|
|
72
|
+
/** 事务持续时间(毫秒) */
|
|
73
|
+
durationMs: number;
|
|
74
|
+
/** 错误信息(如果失败) */
|
|
75
|
+
error?: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* 数据库统计信息
|
|
79
|
+
*/
|
|
80
|
+
export interface DatabaseStats extends StorageStats {
|
|
81
|
+
/** 数据库名称 */
|
|
82
|
+
dbName: string;
|
|
83
|
+
/** 集合数量 */
|
|
84
|
+
collectionCount: number;
|
|
85
|
+
/** 集合统计信息列表 */
|
|
86
|
+
collections: Array<{
|
|
87
|
+
name: string;
|
|
88
|
+
documentCount: number;
|
|
89
|
+
indexCount: number;
|
|
90
|
+
}>;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* 数据库配置信息
|
|
94
|
+
*/
|
|
95
|
+
export interface DatabaseConfig {
|
|
96
|
+
/** 数据库名称 */
|
|
97
|
+
dbName: string;
|
|
98
|
+
/** 数据库路径 */
|
|
99
|
+
path: string;
|
|
100
|
+
/** 页面大小 */
|
|
101
|
+
pageSize: number;
|
|
102
|
+
/** WAL 阈值 */
|
|
103
|
+
walThreshold: number;
|
|
104
|
+
/** 是否启用自动检查点 */
|
|
105
|
+
autoCheckpoint: boolean;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* LightDB 实例接口
|
|
109
|
+
* 定义 LightDB 的公共 API
|
|
110
|
+
*/
|
|
111
|
+
export interface ILightDB {
|
|
112
|
+
/** 获取数据库名称 */
|
|
113
|
+
readonly dbName: string;
|
|
114
|
+
/** 获取数据库路径 */
|
|
115
|
+
readonly path: string;
|
|
116
|
+
/** 检查数据库是否已打开 */
|
|
117
|
+
readonly isOpen: boolean;
|
|
118
|
+
/** 获取或创建集合 */
|
|
119
|
+
collection<T extends Record<string, unknown>>(name: string, options: CollectionCreateOptions<T>): Collection<T>;
|
|
120
|
+
/** 检查集合是否存在 */
|
|
121
|
+
hasCollection(name: string): boolean;
|
|
122
|
+
/** 删除集合 */
|
|
123
|
+
dropCollection(name: string): boolean;
|
|
124
|
+
/** 获取所有集合名称 */
|
|
125
|
+
getCollectionNames(): string[];
|
|
126
|
+
/** 执行事务 */
|
|
127
|
+
transaction(callback: TransactionCallback, options?: TransactionOptions): Promise<TransactionResult>;
|
|
128
|
+
/** 执行检查点 */
|
|
129
|
+
checkpoint(): Promise<CheckpointResult>;
|
|
130
|
+
/** 获取数据库统计信息 */
|
|
131
|
+
getStats(): Promise<DatabaseStats>;
|
|
132
|
+
/** 获取数据库配置 */
|
|
133
|
+
getConfig(): DatabaseConfig;
|
|
134
|
+
/** 同步数据到磁盘 */
|
|
135
|
+
sync(): Promise<void>;
|
|
136
|
+
/** 关闭数据库 */
|
|
137
|
+
close(): Promise<void>;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* 定义集合 Schema 的辅助类型
|
|
141
|
+
*/
|
|
142
|
+
export type DefineCollectionSchema<T extends Record<string, unknown>> = {
|
|
143
|
+
/** 文档类型 */
|
|
144
|
+
schema: T;
|
|
145
|
+
/** 主键字段 */
|
|
146
|
+
primaryKey: keyof T & string;
|
|
147
|
+
/** 二级索引配置 */
|
|
148
|
+
indexes?: IndexConfig<T>[];
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* 创建集合 Schema 的辅助函数返回类型
|
|
152
|
+
*/
|
|
153
|
+
export type CollectionSchema<T extends Record<string, unknown>> = DefineCollectionSchema<T>;
|
|
154
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IACxD,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IACpG,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,WAAW;IACX,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;CACzF;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpE,WAAW;IACX,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACrD,aAAa;IACb,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5D,WAAW;IACX,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,WAAW;IACX,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7E,WAAW;IACX,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,EAAE,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,cAAc,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,cAAc,CAAC;CAC1E;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,aAAa;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW;IACX,KAAK,EAAE,gBAAgB,CAAC;IACxB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,YAAY;IAC/C,YAAY;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe;IACf,WAAW,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACN;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,YAAY;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,YAAY;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,cAAc,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB,cAAc;IACd,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,cAAc;IACd,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iBAAiB;IACjB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,cAAc;IACd,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAEhH,eAAe;IACf,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,WAAW;IACX,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAEtC,eAAe;IACf,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAE/B,WAAW;IACX,WAAW,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAErG,YAAY;IACZ,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAExC,gBAAgB;IAChB,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAEnC,cAAc;IACd,SAAS,IAAI,cAAc,CAAC;IAE5B,cAAc;IACd,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB,YAAY;IACZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACpE,WAAW;IACX,MAAM,EAAE,CAAC,CAAC;IACV,WAAW;IACX,UAAU,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAC7B,aAAa;IACb,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|