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 });