diff --git a/lib/queries.js b/lib/queries.js index 4317d5f48c..b44487c023 100644 --- a/lib/queries.js +++ b/lib/queries.js @@ -14,24 +14,12 @@ export function getDatabase() { return type; } -export function getDateStringQuery(data, unit) { - const db = getDatabase(); - - if (db === POSTGRESQL) { - return `to_char(${data}, '${POSTGRESQL_DATE_FORMATS[unit]}')`; - } - - if (db === MYSQL) { - return `DATE_FORMAT(${data}, '${MYSQL_DATE_FORMATS[unit]}')`; - } -} - export function getDateQuery(field, unit, timezone) { const db = getDatabase(); if (db === POSTGRESQL) { if (timezone) { - return `date_trunc('${unit}', ${field} at time zone '${timezone}')`; + return `to_char(date_trunc('${unit}', ${field} at time zone '${timezone}'), '${POSTGRESQL_DATE_FORMATS[unit]}')`; } return `date_trunc('${unit}', ${field})`; } @@ -40,7 +28,7 @@ export function getDateQuery(field, unit, timezone) { if (timezone) { const tz = moment.tz(timezone).format('Z'); - return `convert_tz(${field},'+00:00','${tz}')`; + return `date_format(convert_tz(${field},'+00:00','${tz}', '${MYSQL_DATE_FORMATS[unit]}')`; } return `${field}`; diff --git a/queries/analytics/event/getEventMetrics.js b/queries/analytics/event/getEventMetrics.js index 1bbc3cac25..b0ec87b464 100644 --- a/queries/analytics/event/getEventMetrics.js +++ b/queries/analytics/event/getEventMetrics.js @@ -1,4 +1,4 @@ -import { getDateQuery, getDateStringQuery, getFilterQuery, rawQuery } from 'lib/queries'; +import { getDateQuery, getFilterQuery, rawQuery } from 'lib/queries'; export function getEventMetrics( website_id, @@ -14,7 +14,7 @@ export function getEventMetrics( ` select event_value x, - ${getDateStringQuery(getDateQuery('created_at', unit, timezone), unit)} t, + ${getDateQuery('created_at', unit, timezone)} t, count(*) y from event where website_id=$1 diff --git a/queries/analytics/pageview/getPageviewStats.js b/queries/analytics/pageview/getPageviewStats.js index 1ddcd6f8d5..c4b9ef23de 100644 --- a/queries/analytics/pageview/getPageviewStats.js +++ b/queries/analytics/pageview/getPageviewStats.js @@ -1,4 +1,4 @@ -import { parseFilters, rawQuery, getDateQuery, getDateStringQuery } from 'lib/queries'; +import { parseFilters, rawQuery, getDateQuery } from 'lib/queries'; export function getPageviewStats( website_id, @@ -20,7 +20,7 @@ export function getPageviewStats( return rawQuery( ` select - ${getDateStringQuery('g.t', unit)} as t, + g.t as t, g.y as y from (select ${getDateQuery('pageview.created_at', unit, timezone)} t,