fix-netodb-again
Simon Smith committed
Sep 15, 2023 at 14:38 UTC
53a96fb26b8835c196c7a02454ee664176aed9a6
1 file changed
+20
-12
db.js
+20
-12
@@ -1474,6 +1474,7 @@ module.exports.CreateDB = function (parent, func) {
1474
if ((err == null) && (docs[0].id)) {
1475
for (var i in event.ids) {
1476
if (event.ids[i] != '*') {
1477
+ obj.pendingTransfer++;
1478
sqlDbQuery('INSERT INTO eventids VALUES ($1, $2)', [docs[0].id, event.ids[i]], function(){ if(func){ func(); } });
1479
}
1480
}
@@ -1889,7 +1890,14 @@ module.exports.CreateDB = function (parent, func) {
1890
obj.StoreEvent = function (event, func) {
1891
obj.dbCounters.eventsSet++;
1892
sqlDbQuery('INSERT INTO events VALUES (DEFAULT, $1, $2, $3, $4, $5, $6) RETURNING id', [event.time, ((typeof event.domain == 'string') ? event.domain : null), event.action, event.nodeid ? event.nodeid : null, event.userid ? event.userid : null, event], function (err, docs) {
1892
- if (docs.id) { for (var i in event.ids) { if (event.ids[i] != '*') { sqlDbQuery('INSERT INTO eventids VALUES ($1, $2)', [docs.id, event.ids[i]]); } } }
1893
+ if (docs.id) {
1894
+ for (var i in event.ids) {
1895
+ if (event.ids[i] != '*') {
1896
+ obj.pendingTransfer++;
1897
+ sqlDbQuery('INSERT INTO eventids VALUES ($1, $2)', [docs.id, event.ids[i]], function(){ if(func){ func(); } });
1898
+ }
1899
+ }
1900
+ }
1901
});
1902
};
1903
obj.GetEvents = function (ids, domain, func) {
@@ -3225,16 +3233,16 @@ module.exports.CreateDB = function (parent, func) {
3233
var eventRecordsTransferCount = 0;
3234
var powerRecordsTransferCount = 0;
3235
var statsRecordsTransferCount = 0;
3228
- var pendingTransfer = 0;
3236
+ obj.pendingTransfer = 0;
3237
3238
// Transfer the data from main database
3239
nedbfile.find({}, function (err, docs) {
3240
if ((err == null) && (docs.length > 0)) {
3241
performTypedRecordDecrypt(docs)
3242
for (var i in docs) {
3235
- pendingTransfer++;
3243
+ obj.pendingTransfer++;
3244
normalRecordsTransferCount++;
3237
- obj.Set(common.unEscapeLinksFieldName(docs[i]), function () { pendingTransfer--; });
3245
+ obj.Set(common.unEscapeLinksFieldName(docs[i]), function () { obj.pendingTransfer--; });
3246
}
3247
}
3248
@@ -3242,10 +3250,10 @@ module.exports.CreateDB = function (parent, func) {
3250
nedbeventsfile.find({}, function (err, docs) {
3251
if ((err == null) && (docs.length > 0)) {
3252
for (var i in docs) {
3245
- pendingTransfer++;
3253
+ obj.pendingTransfer++;
3254
eventRecordsTransferCount++;
3247
- for (var b in docs[i].ids) { if (docs[i].ids[b] != '*') { pendingTransfer++; } }
3248
- obj.StoreEvent(docs[i], function () { pendingTransfer--; });
3255
+ for (var b in docs[i].ids) { if (docs[i].ids[b] != '*') { obj.pendingTransfer++; } }
3256
+ obj.StoreEvent(docs[i], function () { obj.pendingTransfer--; });
3257
}
3258
}
3259
@@ -3253,9 +3261,9 @@ module.exports.CreateDB = function (parent, func) {
3261
nedbpowerfile.find({}, function (err, docs) {
3262
if ((err == null) && (docs.length > 0)) {
3263
for (var i in docs) {
3256
- pendingTransfer++;
3264
+ obj.pendingTransfer++;
3265
powerRecordsTransferCount++;
3258
- obj.storePowerEvent(docs[i], null, function () { pendingTransfer--; });
3266
+ obj.storePowerEvent(docs[i], null, function () { obj.pendingTransfer--; });
3267
}
3268
}
3269
@@ -3263,15 +3271,15 @@ module.exports.CreateDB = function (parent, func) {
3271
nedbserverstatsfile.find({}, function (err, docs) {
3272
if ((err == null) && (docs.length > 0)) {
3273
for (var i in docs) {
3266
- pendingTransfer++;
3274
+ obj.pendingTransfer++;
3275
statsRecordsTransferCount++;
3268
- obj.SetServerStats(docs[i], function () { pendingTransfer--; });
3276
+ obj.SetServerStats(docs[i], function () { obj.pendingTransfer--; });
3277
}
3278
}
3279
3280
// Only exit when all the records are stored.
3281
setInterval(function () {
3274
- if (pendingTransfer == 0) { func("Done. " + normalRecordsTransferCount + " record(s), " + eventRecordsTransferCount + " event(s), " + powerRecordsTransferCount + " power change(s), " + statsRecordsTransferCount + " stat(s)."); }
3282
+ if (obj.pendingTransfer == 0) { func("Done. " + normalRecordsTransferCount + " record(s), " + eventRecordsTransferCount + " event(s), " + powerRecordsTransferCount + " power change(s), " + statsRecordsTransferCount + " stat(s)."); }
3283
}, 200)
3284
});
3285
});