Переход на Uint32Array
This commit is contained in:
@@ -399,12 +399,12 @@ class DbSearcher {
|
||||
}
|
||||
}
|
||||
|
||||
tableIds = Array.from(tableIdsSet);
|
||||
tableIds = new Uint32Array(tableIdsSet);
|
||||
} else {//bookIds пустой - критерии не заданы, значит берем все id из from
|
||||
const rows = await db.select({
|
||||
table: from,
|
||||
rawResult: true,
|
||||
where: `return Array.from(@all())`
|
||||
where: `return new Uint32Array(@all())`
|
||||
});
|
||||
|
||||
tableIds = rows[0].rawResult;
|
||||
@@ -500,11 +500,13 @@ class DbSearcher {
|
||||
limit = (limit > maxLimit ? maxLimit : limit);
|
||||
const offset = (query.offset ? query.offset : 0);
|
||||
|
||||
const slice = ids.slice(offset, offset + limit);
|
||||
|
||||
//выборка найденных значений
|
||||
const found = await db.select({
|
||||
table: from,
|
||||
map: `(r) => ({id: r.id, ${from}: r.name, bookCount: r.bookCount, bookDelCount: r.bookDelCount})`,
|
||||
where: `@@id(${db.esc(ids.slice(offset, offset + limit))})`
|
||||
where: `@@id(${db.esc(Array.from(slice))})`
|
||||
});
|
||||
|
||||
//для title восстановим books
|
||||
|
||||
Reference in New Issue
Block a user