@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,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 存储模块导出
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createStorageEngine =
|
|
7
|
+
exports.StorageEngine =
|
|
8
|
+
exports.RecoveryPhase =
|
|
9
|
+
exports.RecoveryValidator =
|
|
10
|
+
exports.FastRecoveryManager =
|
|
11
|
+
exports.RecoveryManager =
|
|
12
|
+
exports.IncrementalCheckpointManager =
|
|
13
|
+
exports.AutoCheckpointScheduler =
|
|
14
|
+
exports.CheckpointManager =
|
|
15
|
+
exports.WalIndexManager =
|
|
16
|
+
exports.ShmFileManager =
|
|
17
|
+
exports.ShmHashTable =
|
|
18
|
+
exports.ShmSerializer =
|
|
19
|
+
exports.WalManager =
|
|
20
|
+
exports.WalReader =
|
|
21
|
+
exports.WalWriter =
|
|
22
|
+
exports.WalRecordSerializer =
|
|
23
|
+
exports.PageManager =
|
|
24
|
+
exports.LightFileManager =
|
|
25
|
+
exports.LightFileSerializer =
|
|
26
|
+
void 0;
|
|
27
|
+
var LightFile_1 = require("./LightFile");
|
|
28
|
+
Object.defineProperty(exports, "LightFileSerializer", {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
get: function () {
|
|
31
|
+
return LightFile_1.LightFileSerializer;
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
Object.defineProperty(exports, "LightFileManager", {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
get: function () {
|
|
37
|
+
return LightFile_1.LightFileManager;
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
Object.defineProperty(exports, "PageManager", {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
get: function () {
|
|
43
|
+
return LightFile_1.PageManager;
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
var WALFile_1 = require("./WALFile");
|
|
47
|
+
Object.defineProperty(exports, "WalRecordSerializer", {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
get: function () {
|
|
50
|
+
return WALFile_1.WalRecordSerializer;
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
Object.defineProperty(exports, "WalWriter", {
|
|
54
|
+
enumerable: true,
|
|
55
|
+
get: function () {
|
|
56
|
+
return WALFile_1.WalWriter;
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
Object.defineProperty(exports, "WalReader", {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
get: function () {
|
|
62
|
+
return WALFile_1.WalReader;
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
Object.defineProperty(exports, "WalManager", {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: function () {
|
|
68
|
+
return WALFile_1.WalManager;
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
var SHMFile_1 = require("./SHMFile");
|
|
72
|
+
Object.defineProperty(exports, "ShmSerializer", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function () {
|
|
75
|
+
return SHMFile_1.ShmSerializer;
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(exports, "ShmHashTable", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function () {
|
|
81
|
+
return SHMFile_1.ShmHashTable;
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(exports, "ShmFileManager", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function () {
|
|
87
|
+
return SHMFile_1.ShmFileManager;
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(exports, "WalIndexManager", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return SHMFile_1.WalIndexManager;
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
var Checkpoint_1 = require("./Checkpoint");
|
|
97
|
+
Object.defineProperty(exports, "CheckpointManager", {
|
|
98
|
+
enumerable: true,
|
|
99
|
+
get: function () {
|
|
100
|
+
return Checkpoint_1.CheckpointManager;
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
Object.defineProperty(exports, "AutoCheckpointScheduler", {
|
|
104
|
+
enumerable: true,
|
|
105
|
+
get: function () {
|
|
106
|
+
return Checkpoint_1.AutoCheckpointScheduler;
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
Object.defineProperty(exports, "IncrementalCheckpointManager", {
|
|
110
|
+
enumerable: true,
|
|
111
|
+
get: function () {
|
|
112
|
+
return Checkpoint_1.IncrementalCheckpointManager;
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
var Recovery_1 = require("./Recovery");
|
|
116
|
+
Object.defineProperty(exports, "RecoveryManager", {
|
|
117
|
+
enumerable: true,
|
|
118
|
+
get: function () {
|
|
119
|
+
return Recovery_1.RecoveryManager;
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
Object.defineProperty(exports, "FastRecoveryManager", {
|
|
123
|
+
enumerable: true,
|
|
124
|
+
get: function () {
|
|
125
|
+
return Recovery_1.FastRecoveryManager;
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
Object.defineProperty(exports, "RecoveryValidator", {
|
|
129
|
+
enumerable: true,
|
|
130
|
+
get: function () {
|
|
131
|
+
return Recovery_1.RecoveryValidator;
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
Object.defineProperty(exports, "RecoveryPhase", {
|
|
135
|
+
enumerable: true,
|
|
136
|
+
get: function () {
|
|
137
|
+
return Recovery_1.RecoveryPhase;
|
|
138
|
+
},
|
|
139
|
+
});
|
|
140
|
+
var StorageEngine_1 = require("./StorageEngine");
|
|
141
|
+
Object.defineProperty(exports, "StorageEngine", {
|
|
142
|
+
enumerable: true,
|
|
143
|
+
get: function () {
|
|
144
|
+
return StorageEngine_1.StorageEngine;
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
Object.defineProperty(exports, "createStorageEngine", {
|
|
148
|
+
enumerable: true,
|
|
149
|
+
get: function () {
|
|
150
|
+
return StorageEngine_1.createStorageEngine;
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yCAIqB;AAHjB,gHAAA,mBAAmB,OAAA;AACnB,6GAAA,gBAAgB,OAAA;AAChB,wGAAA,WAAW,OAAA;AAEf,qCAKmB;AAJf,8GAAA,mBAAmB,OAAA;AACnB,oGAAA,SAAS,OAAA;AACT,oGAAA,SAAS,OAAA;AACT,qGAAA,UAAU,OAAA;AAEd,qCAKmB;AAJf,wGAAA,aAAa,OAAA;AACb,uGAAA,YAAY,OAAA;AACZ,yGAAA,cAAc,OAAA;AACd,0GAAA,eAAe,OAAA;AAEnB,2CAKsB;AAJlB,+GAAA,iBAAiB,OAAA;AACjB,qHAAA,uBAAuB,OAAA;AACvB,0HAAA,4BAA4B,OAAA;AAGhC,uCAMoB;AALhB,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AACnB,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AAGjB,iDAAqE;AAA5D,8GAAA,aAAa,OAAA;AAAE,oHAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LightDB 存储引擎类型定义
|
|
3
|
+
* 包含所有公共接口、类型和结构体定义
|
|
4
|
+
*/
|
|
5
|
+
import { OperationType } from "../constants";
|
|
6
|
+
/**
|
|
7
|
+
* .light 文件头部结构
|
|
8
|
+
* 存储文件元信息和全局状态
|
|
9
|
+
*/
|
|
10
|
+
export interface LightHeader {
|
|
11
|
+
/** 魔数:用于验证文件格式 */
|
|
12
|
+
magic: number;
|
|
13
|
+
/** 文件格式版本号 */
|
|
14
|
+
version: number;
|
|
15
|
+
/** 页面大小(字节) */
|
|
16
|
+
pageSize: number;
|
|
17
|
+
/** 上次快照时的 LSN */
|
|
18
|
+
lastSnapshotLsn: bigint;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 数据记录结构
|
|
22
|
+
* 表示存储在页面中的单条记录
|
|
23
|
+
*/
|
|
24
|
+
export interface Record {
|
|
25
|
+
/** 记录键 */
|
|
26
|
+
key: string;
|
|
27
|
+
/** 记录值(序列化后的二进制数据) */
|
|
28
|
+
value: Buffer;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 页面结构
|
|
32
|
+
* 表示 .light 文件中的一个数据页
|
|
33
|
+
*/
|
|
34
|
+
export interface Page {
|
|
35
|
+
/** 页面ID */
|
|
36
|
+
pageId: number;
|
|
37
|
+
/** 页面中的记录列表 */
|
|
38
|
+
records: Record[];
|
|
39
|
+
/** 页面校验和 */
|
|
40
|
+
checksum: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* WAL 记录结构
|
|
44
|
+
* 表示预写日志中的一条记录
|
|
45
|
+
*/
|
|
46
|
+
export interface WalRecord {
|
|
47
|
+
/** 日志序列号,单调递增 */
|
|
48
|
+
lsn: bigint;
|
|
49
|
+
/** 事务ID */
|
|
50
|
+
transactionId: bigint;
|
|
51
|
+
/** 操作类型 */
|
|
52
|
+
operationType: OperationType;
|
|
53
|
+
/** 操作的键 */
|
|
54
|
+
key: string;
|
|
55
|
+
/** 操作的值(可选,删除操作无值) */
|
|
56
|
+
value: Buffer | null;
|
|
57
|
+
/** 记录校验和 */
|
|
58
|
+
checksum: number;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* SHM 文件头部结构
|
|
62
|
+
* 存储 WAL 索引的元信息
|
|
63
|
+
*/
|
|
64
|
+
export interface ShmHeader {
|
|
65
|
+
/** 当前 WAL 文件大小 */
|
|
66
|
+
walFileSize: bigint;
|
|
67
|
+
/** 最后一个完整页的 LSN */
|
|
68
|
+
lastCompleteLsn: bigint;
|
|
69
|
+
/** 哈希表中记录数量 */
|
|
70
|
+
recordCount: number;
|
|
71
|
+
/** 头部校验和 */
|
|
72
|
+
checksum: number;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* SHM 哈希表条目
|
|
76
|
+
* 用于快速定位 WAL 中每个页面的最新记录
|
|
77
|
+
*/
|
|
78
|
+
export interface ShmEntry {
|
|
79
|
+
/** 页面ID */
|
|
80
|
+
pageId: number;
|
|
81
|
+
/** 该页面最新记录的 LSN */
|
|
82
|
+
lsn: bigint;
|
|
83
|
+
/** 该记录在 WAL 文件中的偏移量 */
|
|
84
|
+
walOffset: bigint;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* 存储引擎配置选项
|
|
88
|
+
*/
|
|
89
|
+
export interface StorageEngineOptions {
|
|
90
|
+
/** 页面大小(字节),默认 4KB */
|
|
91
|
+
pageSize?: number;
|
|
92
|
+
/** WAL 文件大小阈值,超过此值自动触发检查点,默认 16MB */
|
|
93
|
+
walThreshold?: number;
|
|
94
|
+
/** 是否启用自动检查点,默认 true */
|
|
95
|
+
autoCheckpoint?: boolean;
|
|
96
|
+
/** fsync 策略:每次写入、每N条、或每N毫秒 */
|
|
97
|
+
fsyncStrategy?: FsyncStrategy;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* fsync 策略配置
|
|
101
|
+
*/
|
|
102
|
+
export interface FsyncStrategy {
|
|
103
|
+
/** 策略类型 */
|
|
104
|
+
type: "always" | "batch" | "interval";
|
|
105
|
+
/** 批量模式下,每N条记录 fsync 一次 */
|
|
106
|
+
batchSize?: number;
|
|
107
|
+
/** 间隔模式下,每N毫秒 fsync 一次 */
|
|
108
|
+
intervalMs?: number;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* 检查点结果
|
|
112
|
+
*/
|
|
113
|
+
export interface CheckpointResult {
|
|
114
|
+
/** 检查点完成时间 */
|
|
115
|
+
timestamp: number;
|
|
116
|
+
/** 检查点时的 LSN */
|
|
117
|
+
lsn: bigint;
|
|
118
|
+
/** 写入的页面数量 */
|
|
119
|
+
pagesWritten: number;
|
|
120
|
+
/** 写入的总字节数 */
|
|
121
|
+
bytesWritten: number;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* 恢复结果
|
|
125
|
+
*/
|
|
126
|
+
export interface RecoveryResult {
|
|
127
|
+
/** 恢复是否成功 */
|
|
128
|
+
success: boolean;
|
|
129
|
+
/** 回放的 WAL 记录数量 */
|
|
130
|
+
recordsReplayed: number;
|
|
131
|
+
/** 加载的页面数量 */
|
|
132
|
+
pagesLoaded: number;
|
|
133
|
+
/** 恢复耗时(毫秒) */
|
|
134
|
+
durationMs: number;
|
|
135
|
+
/** 错误信息(如果恢复失败) */
|
|
136
|
+
error?: string;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* 存储引擎统计信息
|
|
140
|
+
*/
|
|
141
|
+
export interface StorageStats {
|
|
142
|
+
/** 当前 LSN */
|
|
143
|
+
currentLsn: bigint;
|
|
144
|
+
/** 当前事务ID */
|
|
145
|
+
currentTransactionId: bigint;
|
|
146
|
+
/** WAL 文件大小 */
|
|
147
|
+
walFileSize: number;
|
|
148
|
+
/** .light 文件大小 */
|
|
149
|
+
lightFileSize: number;
|
|
150
|
+
/** 页面数量 */
|
|
151
|
+
pageCount: number;
|
|
152
|
+
/** 记录数量 */
|
|
153
|
+
recordCount: number;
|
|
154
|
+
/** 上次检查点时间 */
|
|
155
|
+
lastCheckpointTime: number | null;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* 写操作结果
|
|
159
|
+
*/
|
|
160
|
+
export interface WriteResult {
|
|
161
|
+
/** 操作是否成功 */
|
|
162
|
+
success: boolean;
|
|
163
|
+
/** 分配的 LSN */
|
|
164
|
+
lsn: bigint;
|
|
165
|
+
/** 写入的字节数 */
|
|
166
|
+
bytesWritten: number;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* 批量写操作结果
|
|
170
|
+
*/
|
|
171
|
+
export interface BatchWriteResult {
|
|
172
|
+
/** 操作是否成功 */
|
|
173
|
+
success: boolean;
|
|
174
|
+
/** 起始 LSN */
|
|
175
|
+
startLsn: bigint;
|
|
176
|
+
/** 结束 LSN */
|
|
177
|
+
endLsn: bigint;
|
|
178
|
+
/** 总写入字节数 */
|
|
179
|
+
totalBytesWritten: number;
|
|
180
|
+
/** 成功的记录数量 */
|
|
181
|
+
recordsWritten: number;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* 哈希表迭代器结果
|
|
185
|
+
*/
|
|
186
|
+
export interface HashIteratorResult {
|
|
187
|
+
/** 条目数据 */
|
|
188
|
+
entry: ShmEntry;
|
|
189
|
+
/** 是否还有更多条目 */
|
|
190
|
+
done: boolean;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* 文件句柄包装接口
|
|
194
|
+
* 提供统一的文件操作抽象
|
|
195
|
+
*/
|
|
196
|
+
export interface FileHandle {
|
|
197
|
+
/** 读取文件内容 */
|
|
198
|
+
read(buffer: Buffer, offset: number, length: number, position: number): Promise<number>;
|
|
199
|
+
/** 写入文件内容 */
|
|
200
|
+
write(buffer: Buffer, offset: number, length: number, position: number): Promise<number>;
|
|
201
|
+
/** 同步文件到磁盘 */
|
|
202
|
+
sync(): Promise<void>;
|
|
203
|
+
/** 关闭文件句柄 */
|
|
204
|
+
close(): Promise<void>;
|
|
205
|
+
/** 获取文件大小 */
|
|
206
|
+
size(): Promise<number>;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* 内存中的数据页映射
|
|
210
|
+
*/
|
|
211
|
+
export type PageMap = Map<number, Page>;
|
|
212
|
+
/**
|
|
213
|
+
* 内存中的记录映射
|
|
214
|
+
*/
|
|
215
|
+
export type RecordMap = Map<string, Buffer>;
|
|
216
|
+
/**
|
|
217
|
+
* WAL 记录迭代器
|
|
218
|
+
*/
|
|
219
|
+
export type WalRecordIterator = AsyncGenerator<WalRecord, void, unknown>;
|
|
220
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 二进制序列化工具类
|
|
3
|
+
* 提供 Buffer 读写、校验和计算等核心功能
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 二进制工具类
|
|
7
|
+
* 提供静态方法用于 Buffer 操作和校验和计算
|
|
8
|
+
*/
|
|
9
|
+
export declare class BinaryUtils {
|
|
10
|
+
/**
|
|
11
|
+
* 计算 Buffer 的 CRC32 校验和
|
|
12
|
+
* @param data 要计算校验和的数据
|
|
13
|
+
* @param offset 起始偏移量,默认 0
|
|
14
|
+
* @param length 数据长度,默认到末尾
|
|
15
|
+
* @returns CRC32 校验和(无符号 32 位整数)
|
|
16
|
+
*/
|
|
17
|
+
static calculateChecksum(data: Buffer, offset?: number, length?: number): number;
|
|
18
|
+
/**
|
|
19
|
+
* 验证校验和
|
|
20
|
+
* @param data 数据内容
|
|
21
|
+
* @param expectedChecksum 期望的校验和
|
|
22
|
+
* @param offset 数据起始偏移量
|
|
23
|
+
* @param length 数据长度
|
|
24
|
+
* @throws ChecksumError 如果校验和不匹配
|
|
25
|
+
*/
|
|
26
|
+
static verifyChecksum(data: Buffer, expectedChecksum: number, offset?: number, length?: number): void;
|
|
27
|
+
/**
|
|
28
|
+
* 读取无符号 8 位整数
|
|
29
|
+
* @param buffer 数据缓冲区
|
|
30
|
+
* @param offset 偏移量
|
|
31
|
+
*/
|
|
32
|
+
static readUInt8(buffer: Buffer, offset: number): number;
|
|
33
|
+
/**
|
|
34
|
+
* 写入无符号 8 位整数
|
|
35
|
+
* @param buffer 数据缓冲区
|
|
36
|
+
* @param value 值
|
|
37
|
+
* @param offset 偏移量
|
|
38
|
+
*/
|
|
39
|
+
static writeUInt8(buffer: Buffer, value: number, offset: number): void;
|
|
40
|
+
/**
|
|
41
|
+
* 读取无符号 16 位整数(Little-Endian)
|
|
42
|
+
* @param buffer 数据缓冲区
|
|
43
|
+
* @param offset 偏移量
|
|
44
|
+
*/
|
|
45
|
+
static readUInt16LE(buffer: Buffer, offset: number): number;
|
|
46
|
+
/**
|
|
47
|
+
* 写入无符号 16 位整数(Little-Endian)
|
|
48
|
+
* @param buffer 数据缓冲区
|
|
49
|
+
* @param value 值
|
|
50
|
+
* @param offset 偏移量
|
|
51
|
+
*/
|
|
52
|
+
static writeUInt16LE(buffer: Buffer, value: number, offset: number): void;
|
|
53
|
+
/**
|
|
54
|
+
* 读取无符号 32 位整数(Little-Endian)
|
|
55
|
+
* @param buffer 数据缓冲区
|
|
56
|
+
* @param offset 偏移量
|
|
57
|
+
*/
|
|
58
|
+
static readUInt32LE(buffer: Buffer, offset: number): number;
|
|
59
|
+
/**
|
|
60
|
+
* 写入无符号 32 位整数(Little-Endian)
|
|
61
|
+
* @param buffer 数据缓冲区
|
|
62
|
+
* @param value 值
|
|
63
|
+
* @param offset 偏移量
|
|
64
|
+
*/
|
|
65
|
+
static writeUInt32LE(buffer: Buffer, value: number, offset: number): void;
|
|
66
|
+
/**
|
|
67
|
+
* 读取有符号 32 位整数(Little-Endian)
|
|
68
|
+
* @param buffer 数据缓冲区
|
|
69
|
+
* @param offset 偏移量
|
|
70
|
+
*/
|
|
71
|
+
static readInt32LE(buffer: Buffer, offset: number): number;
|
|
72
|
+
/**
|
|
73
|
+
* 写入有符号 32 位整数(Little-Endian)
|
|
74
|
+
* @param buffer 数据缓冲区
|
|
75
|
+
* @param value 值
|
|
76
|
+
* @param offset 偏移量
|
|
77
|
+
*/
|
|
78
|
+
static writeInt32LE(buffer: Buffer, value: number, offset: number): void;
|
|
79
|
+
/**
|
|
80
|
+
* 读取无符号 64 位整数(Little-Endian)
|
|
81
|
+
* 返回 BigInt 类型
|
|
82
|
+
* @param buffer 数据缓冲区
|
|
83
|
+
* @param offset 偏移量
|
|
84
|
+
*/
|
|
85
|
+
static readBigUInt64LE(buffer: Buffer, offset: number): bigint;
|
|
86
|
+
/**
|
|
87
|
+
* 写入无符号 64 位整数(Little-Endian)
|
|
88
|
+
* @param buffer 数据缓冲区
|
|
89
|
+
* @param value 值
|
|
90
|
+
* @param offset 偏移量
|
|
91
|
+
*/
|
|
92
|
+
static writeBigUInt64LE(buffer: Buffer, value: bigint, offset: number): void;
|
|
93
|
+
/**
|
|
94
|
+
* 读取字符串(UTF-8 编码)
|
|
95
|
+
* @param buffer 数据缓冲区
|
|
96
|
+
* @param offset 起始偏移量
|
|
97
|
+
* @param length 字符串字节长度
|
|
98
|
+
*/
|
|
99
|
+
static readString(buffer: Buffer, offset: number, length: number): string;
|
|
100
|
+
/**
|
|
101
|
+
* 写入字符串(UTF-8 编码)
|
|
102
|
+
* @param buffer 数据缓冲区
|
|
103
|
+
* @param value 字符串值
|
|
104
|
+
* @param offset 起始偏移量
|
|
105
|
+
* @returns 实际写入的字节数
|
|
106
|
+
*/
|
|
107
|
+
static writeString(buffer: Buffer, value: string, offset: number): number;
|
|
108
|
+
/**
|
|
109
|
+
* 计算字符串的字节长度(UTF-8 编码)
|
|
110
|
+
* @param value 字符串值
|
|
111
|
+
*/
|
|
112
|
+
static stringByteLength(value: string): number;
|
|
113
|
+
/**
|
|
114
|
+
* 分配指定大小的 Buffer(未初始化)
|
|
115
|
+
* 比 Buffer.alloc 更快,但内容未定义
|
|
116
|
+
* @param size Buffer 大小
|
|
117
|
+
*/
|
|
118
|
+
static allocUnsafe(size: number): Buffer;
|
|
119
|
+
/**
|
|
120
|
+
* 分配指定大小的 Buffer(初始化为零)
|
|
121
|
+
* @param size Buffer 大小
|
|
122
|
+
*/
|
|
123
|
+
static alloc(size: number): Buffer;
|
|
124
|
+
/**
|
|
125
|
+
* 连接多个 Buffer
|
|
126
|
+
* @param buffers Buffer 数组
|
|
127
|
+
*/
|
|
128
|
+
static concat(buffers: Buffer[]): Buffer;
|
|
129
|
+
/**
|
|
130
|
+
* 复制 Buffer 的一部分
|
|
131
|
+
* @param source 源 Buffer
|
|
132
|
+
* @param start 起始位置
|
|
133
|
+
* @param end 结束位置
|
|
134
|
+
*/
|
|
135
|
+
static slice(source: Buffer, start: number, end?: number): Buffer;
|
|
136
|
+
/**
|
|
137
|
+
* 比较两个 Buffer 是否相等
|
|
138
|
+
* @param a 第一个 Buffer
|
|
139
|
+
* @param b 第二个 Buffer
|
|
140
|
+
*/
|
|
141
|
+
static equals(a: Buffer, b: Buffer): boolean;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Buffer 写入器
|
|
145
|
+
* 提供便捷的顺序写入功能
|
|
146
|
+
*/
|
|
147
|
+
export declare class BufferWriter {
|
|
148
|
+
private buffer;
|
|
149
|
+
private offset;
|
|
150
|
+
/**
|
|
151
|
+
* 创建 Buffer 写入器
|
|
152
|
+
* @param size 初始 Buffer 大小
|
|
153
|
+
*/
|
|
154
|
+
constructor(size: number);
|
|
155
|
+
/**
|
|
156
|
+
* 获取当前写入位置
|
|
157
|
+
*/
|
|
158
|
+
get position(): number;
|
|
159
|
+
/**
|
|
160
|
+
* 获取已写入的数据
|
|
161
|
+
*/
|
|
162
|
+
get data(): Buffer;
|
|
163
|
+
/**
|
|
164
|
+
* 确保有足够的空间
|
|
165
|
+
* @param additional 需要的额外空间
|
|
166
|
+
*/
|
|
167
|
+
private ensureCapacity;
|
|
168
|
+
/**
|
|
169
|
+
* 写入无符号 8 位整数
|
|
170
|
+
*/
|
|
171
|
+
writeUInt8(value: number): this;
|
|
172
|
+
/**
|
|
173
|
+
* 写入无符号 16 位整数(Little-Endian)
|
|
174
|
+
*/
|
|
175
|
+
writeUInt16LE(value: number): this;
|
|
176
|
+
/**
|
|
177
|
+
* 写入无符号 32 位整数(Little-Endian)
|
|
178
|
+
*/
|
|
179
|
+
writeUInt32LE(value: number): this;
|
|
180
|
+
/**
|
|
181
|
+
* 写入无符号 64 位整数(Little-Endian)
|
|
182
|
+
*/
|
|
183
|
+
writeBigUInt64LE(value: bigint): this;
|
|
184
|
+
/**
|
|
185
|
+
* 写入字符串(带长度前缀)
|
|
186
|
+
*/
|
|
187
|
+
writeString(value: string): this;
|
|
188
|
+
/**
|
|
189
|
+
* 写入字符串(不带长度前缀)
|
|
190
|
+
*/
|
|
191
|
+
writeStringRaw(value: string): this;
|
|
192
|
+
/**
|
|
193
|
+
* 写入 Buffer
|
|
194
|
+
*/
|
|
195
|
+
writeBuffer(value: Buffer): this;
|
|
196
|
+
/**
|
|
197
|
+
* 写入带长度前缀的 Buffer
|
|
198
|
+
*/
|
|
199
|
+
writeBufferWithLength(value: Buffer): this;
|
|
200
|
+
/**
|
|
201
|
+
* 写入校验和(计算从起始位置到当前位置的数据)
|
|
202
|
+
*/
|
|
203
|
+
writeChecksum(startOffset?: number): this;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Buffer 读取器
|
|
207
|
+
* 提供便捷的顺序读取功能
|
|
208
|
+
*/
|
|
209
|
+
export declare class BufferReader {
|
|
210
|
+
private buffer;
|
|
211
|
+
private offset;
|
|
212
|
+
/**
|
|
213
|
+
* 创建 Buffer 读取器
|
|
214
|
+
* @param buffer 要读取的 Buffer
|
|
215
|
+
* @param startOffset 起始偏移量,默认 0
|
|
216
|
+
*/
|
|
217
|
+
constructor(buffer: Buffer, startOffset?: number);
|
|
218
|
+
/**
|
|
219
|
+
* 获取当前读取位置
|
|
220
|
+
*/
|
|
221
|
+
get position(): number;
|
|
222
|
+
/**
|
|
223
|
+
* 设置读取位置
|
|
224
|
+
*/
|
|
225
|
+
set position(value: number);
|
|
226
|
+
/**
|
|
227
|
+
* 获取剩余可读字节数
|
|
228
|
+
*/
|
|
229
|
+
get remaining(): number;
|
|
230
|
+
/**
|
|
231
|
+
* 检查是否有足够的可读数据
|
|
232
|
+
*/
|
|
233
|
+
hasRemaining(required: number): boolean;
|
|
234
|
+
/**
|
|
235
|
+
* 读取无符号 8 位整数
|
|
236
|
+
*/
|
|
237
|
+
readUInt8(): number;
|
|
238
|
+
/**
|
|
239
|
+
* 读取无符号 16 位整数(Little-Endian)
|
|
240
|
+
*/
|
|
241
|
+
readUInt16LE(): number;
|
|
242
|
+
/**
|
|
243
|
+
* 读取无符号 32 位整数(Little-Endian)
|
|
244
|
+
*/
|
|
245
|
+
readUInt32LE(): number;
|
|
246
|
+
/**
|
|
247
|
+
* 读取无符号 64 位整数(Little-Endian)
|
|
248
|
+
*/
|
|
249
|
+
readBigUInt64LE(): bigint;
|
|
250
|
+
/**
|
|
251
|
+
* 读取字符串(带长度前缀)
|
|
252
|
+
*/
|
|
253
|
+
readString(): string;
|
|
254
|
+
/**
|
|
255
|
+
* 读取指定长度的 Buffer
|
|
256
|
+
*/
|
|
257
|
+
readBuffer(length: number): Buffer;
|
|
258
|
+
/**
|
|
259
|
+
* 读取带长度前缀的 Buffer
|
|
260
|
+
*/
|
|
261
|
+
readBufferWithLength(): Buffer;
|
|
262
|
+
/**
|
|
263
|
+
* 读取并验证校验和
|
|
264
|
+
*/
|
|
265
|
+
readAndVerifyChecksum(startOffset: number): number;
|
|
266
|
+
/**
|
|
267
|
+
* 跳过指定字节数
|
|
268
|
+
*/
|
|
269
|
+
skip(bytes: number): this;
|
|
270
|
+
}
|
|
271
|
+
//# sourceMappingURL=binary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../src/utils/binary.ts"],"names":[],"mappings":"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"}
|