2
0
Эх сурвалжийг харах

fix: rebuild-tree exceeds mssql parameter limit (#1328)

* fix: rebuild-tree exceeds mssql's parameter limit

* docs: details per query max parameters limits

Co-authored-by: Nicolas Giard <github@ngpixel.com>
alancnet 5 жил өмнө
parent
commit
a257831c6c

+ 4 - 1
server/jobs/rebuild-tree.js

@@ -53,7 +53,10 @@ module.exports = async (pageId) => {
 
     await WIKI.models.knex.table('pageTree').truncate()
     if (tree.length > 0) {
-      await WIKI.models.knex.table('pageTree').insert(tree)
+      // -> Save in chunks, because of per query max parameters (35k Postgres, 2k MSSQL, 1k for SQLite)
+      for (const chunk of _.chunk(tree, 100)) {
+        await WIKI.models.knex.table('pageTree').insert(chunk)
+      }
     }
 
     await WIKI.models.knex.destroy()