mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-29 18:16:17 +01:00
* fix: #8954, clear purged replies and toPids * fix: redis test
This commit is contained in:
committed by
GitHub
parent
39dae0aaff
commit
5bb5ec4618
@@ -247,20 +247,26 @@ SELECT (h."data" ? $2::TEXT AND h."data"->>$2::TEXT IS NOT NULL) b
|
||||
};
|
||||
|
||||
module.deleteObjectFields = async function (key, fields) {
|
||||
if (!key || !Array.isArray(fields) || !fields.length) {
|
||||
if (!key || (Array.isArray(key) && !key.length) || !Array.isArray(fields) || !fields.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
await module.pool.query({
|
||||
name: 'deleteObjectFields',
|
||||
text: `
|
||||
UPDATE "legacy_hash"
|
||||
SET "data" = COALESCE((SELECT jsonb_object_agg("key", "value")
|
||||
FROM jsonb_each("data")
|
||||
WHERE "key" <> ALL ($2::TEXT[])), '{}')
|
||||
WHERE "_key" = $1::TEXT`,
|
||||
values: [key, fields],
|
||||
});
|
||||
async function delKey(key, fields) {
|
||||
await module.pool.query({
|
||||
name: 'deleteObjectFields',
|
||||
text: `
|
||||
UPDATE "legacy_hash"
|
||||
SET "data" = COALESCE((SELECT jsonb_object_agg("key", "value")
|
||||
FROM jsonb_each("data")
|
||||
WHERE "key" <> ALL ($2::TEXT[])), '{}')
|
||||
WHERE "_key" = $1::TEXT`,
|
||||
values: [key, fields],
|
||||
});
|
||||
}
|
||||
if (Array.isArray(key)) {
|
||||
await Promise.all(key.map(k => delKey(k, fields)));
|
||||
} else {
|
||||
await delKey(key, fields);
|
||||
}
|
||||
};
|
||||
|
||||
module.incrObjectField = async function (key, field) {
|
||||
|
||||
Reference in New Issue
Block a user