From f4b9b2a40627e8906ec9807c33b93585c1be3c6d Mon Sep 17 00:00:00 2001
From: Sergey Kurt <sergeykurt@outlook.com>
Date: Tue, 21 Mar 2017 13:15:37 +0300
Subject: [PATCH] Better startIndex calculation

---
 queries/query_builders.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/queries/query_builders.go b/queries/query_builders.go
index 7cf753f..2188044 100644
--- a/queries/query_builders.go
+++ b/queries/query_builders.go
@@ -305,12 +305,12 @@ func BuildUpsertQueryMSSQL(dia Dialect, tableName string, primary, update, inser
 	}
 	fmt.Fprint(buf, ")\n")
 
-	startIndex = len(primary) + 1
+	startIndex += len(primary)
 
 	fmt.Fprint(buf, "WHEN MATCHED THEN ")
 	fmt.Fprintf(buf, "UPDATE SET %s\n", strmangle.SetParamNames(string(dia.LQ), string(dia.RQ), startIndex, update))
 
-	startIndex = len(primary) + 1 + len(update)
+	startIndex += len(update)
 
 	fmt.Fprint(buf, "WHEN NOT MATCHED THEN ")
 	fmt.Fprintf(buf, "INSERT (%s) VALUES (%s)",