Re-write CH queries to use query params.

This commit is contained in:
Brian Cao 2023-01-12 00:02:12 -08:00
parent b4bd988e4e
commit 1eb9e10d94
12 changed files with 81 additions and 100 deletions

View file

@ -70,19 +70,19 @@ async function clickhouseQuery(
const { startDate, endDate, column, filters = {}, type } = data;
const { rawQuery, parseFilters, getBetweenDates } = clickhouse;
const website = await cache.fetchWebsite(websiteId);
const params = [
const params = {
websiteId,
website?.revId || 0,
type === 'event' ? EVENT_TYPE.customEvent : EVENT_TYPE.pageView,
];
revId: website?.revId || 0,
eventType: type === 'event' ? EVENT_TYPE.customEvent : EVENT_TYPE.pageView,
};
const { filterQuery } = parseFilters(filters, params);
return rawQuery(
`select ${column} x, count(*) y
from event
where website_id = $1
and rev_id = $2
and event_type = $3
where website_id = {websiteId:UUID}
and rev_id = {revId:UInt32}
and event_type = {eventType:UInt32}
and ${getBetweenDates('created_at', startDate, endDate)}
${filterQuery}
group by x