From 2f64d56771d437a1bc1f3ab0717af2942c4a0ed9 Mon Sep 17 00:00:00 2001 From: Danny van Kooten Date: Wed, 10 Oct 2018 09:30:52 +0200 Subject: [PATCH] alter stats table constraints to take site_id column into consideration --- pkg/aggregator/store.go | 1 - .../10_alter_stats_table_constraints.sql | 19 +++++++++++++++++++ .../11_alter_stats_table_constraints.sql | 19 +++++++++++++++++++ .../10_alter_stats_table_constraints.sql | 19 +++++++++++++++++++ 4 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 pkg/datastore/sqlstore/migrations/mysql/10_alter_stats_table_constraints.sql create mode 100644 pkg/datastore/sqlstore/migrations/postgres/11_alter_stats_table_constraints.sql create mode 100644 pkg/datastore/sqlstore/migrations/sqlite3/10_alter_stats_table_constraints.sql diff --git a/pkg/aggregator/store.go b/pkg/aggregator/store.go index 80903f6..a01076c 100644 --- a/pkg/aggregator/store.go +++ b/pkg/aggregator/store.go @@ -10,7 +10,6 @@ import ( ) func (agg *Aggregator) getSiteStats(r *results, siteID int64, t time.Time) (*models.SiteStats, error) { - // get from map cacheKey := fmt.Sprintf("%d-%s", siteID, t.Format("2006-01-02")) if stats, ok := r.Sites[cacheKey]; ok { return stats, nil diff --git a/pkg/datastore/sqlstore/migrations/mysql/10_alter_stats_table_constraints.sql b/pkg/datastore/sqlstore/migrations/mysql/10_alter_stats_table_constraints.sql new file mode 100644 index 0000000..05d1617 --- /dev/null +++ b/pkg/datastore/sqlstore/migrations/mysql/10_alter_stats_table_constraints.sql @@ -0,0 +1,19 @@ +-- +migrate Up + +DROP INDEX IF EXISTS unique_daily_site_stats; +DROP INDEX IF EXISTS unique_daily_page_stats; +DROP INDEX IF EXISTS unique_daily_referrer_stats; + +CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(site_id, date); +CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(site_id, hostname, pathname, date); +CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(site_id, hostname, pathname, date); + +-- +migrate Down + +DROP INDEX IF EXISTS unique_daily_site_stats; +DROP INDEX IF EXISTS unique_daily_page_stats; +DROP INDEX IF EXISTS unique_daily_referrer_stats; + +CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(date); +CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(hostname, pathname, date); +CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(hostname, pathname, date); \ No newline at end of file diff --git a/pkg/datastore/sqlstore/migrations/postgres/11_alter_stats_table_constraints.sql b/pkg/datastore/sqlstore/migrations/postgres/11_alter_stats_table_constraints.sql new file mode 100644 index 0000000..05d1617 --- /dev/null +++ b/pkg/datastore/sqlstore/migrations/postgres/11_alter_stats_table_constraints.sql @@ -0,0 +1,19 @@ +-- +migrate Up + +DROP INDEX IF EXISTS unique_daily_site_stats; +DROP INDEX IF EXISTS unique_daily_page_stats; +DROP INDEX IF EXISTS unique_daily_referrer_stats; + +CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(site_id, date); +CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(site_id, hostname, pathname, date); +CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(site_id, hostname, pathname, date); + +-- +migrate Down + +DROP INDEX IF EXISTS unique_daily_site_stats; +DROP INDEX IF EXISTS unique_daily_page_stats; +DROP INDEX IF EXISTS unique_daily_referrer_stats; + +CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(date); +CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(hostname, pathname, date); +CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(hostname, pathname, date); \ No newline at end of file diff --git a/pkg/datastore/sqlstore/migrations/sqlite3/10_alter_stats_table_constraints.sql b/pkg/datastore/sqlstore/migrations/sqlite3/10_alter_stats_table_constraints.sql new file mode 100644 index 0000000..05d1617 --- /dev/null +++ b/pkg/datastore/sqlstore/migrations/sqlite3/10_alter_stats_table_constraints.sql @@ -0,0 +1,19 @@ +-- +migrate Up + +DROP INDEX IF EXISTS unique_daily_site_stats; +DROP INDEX IF EXISTS unique_daily_page_stats; +DROP INDEX IF EXISTS unique_daily_referrer_stats; + +CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(site_id, date); +CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(site_id, hostname, pathname, date); +CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(site_id, hostname, pathname, date); + +-- +migrate Down + +DROP INDEX IF EXISTS unique_daily_site_stats; +DROP INDEX IF EXISTS unique_daily_page_stats; +DROP INDEX IF EXISTS unique_daily_referrer_stats; + +CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(date); +CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(hostname, pathname, date); +CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(hostname, pathname, date); \ No newline at end of file