mirror of
https://github.com/kremalicious/umami.git
synced 2024-11-16 02:05:04 +01:00
fix mysql retention query
This commit is contained in:
parent
a16b0cef3a
commit
495b7f1f20
@ -43,7 +43,19 @@ function getDayDiffQuery(field1: string, field2: string): string {
|
||||
}
|
||||
|
||||
if (db === MYSQL) {
|
||||
return `DATEDIFF(${field1}, ${field2});`;
|
||||
return `DATEDIFF(${field1}, ${field2})`;
|
||||
}
|
||||
}
|
||||
|
||||
function getCastColumnQuery(field: string, type: string): string {
|
||||
const db = getDatabaseType(process.env.DATABASE_URL);
|
||||
|
||||
if (db === POSTGRESQL) {
|
||||
return `${field}::${type}`;
|
||||
}
|
||||
|
||||
if (db === MYSQL) {
|
||||
return `${field}`;
|
||||
}
|
||||
}
|
||||
|
||||
@ -206,6 +218,7 @@ export default {
|
||||
...prisma,
|
||||
getAddMinutesQuery,
|
||||
getDayDiffQuery,
|
||||
getCastColumnQuery,
|
||||
getDateQuery,
|
||||
getTimestampIntervalQuery,
|
||||
getFilterQuery,
|
||||
|
@ -33,7 +33,7 @@ async function relationalQuery(
|
||||
}[]
|
||||
> {
|
||||
const { startDate, endDate } = dateRange;
|
||||
const { getDateQuery, getDayDiffQuery, rawQuery } = prisma;
|
||||
const { getDateQuery, getDayDiffQuery, getCastColumnQuery, rawQuery } = prisma;
|
||||
const timezone = 'utc';
|
||||
const unit = 'day';
|
||||
|
||||
@ -49,10 +49,10 @@ async function relationalQuery(
|
||||
user_activities AS (
|
||||
select distinct
|
||||
w.session_id,
|
||||
(${getDayDiffQuery(
|
||||
${getDayDiffQuery(
|
||||
getDateQuery('created_at', unit, timezone),
|
||||
'c.cohort_date',
|
||||
)}) as day_number
|
||||
)} as day_number
|
||||
from website_event w
|
||||
join cohort_items c
|
||||
on w.session_id = c.session_id
|
||||
@ -81,7 +81,7 @@ async function relationalQuery(
|
||||
c.day_number as day,
|
||||
s.visitors,
|
||||
c.visitors as "returnVisitors",
|
||||
c.visitors::float * 100 / s.visitors as percentage
|
||||
${getCastColumnQuery('c.visitors', 'float')} * 100 / s.visitors as percentage
|
||||
from cohort_date c
|
||||
join cohort_size s
|
||||
on c.cohort_date = s.cohort_date
|
||||
@ -92,7 +92,9 @@ async function relationalQuery(
|
||||
startDate,
|
||||
endDate,
|
||||
},
|
||||
);
|
||||
).then(results => {
|
||||
return results.map(i => ({ ...i, percentage: Number(i.percentage) || 0 }));
|
||||
});
|
||||
}
|
||||
|
||||
async function clickhouseQuery(
|
||||
|
Loading…
Reference in New Issue
Block a user