datafolder 1.0.9 → 1.0.10
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/README.md +3 -1
- package/SSD.md +60 -0
- package/index.js +1 -0
- package/package.json +1 -1
- package/sample.js +4 -4
- package/scripts/airbnb.js +1 -0
- package/scripts/airbnb2.js +1 -0
- package/scripts/convertBinFiles.js +1 -0
- package/scripts/express.js +2 -1
- package/scripts/fastify.js +1 -0
- package/scripts/flights.js +1 -0
- package/scripts/flights2.js +1 -0
- package/scripts/flights_queries.js +1 -0
- package/src/QyAcl.d.ts +3 -3
- package/src/QyAcl.js +7 -7
- package/src/QyAclSaver_Worker.d.ts +1 -0
- package/src/QyAclSaver_Worker.js +1 -0
- package/src/QyAclWriter.d.ts +2 -1
- package/src/QyAclWriter.js +7 -6
- package/src/QyBatch.d.ts +29 -22
- package/src/QyBatch.js +85 -72
- package/src/QyBinWriter.d.ts +9 -4
- package/src/QyBinWriter.js +83 -70
- package/src/QyCD.d.ts +19 -19
- package/src/QyCD.js +2 -2
- package/src/QyCache.d.ts +22 -23
- package/src/QyCache.js +47 -36
- package/src/QyCompressor_Worker.js +2 -2
- package/src/QyDB.d.ts +6 -9
- package/src/QyDB.js +1 -1
- package/src/QyFile.d.ts +2 -0
- package/src/QyFile.js +42 -40
- package/src/QyFileContentUtils.d.ts +1 -4
- package/src/QyFileLogger.d.ts +4 -0
- package/src/QyFileLogger.js +30 -26
- package/src/QyIndex.d.ts +2 -2
- package/src/QyIndex.js +84 -80
- package/src/QyIndexPropTree.d.ts +4 -0
- package/src/QyIndexPropTree.js +19 -10
- package/src/QyIntersectNode.d.ts +1 -0
- package/src/QyIntersectNode.js +1 -0
- package/src/QyJsonSaver.d.ts +2 -2
- package/src/QyJsonSaver.js +4 -4
- package/src/QyKVData.d.ts +18 -1
- package/src/QyKVData.js +98 -78
- package/src/QyKVDataCleaner_Worker.d.ts +7 -1
- package/src/QyKVDataCleaner_Worker.js +69 -55
- package/src/QyKVDataLoader.d.ts +10 -2
- package/src/QyKVDataLoader.js +27 -21
- package/src/QyKVDataSaver_Worker.d.ts +10 -0
- package/src/QyKVDataSaver_Worker.js +23 -9
- package/src/QyLogFileSaver_Worker.d.ts +1 -0
- package/src/QyLogFileSaver_Worker.js +7 -6
- package/src/QyLogger.d.ts +20 -10
- package/src/QyLogger.js +110 -67
- package/src/QyMessageWorker.d.ts +1 -1
- package/src/QyMessageWorker.js +5 -5
- package/src/QyMessager.d.ts +5 -1
- package/src/QyMessager.js +6 -1
- package/src/QyMod.js +9 -8
- package/src/QyOpRunner.d.ts +5 -1
- package/src/QyOpRunner.js +7 -7
- package/src/QyQueue.d.ts +5 -1
- package/src/QyQueue.js +6 -7
- package/src/QySaver.d.ts +3 -0
- package/src/QySaver.js +26 -15
- package/src/QySnapshotCompactor_Worker.d.ts +7 -0
- package/src/QySnapshotCompactor_Worker.js +37 -26
- package/src/QySnapshotSaver_Worker.d.ts +8 -1
- package/src/QySnapshotSaver_Worker.js +21 -14
- package/src/QySnapshots.d.ts +19 -7
- package/src/QySnapshots.js +195 -172
- package/src/QyTrigger.d.ts +5 -1
- package/src/QyTrigger.js +44 -34
- package/src/QyUnionNode.d.ts +10 -1
- package/src/QyUnionNode.js +34 -36
- package/src/QyUtils.d.ts +2 -2
- package/src/QyUtils.js +116 -111
- package/src/simulate.js +34 -31
- package/src/simulate2.js +49 -46
- package/src/soc_pokec.js +17 -11
- package/static/codemirror.bundle/editor.bundle.js +2 -0
|
@@ -29,6 +29,13 @@ import {
|
|
|
29
29
|
} from "./QyUtils.js";
|
|
30
30
|
|
|
31
31
|
export default class extends a {
|
|
32
|
+
kvFolder;
|
|
33
|
+
snapshotFolder;
|
|
34
|
+
qySnapshots;
|
|
35
|
+
qyKVDataCleaner;
|
|
36
|
+
pMInfoMap = {};
|
|
37
|
+
vLInfoMap = {};
|
|
38
|
+
combinedSnapshotNumVersionList = [];
|
|
32
39
|
constructor({
|
|
33
40
|
kvFolder: a,
|
|
34
41
|
options: s
|
|
@@ -42,10 +49,7 @@ export default class extends a {
|
|
|
42
49
|
kvFolder: a,
|
|
43
50
|
snapshotFolder: o,
|
|
44
51
|
qySnapshots: new n(o, s),
|
|
45
|
-
qyKVDataCleaner: new p(this, a, s)
|
|
46
|
-
pMInfoMap: {},
|
|
47
|
-
vLInfoMap: {},
|
|
48
|
-
combinedSnapshotNumList: []
|
|
52
|
+
qyKVDataCleaner: new p(this, a, s)
|
|
49
53
|
});
|
|
50
54
|
}
|
|
51
55
|
_op_start() {
|
|
@@ -89,30 +93,37 @@ export default class extends a {
|
|
|
89
93
|
});
|
|
90
94
|
})(this, a, s)));
|
|
91
95
|
}
|
|
92
|
-
0 < s.length && e.push((async (a, s
|
|
93
|
-
|
|
94
|
-
qySnapshots:
|
|
95
|
-
vLInfoMap:
|
|
96
|
-
|
|
97
|
-
} =
|
|
98
|
-
snapshotNum:
|
|
99
|
-
info:
|
|
100
|
-
keyValueMap:
|
|
101
|
-
} = (await m(
|
|
102
|
-
Object.assign(
|
|
96
|
+
0 < s.length && e.push((async (t, a, s) => {
|
|
97
|
+
let {
|
|
98
|
+
qySnapshots: o,
|
|
99
|
+
vLInfoMap: e,
|
|
100
|
+
combinedSnapshotNumVersionList: p
|
|
101
|
+
} = t, n = o.getMaxCombinedSnapshot(a), {
|
|
102
|
+
snapshotNum: i,
|
|
103
|
+
info: r,
|
|
104
|
+
keyValueMap: f
|
|
105
|
+
} = (await m(t, n), n);
|
|
106
|
+
Object.assign(n, {
|
|
103
107
|
posMap: void 0,
|
|
104
108
|
prefixPM: void 0
|
|
105
109
|
});
|
|
106
|
-
for (
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
110
|
+
for (var h of a) if (h != n) {
|
|
111
|
+
await m(t, h);
|
|
112
|
+
let {
|
|
113
|
+
snapshotNum: a,
|
|
114
|
+
info: s,
|
|
115
|
+
keyValueMap: o
|
|
116
|
+
} = h;
|
|
117
|
+
p.push([ a, s.verList[0] ]), Object.assign(f, o), Object.assign(h, {
|
|
118
|
+
keyValueMap: void 0,
|
|
119
|
+
posMap: void 0,
|
|
120
|
+
prefixPM: void 0
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
await o.saveKeyValueMap(n), e[i] = r, s.combinationUpdate = {
|
|
124
|
+
snapshotNum: i,
|
|
125
|
+
combinedSnapshotNumVersionList: p,
|
|
126
|
+
posMap: n.posMap
|
|
116
127
|
};
|
|
117
128
|
})(this, s, t)), await Promise.all(e), this.castParent("onCompactUpdates", t);
|
|
118
129
|
}
|
|
@@ -121,7 +132,7 @@ export default class extends a {
|
|
|
121
132
|
qySnapshots: o,
|
|
122
133
|
pMInfoMap: t,
|
|
123
134
|
vLInfoMap: e,
|
|
124
|
-
|
|
135
|
+
combinedSnapshotNumVersionList: p,
|
|
125
136
|
qyKVDataCleaner: n
|
|
126
137
|
} = this, i = (Object.assign(this, {
|
|
127
138
|
pMInfoMap: {},
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { QyMessageWorker } from "./QyMessageWorker.ts";
|
|
2
2
|
export default class QySnapshotSaver_Worker extends QyMessageWorker {
|
|
3
|
+
kvFolder: any;
|
|
4
|
+
snapshotFolder: any;
|
|
5
|
+
qySnapshots: any;
|
|
6
|
+
qyKVDataCleaner: any;
|
|
7
|
+
aclKeyValueMap: any;
|
|
8
|
+
snapshotSavedChangeId: number;
|
|
9
|
+
maxChangeId: any;
|
|
3
10
|
constructor({ kvFolder, options }: {
|
|
4
11
|
kvFolder: any;
|
|
5
12
|
options: any;
|
|
@@ -8,7 +15,7 @@ export default class QySnapshotSaver_Worker extends QyMessageWorker {
|
|
|
8
15
|
castSave(changeId: any, cmdArgAsListObj: any, syncList: any): void;
|
|
9
16
|
saveSnapshot(maxSnapshotNum: any): Promise<void>;
|
|
10
17
|
releaseSnapshot(snapshotNum: any): void;
|
|
11
|
-
_op_stop(): Promise<
|
|
18
|
+
_op_stop(): Promise<number>;
|
|
12
19
|
_op_waitForSnapshotSaved({ saveMaxSnapshotInfoPromise, outdates }: {
|
|
13
20
|
saveMaxSnapshotInfoPromise: any;
|
|
14
21
|
outdates: any;
|
|
@@ -23,6 +23,13 @@ import {
|
|
|
23
23
|
} from "./QyLogger.js";
|
|
24
24
|
|
|
25
25
|
export default class extends a {
|
|
26
|
+
kvFolder;
|
|
27
|
+
snapshotFolder;
|
|
28
|
+
qySnapshots;
|
|
29
|
+
qyKVDataCleaner;
|
|
30
|
+
aclKeyValueMap = {};
|
|
31
|
+
snapshotSavedChangeId = 0;
|
|
32
|
+
maxChangeId;
|
|
26
33
|
constructor({
|
|
27
34
|
kvFolder: a,
|
|
28
35
|
options: s
|
|
@@ -36,9 +43,7 @@ export default class extends a {
|
|
|
36
43
|
kvFolder: a,
|
|
37
44
|
snapshotFolder: e,
|
|
38
45
|
qySnapshots: new n(e, s),
|
|
39
|
-
qyKVDataCleaner: new p(this, a, s)
|
|
40
|
-
aclKeyValueMap: {},
|
|
41
|
-
snapshotSavedChangeId: 0
|
|
46
|
+
qyKVDataCleaner: new p(this, a, s)
|
|
42
47
|
});
|
|
43
48
|
}
|
|
44
49
|
_op_start(a, s, e) {
|
|
@@ -82,7 +87,7 @@ export default class extends a {
|
|
|
82
87
|
snapshotNum: a,
|
|
83
88
|
maxChangeId: t
|
|
84
89
|
} = await a, {
|
|
85
|
-
|
|
90
|
+
emptySnapshotNumVersionList: s,
|
|
86
91
|
pMChangeList: o,
|
|
87
92
|
vLChange: n,
|
|
88
93
|
snapshotInfoMap: p,
|
|
@@ -92,9 +97,9 @@ export default class extends a {
|
|
|
92
97
|
qySnapshots: i,
|
|
93
98
|
options: l
|
|
94
99
|
} = this;
|
|
95
|
-
for (e in r.cleanAclFiles(a), 0 < h.length && await Promise.all(h), h.length = 0,
|
|
100
|
+
for (e in r.cleanAclFiles(a), 0 < h.length && (await Promise.all(h), h.length = 0),
|
|
96
101
|
p) h.push(i.saveSnapshotInfo(e, p[e]));
|
|
97
|
-
0 < h.length && await Promise.all(h), 0 < s.length && r.removeSnapshotsFiles(s),
|
|
102
|
+
0 < h.length && (await Promise.all(h), h.length = 0), 0 < s.length && r.removeSnapshotsFiles(s),
|
|
98
103
|
0 < o.length && r.cleanPMFiles(o), 0 < n.length && r.cleanVLFiles(n[0], n[1]);
|
|
99
104
|
let u;
|
|
100
105
|
a = i.snapshotCount;
|
|
@@ -115,7 +120,7 @@ export default class extends a {
|
|
|
115
120
|
function h(a, s, e, t) {
|
|
116
121
|
var o = (a => {
|
|
117
122
|
var s, e = a.qySnapshots, {
|
|
118
|
-
|
|
123
|
+
emptySnapshotNumVersionList: t,
|
|
119
124
|
combiningSnapshotList: a,
|
|
120
125
|
pMCompactSnapshotList: o
|
|
121
126
|
} = e.calOutdates(), n = {}, p = [], h = [], r = [];
|
|
@@ -130,18 +135,19 @@ function h(a, s, e, t) {
|
|
|
130
135
|
}
|
|
131
136
|
let u = a.length, m;
|
|
132
137
|
if (0 < u) {
|
|
133
|
-
var S,
|
|
134
|
-
keyValueMap:
|
|
138
|
+
var S, d = e.keyToSnapshotMap, {
|
|
139
|
+
keyValueMap: y,
|
|
135
140
|
info: o,
|
|
136
141
|
snapshotNum: v
|
|
137
142
|
} = m = e.getMaxCombinedSnapshot(a);
|
|
138
143
|
for (S of a) if (m != S) {
|
|
139
144
|
var g, {
|
|
140
145
|
keyValueMap: M,
|
|
141
|
-
snapshotNum: f
|
|
146
|
+
snapshotNum: f,
|
|
147
|
+
info: C
|
|
142
148
|
} = S;
|
|
143
|
-
for (g in M)
|
|
144
|
-
e.delSnapshot(S), t.push(f);
|
|
149
|
+
for (g in M) y[g] = M[g], d[g] = m;
|
|
150
|
+
e.delSnapshot(S), t.push([ f, C.verList[0] ]);
|
|
145
151
|
}
|
|
146
152
|
p.push(e.saveKeyValueMap(m)), h.push([ v, o.pMVersion ]), r.push(v, o.vLVersion),
|
|
147
153
|
n[v] = {
|
|
@@ -149,7 +155,7 @@ function h(a, s, e, t) {
|
|
|
149
155
|
};
|
|
150
156
|
}
|
|
151
157
|
return {
|
|
152
|
-
|
|
158
|
+
emptySnapshotNumVersionList: t,
|
|
153
159
|
pMChangeList: h,
|
|
154
160
|
vLChange: r,
|
|
155
161
|
snapshotInfoMap: n,
|
|
@@ -162,7 +168,8 @@ function h(a, s, e, t) {
|
|
|
162
168
|
info: {
|
|
163
169
|
maxChangeId: e,
|
|
164
170
|
pMVersion: 0,
|
|
165
|
-
vLVersion: 0
|
|
171
|
+
vLVersion: 0,
|
|
172
|
+
verList: []
|
|
166
173
|
}
|
|
167
174
|
}, t = (a.qySnapshots.addMaxSnapshot(s), (async (a, s) => {
|
|
168
175
|
await (a = a.qySnapshots).saveKeyValueMap(s);
|
package/src/QySnapshots.d.ts
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
export declare class QySnapshots {
|
|
2
|
+
snapshotFolder: any;
|
|
3
|
+
snapshotInfoFolder: any;
|
|
4
|
+
options: any;
|
|
5
|
+
qyJsonSaver: any;
|
|
6
|
+
numToSnapshotMap: any;
|
|
7
|
+
keyToSnapshotMap: any;
|
|
8
|
+
fDMap: any;
|
|
9
|
+
prefixMap: any;
|
|
10
|
+
snapshotMaxChangeId: number;
|
|
11
|
+
maxSnapshotNum: number;
|
|
12
|
+
snapshotCount: number;
|
|
2
13
|
constructor(snapshotFolder: any, options: any);
|
|
3
14
|
loadSnapshotInfos(): Promise<void>;
|
|
4
15
|
closeAllFDs(): void;
|
|
5
|
-
saveKeyValueMap(snapshot: any): Promise<any>;
|
|
16
|
+
saveKeyValueMap(snapshot: any): Promise<[[any, any], any]>;
|
|
6
17
|
addMaxSnapshot(maxSnapshot: any): void;
|
|
7
18
|
removeKey(key: any): true | undefined;
|
|
8
19
|
applyCmdObj(cmdObj: any, aclKeyValueMap: any, syncList: any): void;
|
|
@@ -10,18 +21,19 @@ export declare class QySnapshots {
|
|
|
10
21
|
loadPartialPosMapBuffer(snapshot: any, prefix: any, buffer: any): void;
|
|
11
22
|
delSnapshot(snapshot: any): void;
|
|
12
23
|
calOutdates(): {
|
|
13
|
-
|
|
14
|
-
combiningSnapshotList:
|
|
15
|
-
pMCompactSnapshotList:
|
|
16
|
-
vLCompactSnapshotList:
|
|
24
|
+
emptySnapshotNumVersionList: any[];
|
|
25
|
+
combiningSnapshotList: any[];
|
|
26
|
+
pMCompactSnapshotList: any[];
|
|
27
|
+
vLCompactSnapshotList: any[];
|
|
17
28
|
};
|
|
18
29
|
getMaxCombinedSnapshot(snapshotList: any): any;
|
|
19
30
|
getPMFilePath(snapshot: any): string;
|
|
20
31
|
getVLFilePath(snapshot: any): string;
|
|
21
|
-
saveSnapshotInfo(snapshotNum: any, info: any):
|
|
22
|
-
savePosMap(snapshot: any, sortedKeyList: any): Promise<any>;
|
|
32
|
+
saveSnapshotInfo(snapshotNum: any, info: any): Promise<boolean>;
|
|
33
|
+
savePosMap(snapshot: any, sortedKeyList: any): Promise<[any, any]>;
|
|
23
34
|
isEmptySnapshot(snapshot: any): boolean;
|
|
24
35
|
removeKeyFromSnapshot(snapshot: any, key: any): void;
|
|
25
36
|
}
|
|
26
37
|
export declare function iterPMBuffer(buffer: any, fun: any): void;
|
|
27
38
|
export declare function loadPrefixPMFile(prefixPMFilePath: any): Promise<{}>;
|
|
39
|
+
export declare function getSnapshotInfoFileName(snapshotNum: any, version: any): string;
|