@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.
Files changed (150) hide show
  1. package/dist/api/LightDB.d.ts +194 -0
  2. package/dist/api/LightDB.d.ts.map +1 -0
  3. package/dist/api/LightDB.js +299 -0
  4. package/dist/api/LightDB.js.map +1 -0
  5. package/dist/api/Transaction.d.ts +100 -0
  6. package/dist/api/Transaction.d.ts.map +1 -0
  7. package/dist/api/Transaction.js +263 -0
  8. package/dist/api/Transaction.js.map +1 -0
  9. package/dist/api/index.d.ts +24 -0
  10. package/dist/api/index.d.ts.map +1 -0
  11. package/dist/api/index.js +54 -0
  12. package/dist/api/index.js.map +1 -0
  13. package/dist/api/types.d.ts +154 -0
  14. package/dist/api/types.d.ts.map +1 -0
  15. package/dist/api/types.js +7 -0
  16. package/dist/api/types.js.map +1 -0
  17. package/dist/collection/Collection.d.ts +235 -0
  18. package/dist/collection/Collection.d.ts.map +1 -0
  19. package/dist/collection/Collection.js +671 -0
  20. package/dist/collection/Collection.js.map +1 -0
  21. package/dist/collection/QueryBuilder.d.ts +225 -0
  22. package/dist/collection/QueryBuilder.d.ts.map +1 -0
  23. package/dist/collection/QueryBuilder.js +475 -0
  24. package/dist/collection/QueryBuilder.js.map +1 -0
  25. package/dist/collection/QueryParser.d.ts +117 -0
  26. package/dist/collection/QueryParser.d.ts.map +1 -0
  27. package/dist/collection/QueryParser.js +438 -0
  28. package/dist/collection/QueryParser.js.map +1 -0
  29. package/dist/collection/index.d.ts +42 -0
  30. package/dist/collection/index.d.ts.map +1 -0
  31. package/dist/collection/index.js +41 -0
  32. package/dist/collection/index.js.map +1 -0
  33. package/dist/collection/types.d.ts +365 -0
  34. package/dist/collection/types.d.ts.map +1 -0
  35. package/dist/collection/types.js +7 -0
  36. package/dist/collection/types.js.map +1 -0
  37. package/dist/constants/index.d.ts +51 -0
  38. package/dist/constants/index.d.ts.map +1 -0
  39. package/dist/constants/index.js +68 -0
  40. package/dist/constants/index.js.map +1 -0
  41. package/dist/errors/index.d.ts +69 -0
  42. package/dist/errors/index.d.ts.map +1 -0
  43. package/dist/errors/index.js +132 -0
  44. package/dist/errors/index.js.map +1 -0
  45. package/dist/index.d.ts +220 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +729 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/indexes/BPlusTree.d.ts +181 -0
  50. package/dist/indexes/BPlusTree.d.ts.map +1 -0
  51. package/dist/indexes/BPlusTree.js +528 -0
  52. package/dist/indexes/BPlusTree.js.map +1 -0
  53. package/dist/indexes/IndexManager.d.ts +236 -0
  54. package/dist/indexes/IndexManager.d.ts.map +1 -0
  55. package/dist/indexes/IndexManager.js +502 -0
  56. package/dist/indexes/IndexManager.js.map +1 -0
  57. package/dist/indexes/PrimaryIndex.d.ts +240 -0
  58. package/dist/indexes/PrimaryIndex.d.ts.map +1 -0
  59. package/dist/indexes/PrimaryIndex.js +354 -0
  60. package/dist/indexes/PrimaryIndex.js.map +1 -0
  61. package/dist/indexes/SecondaryIndex.d.ts +204 -0
  62. package/dist/indexes/SecondaryIndex.d.ts.map +1 -0
  63. package/dist/indexes/SecondaryIndex.js +480 -0
  64. package/dist/indexes/SecondaryIndex.js.map +1 -0
  65. package/dist/indexes/errors.d.ts +66 -0
  66. package/dist/indexes/errors.d.ts.map +1 -0
  67. package/dist/indexes/errors.js +117 -0
  68. package/dist/indexes/errors.js.map +1 -0
  69. package/dist/indexes/index.d.ts +52 -0
  70. package/dist/indexes/index.d.ts.map +1 -0
  71. package/dist/indexes/index.js +131 -0
  72. package/dist/indexes/index.js.map +1 -0
  73. package/dist/indexes/types.d.ts +246 -0
  74. package/dist/indexes/types.d.ts.map +1 -0
  75. package/dist/indexes/types.js +30 -0
  76. package/dist/indexes/types.js.map +1 -0
  77. package/dist/performance/BatchWALWriter.d.ts +185 -0
  78. package/dist/performance/BatchWALWriter.d.ts.map +1 -0
  79. package/dist/performance/BatchWALWriter.js +490 -0
  80. package/dist/performance/BatchWALWriter.js.map +1 -0
  81. package/dist/performance/ColumnarStorage.d.ts +138 -0
  82. package/dist/performance/ColumnarStorage.d.ts.map +1 -0
  83. package/dist/performance/ColumnarStorage.js +875 -0
  84. package/dist/performance/ColumnarStorage.js.map +1 -0
  85. package/dist/performance/LazyQuery.d.ts +307 -0
  86. package/dist/performance/LazyQuery.d.ts.map +1 -0
  87. package/dist/performance/LazyQuery.js +588 -0
  88. package/dist/performance/LazyQuery.js.map +1 -0
  89. package/dist/performance/OptimizedBuffer.d.ts +375 -0
  90. package/dist/performance/OptimizedBuffer.d.ts.map +1 -0
  91. package/dist/performance/OptimizedBuffer.js +730 -0
  92. package/dist/performance/OptimizedBuffer.js.map +1 -0
  93. package/dist/performance/RWLock.d.ts +260 -0
  94. package/dist/performance/RWLock.d.ts.map +1 -0
  95. package/dist/performance/RWLock.js +570 -0
  96. package/dist/performance/RWLock.js.map +1 -0
  97. package/dist/performance/index.d.ts +41 -0
  98. package/dist/performance/index.d.ts.map +1 -0
  99. package/dist/performance/index.js +162 -0
  100. package/dist/performance/index.js.map +1 -0
  101. package/dist/performance/types.d.ts +247 -0
  102. package/dist/performance/types.d.ts.map +1 -0
  103. package/dist/performance/types.js +26 -0
  104. package/dist/performance/types.js.map +1 -0
  105. package/dist/storage/Checkpoint.d.ts +128 -0
  106. package/dist/storage/Checkpoint.d.ts.map +1 -0
  107. package/dist/storage/Checkpoint.js +251 -0
  108. package/dist/storage/Checkpoint.js.map +1 -0
  109. package/dist/storage/LightFile.d.ts +227 -0
  110. package/dist/storage/LightFile.d.ts.map +1 -0
  111. package/dist/storage/LightFile.js +526 -0
  112. package/dist/storage/LightFile.js.map +1 -0
  113. package/dist/storage/Recovery.d.ts +172 -0
  114. package/dist/storage/Recovery.d.ts.map +1 -0
  115. package/dist/storage/Recovery.js +399 -0
  116. package/dist/storage/Recovery.js.map +1 -0
  117. package/dist/storage/SHMFile.d.ts +243 -0
  118. package/dist/storage/SHMFile.d.ts.map +1 -0
  119. package/dist/storage/SHMFile.js +436 -0
  120. package/dist/storage/SHMFile.js.map +1 -0
  121. package/dist/storage/StorageEngine.d.ts +146 -0
  122. package/dist/storage/StorageEngine.d.ts.map +1 -0
  123. package/dist/storage/StorageEngine.js +353 -0
  124. package/dist/storage/StorageEngine.js.map +1 -0
  125. package/dist/storage/WALFile.d.ts +248 -0
  126. package/dist/storage/WALFile.d.ts.map +1 -0
  127. package/dist/storage/WALFile.js +597 -0
  128. package/dist/storage/WALFile.js.map +1 -0
  129. package/dist/storage/index.d.ts +10 -0
  130. package/dist/storage/index.d.ts.map +1 -0
  131. package/dist/storage/index.js +153 -0
  132. package/dist/storage/index.js.map +1 -0
  133. package/dist/types/index.d.ts +220 -0
  134. package/dist/types/index.d.ts.map +1 -0
  135. package/dist/types/index.js +7 -0
  136. package/dist/types/index.js.map +1 -0
  137. package/dist/utils/binary.d.ts +271 -0
  138. package/dist/utils/binary.d.ts.map +1 -0
  139. package/dist/utils/binary.js +454 -0
  140. package/dist/utils/binary.js.map +1 -0
  141. package/dist/utils/file.d.ts +166 -0
  142. package/dist/utils/file.d.ts.map +1 -0
  143. package/dist/utils/file.js +346 -0
  144. package/dist/utils/file.js.map +1 -0
  145. package/dist/utils/index.d.ts +6 -0
  146. package/dist/utils/index.d.ts.map +1 -0
  147. package/dist/utils/index.js +39 -0
  148. package/dist/utils/index.js.map +1 -0
  149. package/package.json +37 -0
  150. package/readme.md +124 -0
@@ -0,0 +1,365 @@
1
+ /**
2
+ * LightDB 集合层类型定义
3
+ * 包含所有集合相关的接口、类型和结构体定义
4
+ */
5
+ /**
6
+ * 主键类型
7
+ * 支持字符串和数值类型
8
+ */
9
+ export type PrimaryKeyType = string | number;
10
+ /**
11
+ * 文档类型
12
+ * 泛型 T 表示用户定义的文档结构
13
+ */
14
+ export type Document<T> = T & Record<string, unknown>;
15
+ /**
16
+ * 比较操作符条件
17
+ */
18
+ export interface ComparisonOperators<T> {
19
+ /** 等于 */
20
+ $eq?: T;
21
+ /** 不等于 */
22
+ $ne?: T;
23
+ /** 大于 */
24
+ $gt?: T;
25
+ /** 大于等于 */
26
+ $gte?: T;
27
+ /** 小于 */
28
+ $lt?: T;
29
+ /** 小于等于 */
30
+ $lte?: T;
31
+ }
32
+ /**
33
+ * 数组操作符条件
34
+ */
35
+ export interface ArrayOperators<T> {
36
+ /** 包含于数组 */
37
+ $in?: T[];
38
+ /** 不包含于数组 */
39
+ $nin?: T[];
40
+ }
41
+ /**
42
+ * 存在性操作符条件
43
+ */
44
+ export interface ExistenceOperators {
45
+ /** 字段是否存在 */
46
+ $exists?: boolean;
47
+ }
48
+ /**
49
+ * 正则表达式操作符条件
50
+ */
51
+ export interface RegexOperators {
52
+ /** 正则表达式匹配 */
53
+ $regex?: RegExp | string;
54
+ /** 正则表达式选项 */
55
+ $options?: string;
56
+ }
57
+ /**
58
+ * 字段查询条件
59
+ * 可以是精确值、比较操作符或组合操作符
60
+ */
61
+ export type FieldCondition<T> = T | ComparisonOperators<T> | ArrayOperators<T> | ExistenceOperators | RegexOperators;
62
+ /**
63
+ * 逻辑操作符条件
64
+ */
65
+ export interface LogicalOperators<T> {
66
+ /** 逻辑与 */
67
+ $and?: QueryFilter<T>[];
68
+ /** 逻辑或 */
69
+ $or?: QueryFilter<T>[];
70
+ /** 逻辑非 */
71
+ $not?: QueryFilter<T>;
72
+ /** 逻辑非(等同于 $not) */
73
+ $nor?: QueryFilter<T>[];
74
+ }
75
+ /**
76
+ * 查询过滤器
77
+ * 用于筛选文档
78
+ */
79
+ export type QueryFilter<T> = {
80
+ [K in keyof T]?: FieldCondition<T[K]>;
81
+ } & LogicalOperators<T>;
82
+ /**
83
+ * 更新操作符
84
+ */
85
+ export interface UpdateOperators<T> {
86
+ /** 设置字段值 */
87
+ $set?: Partial<T>;
88
+ /** 删除字段 */
89
+ $unset?: Partial<Record<keyof T, true>>;
90
+ /** 字段值增加 */
91
+ $inc?: Partial<Record<keyof T, number>>;
92
+ /** 字段值乘法 */
93
+ $mul?: Partial<Record<keyof T, number>>;
94
+ /** 字段值重命名 */
95
+ $rename?: Partial<Record<keyof T, string>>;
96
+ /** 设置字段值为当前日期 */
97
+ $currentDate?: Partial<
98
+ Record<
99
+ keyof T,
100
+ | true
101
+ | {
102
+ $type: "date" | "timestamp";
103
+ }
104
+ >
105
+ >;
106
+ /** 数组添加元素 */
107
+ $push?: Partial<
108
+ Record<
109
+ keyof T,
110
+ | unknown
111
+ | {
112
+ $each?: unknown[];
113
+ $position?: number;
114
+ $slice?: number;
115
+ }
116
+ >
117
+ >;
118
+ /** 数组删除元素 */
119
+ $pull?: Partial<Record<keyof T, unknown | QueryFilter<unknown>>>;
120
+ /** 数组添加元素(去重) */
121
+ $addToSet?: Partial<
122
+ Record<
123
+ keyof T,
124
+ | unknown
125
+ | {
126
+ $each?: unknown[];
127
+ }
128
+ >
129
+ >;
130
+ /** 数组弹出元素 */
131
+ $pop?: Partial<Record<keyof T, 1 | -1>>;
132
+ }
133
+ /**
134
+ * 更新操作
135
+ * 可以是部分文档或更新操作符
136
+ */
137
+ export type UpdateOperation<T> = Partial<T> | UpdateOperators<T>;
138
+ /**
139
+ * 排序方向
140
+ */
141
+ export type SortDirection = 1 | -1 | "asc" | "desc";
142
+ /**
143
+ * 排序条件
144
+ */
145
+ export type SortCondition<T> = Partial<Record<keyof T, SortDirection>>;
146
+ /**
147
+ * 查询选项
148
+ */
149
+ export interface QueryOptions<T> {
150
+ /** 查询过滤器 */
151
+ where?: QueryFilter<T>;
152
+ /** 排序条件 */
153
+ sort?: SortCondition<T>;
154
+ /** 跳过记录数 */
155
+ offset?: number;
156
+ /** 返回记录数限制 */
157
+ limit?: number;
158
+ /** 返回的字段(投影) */
159
+ fields?: Array<keyof T>;
160
+ }
161
+ /**
162
+ * 插入选项
163
+ */
164
+ export interface InsertOptions {
165
+ /** 如果主键已存在是否抛出异常 */
166
+ throwOnDuplicate?: boolean;
167
+ }
168
+ /**
169
+ * 更新选项
170
+ */
171
+ export interface UpdateOptions {
172
+ /** 如果记录不存在是否抛出异常 */
173
+ throwOnMissing?: boolean;
174
+ /** 是否更新多条记录 */
175
+ multi?: boolean;
176
+ /** 如果记录不存在是否插入 */
177
+ upsert?: boolean;
178
+ }
179
+ /**
180
+ * 删除选项
181
+ */
182
+ export interface DeleteOptions {
183
+ /** 如果记录不存在是否抛出异常 */
184
+ throwOnMissing?: boolean;
185
+ /** 是否删除多条记录 */
186
+ multi?: boolean;
187
+ }
188
+ /**
189
+ * 插入结果
190
+ */
191
+ export interface InsertResult<T> {
192
+ /** 插入是否成功 */
193
+ success: boolean;
194
+ /** 插入的文档数量 */
195
+ insertedCount: number;
196
+ /** 插入的文档 */
197
+ insertedDocs: T[];
198
+ }
199
+ /**
200
+ * 批量插入结果
201
+ */
202
+ export interface InsertManyResult<T> {
203
+ /** 插入是否成功 */
204
+ success: boolean;
205
+ /** 成功插入的文档数量 */
206
+ insertedCount: number;
207
+ /** 失败的文档数量 */
208
+ failedCount: number;
209
+ /** 插入的文档 */
210
+ insertedDocs: T[];
211
+ /** 错误列表 */
212
+ errors?: Array<{
213
+ index: number;
214
+ error: string;
215
+ }>;
216
+ }
217
+ /**
218
+ * 更新结果
219
+ */
220
+ export interface UpdateResult {
221
+ /** 更新是否成功 */
222
+ success: boolean;
223
+ /** 匹配的文档数量 */
224
+ matchedCount: number;
225
+ /** 修改的文档数量 */
226
+ modifiedCount: number;
227
+ /** 是否插入了新文档(upsert) */
228
+ upserted?: boolean;
229
+ /** 插入的文档主键(upsert) */
230
+ upsertedId?: PrimaryKeyType;
231
+ }
232
+ /**
233
+ * 删除结果
234
+ */
235
+ export interface DeleteResult {
236
+ /** 删除是否成功 */
237
+ success: boolean;
238
+ /** 删除的文档数量 */
239
+ deletedCount: number;
240
+ }
241
+ /**
242
+ * 查询结果
243
+ */
244
+ export interface FindResult<T> {
245
+ /** 查询到的文档 */
246
+ docs: T[];
247
+ /** 总文档数(不考虑分页) */
248
+ total?: number;
249
+ /** 是否使用了索引 */
250
+ usedIndex?: boolean;
251
+ /** 使用的索引名称 */
252
+ indexName?: string;
253
+ }
254
+ /**
255
+ * 二级索引配置
256
+ */
257
+ export interface IndexConfig<T = unknown> {
258
+ /** 索引名称 */
259
+ name: string;
260
+ /** 索引字段名 */
261
+ fieldName: keyof T & string;
262
+ /** 是否唯一索引 */
263
+ unique?: boolean;
264
+ /** 是否稀疏索引(不索引 null/undefined 值) */
265
+ sparse?: boolean;
266
+ }
267
+ /**
268
+ * 集合配置选项
269
+ */
270
+ export interface CollectionOptions<T = unknown> {
271
+ /** 主键字段名 */
272
+ primaryKey: keyof T & string;
273
+ /** 二级索引配置 */
274
+ indexes?: IndexConfig<T>[];
275
+ /** 集合名称 */
276
+ name?: string;
277
+ }
278
+ /**
279
+ * 集合统计信息
280
+ */
281
+ export interface CollectionStats {
282
+ /** 集合名称 */
283
+ name: string;
284
+ /** 文档数量 */
285
+ documentCount: number;
286
+ /** 索引数量 */
287
+ indexCount: number;
288
+ /** 索引统计信息 */
289
+ indexes: Array<{
290
+ name: string;
291
+ type: "primary" | "secondary";
292
+ fieldName: string;
293
+ unique: boolean;
294
+ keyCount: number;
295
+ }>;
296
+ /** 估算的内存使用量(字节) */
297
+ memoryUsage: number;
298
+ }
299
+ /**
300
+ * 集合事件类型
301
+ */
302
+ export type CollectionEventType = "insert" | "update" | "delete";
303
+ /**
304
+ * 集合事件监听器
305
+ */
306
+ export type CollectionEventListener<T> = (
307
+ event: CollectionEventType,
308
+ data: {
309
+ doc?: T;
310
+ oldDoc?: T;
311
+ docs?: T[];
312
+ filter?: QueryFilter<T>;
313
+ },
314
+ ) => void;
315
+ /**
316
+ * 查询游标选项
317
+ */
318
+ export interface CursorOptions {
319
+ /** 批量获取大小 */
320
+ batchSize?: number;
321
+ /** 超时时间(毫秒) */
322
+ timeout?: number;
323
+ }
324
+ /**
325
+ * 聚合管道阶段
326
+ */
327
+ export type AggregationStage<T> =
328
+ | {
329
+ $match: QueryFilter<T>;
330
+ }
331
+ | {
332
+ $group: {
333
+ _id: string | Record<string, unknown>;
334
+ [key: string]: unknown;
335
+ };
336
+ }
337
+ | {
338
+ $sort: SortCondition<T>;
339
+ }
340
+ | {
341
+ $limit: number;
342
+ }
343
+ | {
344
+ $skip: number;
345
+ }
346
+ | {
347
+ $project: Partial<Record<keyof T, 0 | 1 | Record<string, unknown>>>;
348
+ }
349
+ | {
350
+ $unwind:
351
+ | string
352
+ | {
353
+ path: string;
354
+ preserveNullAndEmptyArrays?: boolean;
355
+ };
356
+ }
357
+ | {
358
+ $lookup: {
359
+ from: string;
360
+ localField: string;
361
+ foreignField: string;
362
+ as: string;
363
+ };
364
+ };
365
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/collection/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * LightDB 集合层类型定义
4
+ * 包含所有集合相关的接口、类型和结构体定义
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/collection/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * LightDB 存储引擎常量定义
3
+ * 包含文件格式、魔数、版本等核心常量
4
+ */
5
+ /** 魔数:用于标识 .light 文件格式 */
6
+ export declare const LIGHT_MAGIC = 1279870792;
7
+ /** 魔数的字符串表示:'LIGH' */
8
+ export declare const LIGHT_MAGIC_STRING = "LIGH";
9
+ /** 当前文件格式版本号 */
10
+ export declare const LIGHT_VERSION = 1;
11
+ /** 默认页面大小:4KB */
12
+ export declare const DEFAULT_PAGE_SIZE = 4096;
13
+ /** 默认 WAL 文件大小阈值:16MB,超过此值触发检查点 */
14
+ export declare const DEFAULT_WAL_THRESHOLD: number;
15
+ /** Header 固定长度:魔数(4) + 版本(4) + 页面大小(4) + 上次快照LSN(8) + 保留(16) = 36字节 */
16
+ export declare const HEADER_SIZE = 36;
17
+ /** WAL 记录头部长度:LSN(8) + 事务ID(8) + 操作类型(1) + Key长度(4) + Value长度(4) + 校验和(4) = 29字节 */
18
+ export declare const WAL_RECORD_HEADER_SIZE = 29;
19
+ /** SHM Header 大小:WAL文件大小(8) + 最后完整页LSN(8) + 记录数量(4) + 校验和(4) = 24字节 */
20
+ export declare const SHM_HEADER_SIZE = 24;
21
+ /** SHM 哈希表条目大小:页面ID(4) + LSN(8) + WAL偏移(8) = 20字节 */
22
+ export declare const SHM_ENTRY_SIZE = 20;
23
+ /** SHM 哈希表默认容量 */
24
+ export declare const SHM_DEFAULT_CAPACITY = 1024;
25
+ /** 页面头部大小:页面ID(4) + 记录数(2) + 空闲空间(2) + 校验和(4) = 12字节 */
26
+ export declare const PAGE_HEADER_SIZE = 12;
27
+ /** 操作类型枚举值 */
28
+ export declare enum OperationType {
29
+ /** 插入操作 */
30
+ Insert = 1,
31
+ /** 更新操作 */
32
+ Update = 2,
33
+ /** 删除操作 */
34
+ Delete = 3,
35
+ /** 批量插入 */
36
+ BatchInsert = 4,
37
+ /** 检查点标记 */
38
+ Checkpoint = 16,
39
+ }
40
+ /** 文件扩展名 */
41
+ export declare const FILE_EXTENSIONS: {
42
+ /** 主数据文件 */
43
+ readonly LIGHT: ".light";
44
+ /** 预写日志文件 */
45
+ readonly WAL: ".wal";
46
+ /** 共享内存索引文件 */
47
+ readonly SHM: ".shm";
48
+ /** 临时文件 */
49
+ readonly TEMP: ".tmp";
50
+ };
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0BAA0B;AAC1B,eAAO,MAAM,WAAW,aAAa,CAAC;AAEtC,sBAAsB;AACtB,eAAO,MAAM,kBAAkB,SAAS,CAAC;AAEzC,gBAAgB;AAChB,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,iBAAiB;AACjB,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,mCAAmC;AACnC,eAAO,MAAM,qBAAqB,QAAmB,CAAC;AAEtD,uEAAuE;AACvE,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,uEAAuE;AACvE,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,qDAAqD;AACrD,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,kBAAkB;AAClB,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,cAAc;AACd,oBAAY,aAAa;IACrB,WAAW;IACX,MAAM,IAAO;IACb,WAAW;IACX,MAAM,IAAO;IACb,WAAW;IACX,MAAM,IAAO;IACb,WAAW;IACX,WAAW,IAAO;IAClB,YAAY;IACZ,UAAU,KAAO;CACpB;AAED,YAAY;AACZ,eAAO,MAAM,eAAe;IACxB,YAAY;;IAEZ,aAAa;;IAEb,eAAe;;IAEf,WAAW;;CAEL,CAAC"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ /**
3
+ * LightDB 存储引擎常量定义
4
+ * 包含文件格式、魔数、版本等核心常量
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.FILE_EXTENSIONS =
8
+ exports.OperationType =
9
+ exports.PAGE_HEADER_SIZE =
10
+ exports.SHM_DEFAULT_CAPACITY =
11
+ exports.SHM_ENTRY_SIZE =
12
+ exports.SHM_HEADER_SIZE =
13
+ exports.WAL_RECORD_HEADER_SIZE =
14
+ exports.HEADER_SIZE =
15
+ exports.DEFAULT_WAL_THRESHOLD =
16
+ exports.DEFAULT_PAGE_SIZE =
17
+ exports.LIGHT_VERSION =
18
+ exports.LIGHT_MAGIC_STRING =
19
+ exports.LIGHT_MAGIC =
20
+ void 0;
21
+ /** 魔数:用于标识 .light 文件格式 */
22
+ exports.LIGHT_MAGIC = 0x4c494748;
23
+ /** 魔数的字符串表示:'LIGH' */
24
+ exports.LIGHT_MAGIC_STRING = "LIGH";
25
+ /** 当前文件格式版本号 */
26
+ exports.LIGHT_VERSION = 1;
27
+ /** 默认页面大小:4KB */
28
+ exports.DEFAULT_PAGE_SIZE = 4096;
29
+ /** 默认 WAL 文件大小阈值:16MB,超过此值触发检查点 */
30
+ exports.DEFAULT_WAL_THRESHOLD = 16 * 1024 * 1024;
31
+ /** Header 固定长度:魔数(4) + 版本(4) + 页面大小(4) + 上次快照LSN(8) + 保留(16) = 36字节 */
32
+ exports.HEADER_SIZE = 36;
33
+ /** WAL 记录头部长度:LSN(8) + 事务ID(8) + 操作类型(1) + Key长度(4) + Value长度(4) + 校验和(4) = 29字节 */
34
+ exports.WAL_RECORD_HEADER_SIZE = 29;
35
+ /** SHM Header 大小:WAL文件大小(8) + 最后完整页LSN(8) + 记录数量(4) + 校验和(4) = 24字节 */
36
+ exports.SHM_HEADER_SIZE = 24;
37
+ /** SHM 哈希表条目大小:页面ID(4) + LSN(8) + WAL偏移(8) = 20字节 */
38
+ exports.SHM_ENTRY_SIZE = 20;
39
+ /** SHM 哈希表默认容量 */
40
+ exports.SHM_DEFAULT_CAPACITY = 1024;
41
+ /** 页面头部大小:页面ID(4) + 记录数(2) + 空闲空间(2) + 校验和(4) = 12字节 */
42
+ exports.PAGE_HEADER_SIZE = 12;
43
+ /** 操作类型枚举值 */
44
+ var OperationType;
45
+ (function (OperationType) {
46
+ /** 插入操作 */
47
+ OperationType[(OperationType["Insert"] = 1)] = "Insert";
48
+ /** 更新操作 */
49
+ OperationType[(OperationType["Update"] = 2)] = "Update";
50
+ /** 删除操作 */
51
+ OperationType[(OperationType["Delete"] = 3)] = "Delete";
52
+ /** 批量插入 */
53
+ OperationType[(OperationType["BatchInsert"] = 4)] = "BatchInsert";
54
+ /** 检查点标记 */
55
+ OperationType[(OperationType["Checkpoint"] = 16)] = "Checkpoint";
56
+ })(OperationType || (exports.OperationType = OperationType = {}));
57
+ /** 文件扩展名 */
58
+ exports.FILE_EXTENSIONS = {
59
+ /** 主数据文件 */
60
+ LIGHT: ".light",
61
+ /** 预写日志文件 */
62
+ WAL: ".wal",
63
+ /** 共享内存索引文件 */
64
+ SHM: ".shm",
65
+ /** 临时文件 */
66
+ TEMP: ".tmp",
67
+ };
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,0BAA0B;AACb,QAAA,WAAW,GAAG,UAAU,CAAC;AAEtC,sBAAsB;AACT,QAAA,kBAAkB,GAAG,MAAM,CAAC;AAEzC,gBAAgB;AACH,QAAA,aAAa,GAAG,CAAC,CAAC;AAE/B,iBAAiB;AACJ,QAAA,iBAAiB,GAAG,IAAI,CAAC;AAEtC,mCAAmC;AACtB,QAAA,qBAAqB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtD,uEAAuE;AAC1D,QAAA,WAAW,GAAG,EAAE,CAAC;AAE9B,oFAAoF;AACvE,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAEzC,uEAAuE;AAC1D,QAAA,eAAe,GAAG,EAAE,CAAC;AAElC,qDAAqD;AACxC,QAAA,cAAc,GAAG,EAAE,CAAC;AAEjC,kBAAkB;AACL,QAAA,oBAAoB,GAAG,IAAI,CAAC;AAEzC,wDAAwD;AAC3C,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAEnC,cAAc;AACd,IAAY,aAWX;AAXD,WAAY,aAAa;IACrB,WAAW;IACX,qDAAa,CAAA;IACb,WAAW;IACX,qDAAa,CAAA;IACb,WAAW;IACX,qDAAa,CAAA;IACb,WAAW;IACX,+DAAkB,CAAA;IAClB,YAAY;IACZ,8DAAiB,CAAA;AACrB,CAAC,EAXW,aAAa,6BAAb,aAAa,QAWxB;AAED,YAAY;AACC,QAAA,eAAe,GAAG;IAC3B,YAAY;IACZ,KAAK,EAAE,QAAQ;IACf,aAAa;IACb,GAAG,EAAE,MAAM;IACX,eAAe;IACf,GAAG,EAAE,MAAM;IACX,WAAW;IACX,IAAI,EAAE,MAAM;CACN,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * LightDB 存储引擎错误定义
3
+ * 提供详细的错误类型和错误消息
4
+ */
5
+ /**
6
+ * 存储引擎错误基类
7
+ */
8
+ export declare class StorageError extends Error {
9
+ /** 错误代码 */
10
+ readonly code: string;
11
+ /** 错误上下文信息 */
12
+ readonly context?: Record<string, unknown>;
13
+ constructor(message: string, code: string, context?: Record<string, unknown>);
14
+ }
15
+ /**
16
+ * 文件操作错误
17
+ */
18
+ export declare class FileOperationError extends StorageError {
19
+ constructor(message: string, filePath: string, operation: string);
20
+ }
21
+ /**
22
+ * 文件格式错误
23
+ */
24
+ export declare class FileFormatError extends StorageError {
25
+ constructor(message: string, filePath: string, expected?: string, actual?: unknown);
26
+ }
27
+ /**
28
+ * 校验和错误
29
+ */
30
+ export declare class ChecksumError extends StorageError {
31
+ constructor(message: string, expected: number, actual: number, position?: number);
32
+ }
33
+ /**
34
+ * WAL 错误
35
+ */
36
+ export declare class WalError extends StorageError {
37
+ constructor(message: string, lsn?: bigint, offset?: number);
38
+ }
39
+ /**
40
+ * 恢复错误
41
+ */
42
+ export declare class RecoveryError extends StorageError {
43
+ constructor(message: string, phase: string, details?: unknown);
44
+ }
45
+ /**
46
+ * 检查点错误
47
+ */
48
+ export declare class CheckpointError extends StorageError {
49
+ constructor(message: string, lsn?: bigint);
50
+ }
51
+ /**
52
+ * 页面错误
53
+ */
54
+ export declare class PageError extends StorageError {
55
+ constructor(message: string, pageId: number, details?: unknown);
56
+ }
57
+ /**
58
+ * 序列化错误
59
+ */
60
+ export declare class SerializationError extends StorageError {
61
+ constructor(message: string, data?: unknown);
62
+ }
63
+ /**
64
+ * 配置错误
65
+ */
66
+ export declare class ConfigurationError extends StorageError {
67
+ constructor(message: string, option?: string, value?: unknown);
68
+ }
69
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACnC,WAAW;IACX,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,cAAc;IACd,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEtC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAS/E;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;gBACpC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAKnE;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;CAKrF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;gBAC/B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAKnF;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAY;gBAC1B,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAK7D;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;gBAC/B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAKhE;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBACjC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;CAK5C;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,YAAY;gBAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAKjE;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;gBACpC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;CAK9C;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;gBACpC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAKhE"}