Поправка формирования поисковой БД (из series удалена информация о книгах без серии)
This commit is contained in:
@@ -18,7 +18,7 @@ module.exports = {
|
|||||||
|
|
||||||
//поправить в случае, если были критические изменения в DbCreator или InpxParser
|
//поправить в случае, если были критические изменения в DbCreator или InpxParser
|
||||||
//иначе будет рассинхронизация между сервером и клиентом на уровне БД
|
//иначе будет рассинхронизация между сервером и клиентом на уровне БД
|
||||||
dbVersion: '10',
|
dbVersion: '11',
|
||||||
dbCacheSize: 5,
|
dbCacheSize: 5,
|
||||||
|
|
||||||
maxPayloadSize: 500,//in MB
|
maxPayloadSize: 500,//in MB
|
||||||
|
|||||||
@@ -337,7 +337,7 @@ class DbCreator {
|
|||||||
//сохраним поисковые таблицы
|
//сохраним поисковые таблицы
|
||||||
const chunkSize = 10000;
|
const chunkSize = 10000;
|
||||||
|
|
||||||
const saveTable = async(table, arr, nullArr, indexType = 'string') => {
|
const saveTable = async(table, arr, nullArr, indexType = 'string', delEmpty = false) => {
|
||||||
|
|
||||||
if (indexType == 'string')
|
if (indexType == 'string')
|
||||||
arr.sort((a, b) => a.value.localeCompare(b.value));
|
arr.sort((a, b) => a.value.localeCompare(b.value));
|
||||||
@@ -366,6 +366,13 @@ class DbCreator {
|
|||||||
callback({progress: i/arr.length});
|
callback({progress: i/arr.length});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (delEmpty) {
|
||||||
|
const delResult = await db.delete({table, where: `@@indexLR('value', '?', '?')`});
|
||||||
|
const statField = `${table}Count`;
|
||||||
|
if (stats[statField])
|
||||||
|
stats[statField] -= delResult.deleted;
|
||||||
|
}
|
||||||
|
|
||||||
nullArr();
|
nullArr();
|
||||||
await db.close({table});
|
await db.close({table});
|
||||||
utils.freeMemory();
|
utils.freeMemory();
|
||||||
@@ -378,7 +385,7 @@ class DbCreator {
|
|||||||
|
|
||||||
//series
|
//series
|
||||||
callback({job: 'series save', jobMessage: 'Сохранение индекса серий', jobStep: 4, progress: 0});
|
callback({job: 'series save', jobMessage: 'Сохранение индекса серий', jobStep: 4, progress: 0});
|
||||||
await saveTable('series', seriesArr, () => {seriesArr = null});
|
await saveTable('series', seriesArr, () => {seriesArr = null}, 'string', true);
|
||||||
|
|
||||||
//title
|
//title
|
||||||
callback({job: 'title save', jobMessage: 'Сохранение индекса названий', jobStep: 5, progress: 0});
|
callback({job: 'title save', jobMessage: 'Сохранение индекса названий', jobStep: 5, progress: 0});
|
||||||
|
|||||||
Reference in New Issue
Block a user