From da6430ac01376a4a8e0c3880a74ffda1d2998830 Mon Sep 17 00:00:00 2001 From: bergquist Date: Wed, 25 Oct 2017 09:39:27 +0200 Subject: [PATCH] datasource as cfg: explain why cmd.version can be higher --- pkg/services/sqlstore/datasource.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/services/sqlstore/datasource.go b/pkg/services/sqlstore/datasource.go index 3b4bef61a1d..b4974aa1fdf 100644 --- a/pkg/services/sqlstore/datasource.go +++ b/pkg/services/sqlstore/datasource.go @@ -152,7 +152,11 @@ func UpdateDataSource(cmd *m.UpdateDataSourceCommand) error { var updateSession *xorm.Session if cmd.Version != 0 { - updateSession = sess.Where("id=? and org_id=? and (version = ? or version < ?)", ds.Id, ds.OrgId, cmd.Version, cmd.Version) + // the reason we allow cmd.version > db.version is make it possible for people to force + // updates to datasources using the datasource.yaml file without knowing exactly what version + // a datasource have in the db. + updateSession = sess.Where("id=? and org_id=? and version < ?", ds.Id, ds.OrgId, ds.Version) + } else { updateSession = sess.Where("id=? and org_id=?", ds.Id, ds.OrgId) }