summaryrefslogtreecommitdiffstats
path: root/store/sql_post_store.go
diff options
context:
space:
mode:
authorenahum <nahumhbl@gmail.com>2016-10-20 11:28:19 -0300
committerHarrison Healey <harrisonmhealey@gmail.com>2016-10-20 10:28:19 -0400
commit162282d42c1be601c30a5bd8f89cca548a1bf9ba (patch)
treea896cd164e3daab93185cacd946b98cbb6656c04 /store/sql_post_store.go
parent2e34d8843e14093880f62a8c3e1075cb0f0bfc8e (diff)
downloadchat-162282d42c1be601c30a5bd8f89cca548a1bf9ba.tar.gz
chat-162282d42c1be601c30a5bd8f89cca548a1bf9ba.tar.bz2
chat-162282d42c1be601c30a5bd8f89cca548a1bf9ba.zip
PLT-4358 Exclude Channels from query when not necessary (#4269)
Diffstat (limited to 'store/sql_post_store.go')
-rw-r--r--store/sql_post_store.go41
1 files changed, 20 insertions, 21 deletions
diff --git a/store/sql_post_store.go b/store/sql_post_store.go
index 44ffb556e..05e298ed3 100644
--- a/store/sql_post_store.go
+++ b/store/sql_post_store.go
@@ -815,15 +815,15 @@ func (s SqlPostStore) AnalyticsUserCountsWithPostsByDay(teamId string) StoreChan
`SELECT DISTINCT
DATE(FROM_UNIXTIME(Posts.CreateAt / 1000)) AS Name,
COUNT(DISTINCT Posts.UserId) AS Value
- FROM Posts
- INNER JOIN Channels
- ON Posts.ChannelId = Channels.Id`
+ FROM Posts`
if len(teamId) > 0 {
- query += " AND Channels.TeamId = :TeamId"
+ query += " INNER JOIN Channels ON Posts.ChannelId = Channels.Id AND Channels.TeamId = :TeamId AND"
+ } else {
+ query += " WHERE"
}
- query += ` AND Posts.CreateAt >= :StartTime AND Posts.CreateAt <= :EndTime
+ query += ` Posts.CreateAt >= :StartTime AND Posts.CreateAt <= :EndTime
GROUP BY DATE(FROM_UNIXTIME(Posts.CreateAt / 1000))
ORDER BY Name DESC
LIMIT 30`
@@ -832,15 +832,15 @@ func (s SqlPostStore) AnalyticsUserCountsWithPostsByDay(teamId string) StoreChan
query =
`SELECT
TO_CHAR(DATE(TO_TIMESTAMP(Posts.CreateAt / 1000)), 'YYYY-MM-DD') AS Name, COUNT(DISTINCT Posts.UserId) AS Value
- FROM Posts
- INNER JOIN Channels
- ON Posts.ChannelId = Channels.Id`
+ FROM Posts`
if len(teamId) > 0 {
- query += " AND Channels.TeamId = :TeamId"
+ query += " INNER JOIN Channels ON Posts.ChannelId = Channels.Id AND Channels.TeamId = :TeamId AND"
+ } else {
+ query += " WHERE"
}
- query += ` AND Posts.CreateAt >= :StartTime AND Posts.CreateAt <= :EndTime
+ query += ` Posts.CreateAt >= :StartTime AND Posts.CreateAt <= :EndTime
GROUP BY DATE(TO_TIMESTAMP(Posts.CreateAt / 1000))
ORDER BY Name DESC
LIMIT 30`
@@ -877,16 +877,15 @@ func (s SqlPostStore) AnalyticsPostCountsByDay(teamId string) StoreChannel {
`SELECT
DATE(FROM_UNIXTIME(Posts.CreateAt / 1000)) AS Name,
COUNT(Posts.Id) AS Value
- FROM Posts
- INNER JOIN Channels
- ON
- Posts.ChannelId = Channels.Id`
+ FROM Posts`
if len(teamId) > 0 {
- query += " AND Channels.TeamId = :TeamId"
+ query += " INNER JOIN Channels ON Posts.ChannelId = Channels.Id AND Channels.TeamId = :TeamId AND"
+ } else {
+ query += " WHERE"
}
- query += ` AND Posts.CreateAt <= :EndTime
+ query += ` Posts.CreateAt <= :EndTime
AND Posts.CreateAt >= :StartTime
GROUP BY DATE(FROM_UNIXTIME(Posts.CreateAt / 1000))
ORDER BY Name DESC
@@ -896,15 +895,15 @@ func (s SqlPostStore) AnalyticsPostCountsByDay(teamId string) StoreChannel {
query =
`SELECT
TO_CHAR(DATE(TO_TIMESTAMP(Posts.CreateAt / 1000)), 'YYYY-MM-DD') AS Name, Count(Posts.Id) AS Value
- FROM Posts
- INNER JOIN Channels
- ON Posts.ChannelId = Channels.Id`
+ FROM Posts`
if len(teamId) > 0 {
- query += " AND Channels.TeamId = :TeamId"
+ query += " INNER JOIN Channels ON Posts.ChannelId = Channels.Id AND Channels.TeamId = :TeamId AND"
+ } else {
+ query += " WHERE"
}
- query += ` AND Posts.CreateAt <= :EndTime
+ query += ` Posts.CreateAt <= :EndTime
AND Posts.CreateAt >= :StartTime
GROUP BY DATE(TO_TIMESTAMP(Posts.CreateAt / 1000))
ORDER BY Name DESC