Merge pull request #5351 from Ylianst/fix-nedbtodb-again

Fix nedbtodb again
This commit is contained in:
Ylian Saint-Hilaire 2023-09-15 17:36:54 -07:00 committed by GitHub
commit fcdac82f53
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

31
db.js
View File

@ -1474,6 +1474,7 @@ module.exports.CreateDB = function (parent, func) {
if ((err == null) && (docs[0].id)) { if ((err == null) && (docs[0].id)) {
for (var i in event.ids) { for (var i in event.ids) {
if (event.ids[i] != '*') { if (event.ids[i] != '*') {
obj.pendingTransfer++;
sqlDbQuery('INSERT INTO eventids VALUES ($1, $2)', [docs[0].id, event.ids[i]], function(){ if(func){ func(); } }); sqlDbQuery('INSERT INTO eventids VALUES ($1, $2)', [docs[0].id, event.ids[i]], function(){ if(func){ func(); } });
} }
} }
@ -1889,7 +1890,14 @@ module.exports.CreateDB = function (parent, func) {
obj.StoreEvent = function (event, func) { obj.StoreEvent = function (event, func) {
obj.dbCounters.eventsSet++; obj.dbCounters.eventsSet++;
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) { 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) {
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]]); } } } if (docs.id) {
for (var i in event.ids) {
if (event.ids[i] != '*') {
obj.pendingTransfer++;
sqlDbQuery('INSERT INTO eventids VALUES ($1, $2)', [docs.id, event.ids[i]], function(){ if(func){ func(); } });
}
}
}
}); });
}; };
obj.GetEvents = function (ids, domain, func) { obj.GetEvents = function (ids, domain, func) {
@ -3225,16 +3233,16 @@ module.exports.CreateDB = function (parent, func) {
var eventRecordsTransferCount = 0; var eventRecordsTransferCount = 0;
var powerRecordsTransferCount = 0; var powerRecordsTransferCount = 0;
var statsRecordsTransferCount = 0; var statsRecordsTransferCount = 0;
var pendingTransfer = 0; obj.pendingTransfer = 0;
// Transfer the data from main database // Transfer the data from main database
nedbfile.find({}, function (err, docs) { nedbfile.find({}, function (err, docs) {
if ((err == null) && (docs.length > 0)) { if ((err == null) && (docs.length > 0)) {
performTypedRecordDecrypt(docs) performTypedRecordDecrypt(docs)
for (var i in docs) { for (var i in docs) {
pendingTransfer++; obj.pendingTransfer++;
normalRecordsTransferCount++; normalRecordsTransferCount++;
obj.Set(common.unEscapeLinksFieldName(docs[i]), function () { pendingTransfer--; }); obj.Set(common.unEscapeLinksFieldName(docs[i]), function () { obj.pendingTransfer--; });
} }
} }
@ -3242,10 +3250,9 @@ module.exports.CreateDB = function (parent, func) {
nedbeventsfile.find({}, function (err, docs) { nedbeventsfile.find({}, function (err, docs) {
if ((err == null) && (docs.length > 0)) { if ((err == null) && (docs.length > 0)) {
for (var i in docs) { for (var i in docs) {
pendingTransfer++; obj.pendingTransfer++;
eventRecordsTransferCount++; eventRecordsTransferCount++;
for (var b in docs[i].ids) { if (docs[i].ids[b] != '*') { pendingTransfer++; } } obj.StoreEvent(docs[i], function () { obj.pendingTransfer--; });
obj.StoreEvent(docs[i], function () { pendingTransfer--; });
} }
} }
@ -3253,9 +3260,9 @@ module.exports.CreateDB = function (parent, func) {
nedbpowerfile.find({}, function (err, docs) { nedbpowerfile.find({}, function (err, docs) {
if ((err == null) && (docs.length > 0)) { if ((err == null) && (docs.length > 0)) {
for (var i in docs) { for (var i in docs) {
pendingTransfer++; obj.pendingTransfer++;
powerRecordsTransferCount++; powerRecordsTransferCount++;
obj.storePowerEvent(docs[i], null, function () { pendingTransfer--; }); obj.storePowerEvent(docs[i], null, function () { obj.pendingTransfer--; });
} }
} }
@ -3263,15 +3270,15 @@ module.exports.CreateDB = function (parent, func) {
nedbserverstatsfile.find({}, function (err, docs) { nedbserverstatsfile.find({}, function (err, docs) {
if ((err == null) && (docs.length > 0)) { if ((err == null) && (docs.length > 0)) {
for (var i in docs) { for (var i in docs) {
pendingTransfer++; obj.pendingTransfer++;
statsRecordsTransferCount++; statsRecordsTransferCount++;
obj.SetServerStats(docs[i], function () { pendingTransfer--; }); obj.SetServerStats(docs[i], function () { obj.pendingTransfer--; });
} }
} }
// Only exit when all the records are stored. // Only exit when all the records are stored.
setInterval(function () { setInterval(function () {
if (pendingTransfer == 0) { func("Done. " + normalRecordsTransferCount + " record(s), " + eventRecordsTransferCount + " event(s), " + powerRecordsTransferCount + " power change(s), " + statsRecordsTransferCount + " stat(s)."); } if (obj.pendingTransfer == 0) { func("Done. " + normalRecordsTransferCount + " record(s), " + eventRecordsTransferCount + " event(s), " + powerRecordsTransferCount + " power change(s), " + statsRecordsTransferCount + " stat(s)."); }
}, 200) }, 200)
}); });
}); });