From 7e00be16624379c75ec377865fbf69c2f7f90c31 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Wed, 3 Apr 2024 22:48:57 -0700 Subject: [PATCH 1/2] remove unneccessary website join --- src/queries/analytics/getWebsiteStats.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/queries/analytics/getWebsiteStats.ts b/src/queries/analytics/getWebsiteStats.ts index c5d010db..bc006a2e 100644 --- a/src/queries/analytics/getWebsiteStats.ts +++ b/src/queries/analytics/getWebsiteStats.ts @@ -43,10 +43,8 @@ async function relationalQuery( min(website_event.created_at) as "min_time", max(website_event.created_at) as "max_time" from website_event - join website - on website_event.website_id = website.website_id ${joinSession} - where website.website_id = {{websiteId::uuid}} + where website_event.website_id = {{websiteId::uuid}} and website_event.created_at between {{startDate}} and {{endDate}} and event_type = {{eventType}} ${filterQuery} From 8a92cd9bcfc0ede04c68af471ef8682b3818af5d Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Fri, 5 Apr 2024 12:21:54 -0700 Subject: [PATCH 2/2] fix case sensitivity for psql getValues --- src/lib/prisma.ts | 8 ++++++++ src/queries/analytics/getValues.ts | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lib/prisma.ts b/src/lib/prisma.ts index c35e0cde..c5e16ddc 100644 --- a/src/lib/prisma.ts +++ b/src/lib/prisma.ts @@ -93,6 +93,13 @@ function getTimestampDiffQuery(field1: string, field2: string): string { } } +function getSearchQuery(column: string): string { + const db = getDatabaseType(); + const like = db === POSTGRESQL ? 'ilike' : 'like'; + + return `and ${column} ${like} {{search}}`; +} + function mapFilter(column: string, operator: string, name: string, type: string = '') { const db = getDatabaseType(); const like = db === POSTGRESQL ? 'ilike' : 'like'; @@ -253,6 +260,7 @@ export default { getFilterQuery, getSearchParameters, getTimestampDiffQuery, + getSearchQuery, getQueryMode, pagedQuery, parseFilters, diff --git a/src/queries/analytics/getValues.ts b/src/queries/analytics/getValues.ts index 572fbac2..7cd34994 100644 --- a/src/queries/analytics/getValues.ts +++ b/src/queries/analytics/getValues.ts @@ -18,11 +18,11 @@ async function relationalQuery( endDate: Date, search: string, ) { - const { rawQuery } = prisma; + const { rawQuery, getSearchQuery } = prisma; let searchQuery = ''; if (search) { - searchQuery = `and ${column} LIKE {{search}}`; + searchQuery = getSearchQuery(column); } return rawQuery(