From 8819911f0b5289294fc764aba18544f96358a47c Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期六, 19 九月 2020 10:58:41 +0800
Subject: [PATCH] fix logSql has '

---
 agent.go |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/agent.go b/agent.go
index 055d1d6..36f968f 100644
--- a/agent.go
+++ b/agent.go
@@ -36,6 +36,7 @@
 	"basic.com/valib/serf.git/cmd/serf/command/agent"
 	//"github.com/apache/servicecomb-service-center/pkg/log"
 	"basic.com/valib/logger.git"
+	"github.com/satori/go.uuid"
 )
 
 const (
@@ -139,9 +140,9 @@
 				go func() {
 					flag, e := ExecuteSqlByGorm(sqlUe.Sql)
 					logger.Info("ev.LTime:",ev.LTime,"userEvent exec ",sqlUe.Sql,",Result:",flag,", err:",e)
-					logId := strconv.Itoa(int(ev.LTime))
+					logLT := strconv.Itoa(int(ev.LTime))
 					logT := time.Now().Format("2006-01-02 15:04:05")
-					logSql := strings.Join(sqlUe.Sql, ";")
+					logSql := strings.ReplaceAll(strings.Join(sqlUe.Sql, ";"), "'", "''")
 					logResult := "0"
 					if flag {
 						logResult = "1"
@@ -150,7 +151,7 @@
 					if e != nil {
 						logErr = e.Error()
 					}
-					ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+logId+"','"+logT+"','"+logSql+"','"+sqlUe.Owner+"',"+logResult+",'"+logErr+"')"})
+					ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`lTime`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+uuid.NewV4().String()+"','"+ logLT +"','"+logT+"','"+logSql+"','"+sqlUe.Owner+"',"+logResult+",'"+logErr+"')"})
 				}()
 			}
 		} else if ev.Name == UserEventSyncDbTablePersonCache {
@@ -248,9 +249,9 @@
 					addr := targetNode.Addr.String() + ":" + strconv.Itoa(TcpTransportPort)
 					sendErr := rawSendTcpMsg(addr, bytesReturn)
 
-					logId := strconv.Itoa(int(ev.LTime))
+					logLT := strconv.Itoa(int(ev.LTime))
 					logT := time.Now().Format("2006-01-02 15:04:05")
-					logSql := "QueryEventUpdateDBData from "+targetNode.Name
+					logSql := strings.ReplaceAll("QueryEventUpdateDBData from "+targetNode.Name,"'","''")
 					logResult := "0"
 					logErr := ""
 					if sendErr ==nil {
@@ -262,7 +263,7 @@
 					}
 
 
-					ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+logId+"','"+logT+"','"+logSql+"','"+targetNode.Name+"',"+logResult+",'"+logErr+"')"})
+					ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`lTime`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+uuid.NewV4().String()+"','"+ logLT +"','"+logT+"','"+logSql+"','"+targetNode.Name+"',"+logResult+",'"+logErr+"')"})
 				}()
 			} else {
 				logger.Debug("targetNode is nil")
@@ -283,9 +284,9 @@
 				flag,e := ExecuteSqlByGorm([]string{ leaveSql })
 
 				logger.Info("EventMemberLeave,current Members:",ev.Members)
-				logId := ""
+				logLT := ""
 				logT := time.Now().Format("2006-01-02 15:04:05")
-				logSql := leaveSql
+				logSql := strings.ReplaceAll(leaveSql, "'","''")
 				logResult := "0"
 				if flag {
 					logResult = "1"
@@ -294,7 +295,7 @@
 				if e != nil {
 					logErr = e.Error()
 				}
-				ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+logId+"','"+logT+"','"+logSql+"','"+leaveMember.Name+"',"+logResult+",'"+logErr+"')"})
+				ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`lTime`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+uuid.NewV4().String()+"','"+ logLT +"','"+logT+"','"+logSql+"','"+leaveMember.Name+"',"+logResult+",'"+logErr+"')"})
 			}
 			return
 		} else if event.EventType() == serf.EventMemberJoin {
@@ -304,9 +305,9 @@
 				flag,e := ExecuteSqlByGorm([]string{joinSql})
 
 				logger.Info("EventMemberJoin,current Members:",ev.Members)
-				logId := ""
+				logLT := ""
 				logT := time.Now().Format("2006-01-02 15:04:05")
-				logSql := joinSql
+				logSql := strings.ReplaceAll(joinSql, "'", "''")
 				logResult := "0"
 				if flag {
 					logResult = "1"
@@ -315,7 +316,7 @@
 				if e != nil {
 					logErr = e.Error()
 				}
-				ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+logId+"','"+logT+"','"+logSql+"','"+leaveMember.Name+"',"+logResult+",'"+logErr+"')"})
+				ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`lTime`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+uuid.NewV4().String()+"','"+ logLT +"','"+logT+"','"+logSql+"','"+leaveMember.Name+"',"+logResult+",'"+logErr+"')"})
 			}
 			return
 		}

--
Gitblit v1.8.0