Improve performance of StartPlan
This commit is contained in:
parent
eba33c2599
commit
2ae9d2a4c1
|
@ -144,11 +144,7 @@ export default function StartPlan() {
|
||||||
renderItem={({item, index}) => (
|
renderItem={({item, index}) => (
|
||||||
<List.Item
|
<List.Item
|
||||||
title={item.name}
|
title={item.name}
|
||||||
description={
|
description={item.total.toString()}
|
||||||
settings.showSets
|
|
||||||
? `${item.total} / ${item.sets ?? 3}`
|
|
||||||
: item.total.toString()
|
|
||||||
}
|
|
||||||
onPress={() => select(index)}
|
onPress={() => select(index)}
|
||||||
left={() => (
|
left={() => (
|
||||||
<View
|
<View
|
||||||
|
|
|
@ -160,18 +160,17 @@ export const countToday = async (name: string): Promise<number> => {
|
||||||
};
|
};
|
||||||
|
|
||||||
export const countMany = async (names: string[]): Promise<CountMany[]> => {
|
export const countMany = async (names: string[]): Promise<CountMany[]> => {
|
||||||
const questions = names.map(_ => '?').join(',');
|
const questions = names.map(_ => '(?)').join(',');
|
||||||
console.log({questions, names});
|
console.log({questions, names});
|
||||||
const select = `
|
const select = `
|
||||||
SELECT workouts.name, COUNT(sets.id) as total
|
SELECT workouts.name, COUNT(sets.id) as total
|
||||||
FROM (
|
FROM (select 0 as name union values ${questions}) as workouts
|
||||||
SELECT distinct name FROM sets
|
|
||||||
WHERE name IN (${questions})
|
|
||||||
) workouts
|
|
||||||
LEFT JOIN sets ON sets.name = workouts.name
|
LEFT JOIN sets ON sets.name = workouts.name
|
||||||
AND sets.created LIKE STRFTIME('%Y-%m-%d%%', 'now', 'localtime')
|
AND sets.created LIKE STRFTIME('%Y-%m-%d%%', 'now', 'localtime')
|
||||||
AND NOT sets.hidden
|
AND NOT sets.hidden
|
||||||
GROUP BY workouts.name;
|
GROUP BY workouts.name
|
||||||
|
LIMIT -1
|
||||||
|
OFFSET 1
|
||||||
`;
|
`;
|
||||||
const [result] = await db.executeSql(select, names);
|
const [result] = await db.executeSql(select, names);
|
||||||
return result.rows.raw();
|
return result.rows.raw();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user