@verdant-web/server 4.2.3 → 4.2.4
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.
|
@@ -40,10 +40,14 @@ export class SqlOperations {
|
|
|
40
40
|
this.insertAll = async (replicaId, operations) => {
|
|
41
41
|
const db = this.db;
|
|
42
42
|
// inserts all operations and updates server order
|
|
43
|
-
//
|
|
43
|
+
// since SQL operations are synchronous, we rely on the returned result of each
|
|
44
|
+
// operation to update the current server order and increment it in JS...
|
|
45
|
+
// SQLite does not have autoincrement for non-primary keys.
|
|
46
|
+
// I suppose I could potentially make a new table to track server order, idk if this
|
|
47
|
+
// would be faster.
|
|
44
48
|
return db.transaction((tx) => {
|
|
45
49
|
var _a;
|
|
46
|
-
|
|
50
|
+
const orderResult = tx.first(`SELECT serverOrder FROM OperationHistory ORDER BY serverOrder DESC LIMIT 1`);
|
|
47
51
|
let currentServerOrder = (_a = orderResult === null || orderResult === void 0 ? void 0 : orderResult.serverOrder) !== null && _a !== void 0 ? _a : 0;
|
|
48
52
|
for (const item of operations) {
|
|
49
53
|
// utilizing returned serverOrder accommodates for conflicts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqlOperations.js","sourceRoot":"","sources":["../../../../src/storage/sqlShard/SqlOperations.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,aAAa;IACzB,YACS,EAAkB,EAClB,SAAiB;QADjB,OAAE,GAAF,EAAE,CAAgB;QAClB,cAAS,GAAT,SAAS,CAAQ;QAGlB,YAAO,GAAG,CAAC,GAAwB,EAAE,EAAE;YAC9C,6DAA6D;YAC7D,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,WAAM,GAAG,KAAK,EAAE,GAAW,EAA8B,EAAE;YAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CACnB,qEAAqE,EACrE,CAAC,GAAG,CAAC,CACL,CAAC;YAEF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,GAAmC,CAAC;QAC5C,CAAC,CAAC;QAEF,yBAAoB,GAAG,KAAK,EAC3B,iBAAyB,EACI,EAAE;YAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CACnB,6EAA6E,EAC7E,CAAC,iBAAiB,CAAC,CACnB,CAAC;YAEF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,GAAmC,CAAC;QAC5C,CAAC,CAAC;QAEF,wBAAmB,GAAG,KAAK,EAC1B,gBAAwB,EACK,EAAE;YAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CACnB,6EAA6E,EAC7E,CAAC,gBAAgB,CAAC,CAClB,CAAC;YAEF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,GAAmC,CAAC;QAC5C,CAAC,CAAC;QAEF,yBAAoB,GAAG,KAAK,IAAqB,EAAE;YAClD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CACtB,4EAA4E,CAC5E,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACZ,OAAO,MAAM,CAAC,WAAW,CAAC;YAC3B,CAAC;YAED,OAAO,CAAC,CAAC;QACV,CAAC,CAAC;QAEF,aAAQ,GAAG,KAAK,IAAqB,EAAE;;YACtC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,CACN,MAAA,MAAA,EAAE,CAAC,KAAK,CACP,gDAAgD,CAChD,0CAAE,KAAK,mCAAI,CAAC,CACb,CAAC;QACH,CAAC,CAAC;QAEF,cAAS,GAAG,KAAK,EAChB,SAAiB,EACjB,UAAuB,EACL,EAAE;YACpB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,kDAAkD;YAClD,
|
|
1
|
+
{"version":3,"file":"SqlOperations.js","sourceRoot":"","sources":["../../../../src/storage/sqlShard/SqlOperations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@verdant-web/server",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.4",
|
|
4
4
|
"access": "public",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -23,6 +23,11 @@
|
|
|
23
23
|
"publishConfig": {
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
|
+
"repository": {
|
|
27
|
+
"url": "https://github.com/a-type/verdant",
|
|
28
|
+
"directory": "packages/server",
|
|
29
|
+
"type": "git"
|
|
30
|
+
},
|
|
26
31
|
"files": [
|
|
27
32
|
"dist/",
|
|
28
33
|
"src/",
|
|
@@ -47,7 +52,7 @@
|
|
|
47
52
|
"jsonwebtoken": "^8.5.1",
|
|
48
53
|
"minimist": "^1.2.8",
|
|
49
54
|
"ws": "^8.9.0",
|
|
50
|
-
"@verdant-web/common": "3.2.
|
|
55
|
+
"@verdant-web/common": "3.2.1"
|
|
51
56
|
},
|
|
52
57
|
"devDependencies": {
|
|
53
58
|
"@types/async-lock": "^1.3.0",
|
|
@@ -79,9 +79,13 @@ export class SqlOperations implements OperationStorage {
|
|
|
79
79
|
): Promise<number> => {
|
|
80
80
|
const db = this.db;
|
|
81
81
|
// inserts all operations and updates server order
|
|
82
|
-
//
|
|
82
|
+
// since SQL operations are synchronous, we rely on the returned result of each
|
|
83
|
+
// operation to update the current server order and increment it in JS...
|
|
84
|
+
// SQLite does not have autoincrement for non-primary keys.
|
|
85
|
+
// I suppose I could potentially make a new table to track server order, idk if this
|
|
86
|
+
// would be faster.
|
|
83
87
|
return db.transaction((tx): number => {
|
|
84
|
-
|
|
88
|
+
const orderResult = tx.first<Pick<OperationHistoryRow, 'serverOrder'>>(
|
|
85
89
|
`SELECT serverOrder FROM OperationHistory ORDER BY serverOrder DESC LIMIT 1`,
|
|
86
90
|
);
|
|
87
91
|
let currentServerOrder = orderResult?.serverOrder ?? 0;
|