From 6ef6050a854cb9a20bef8005a5f2a8463374ef17 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期二, 06 八月 2019 17:05:34 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.14:10010/r/syncdb
---
dbself.go | 78 +++++++++++++++++++++++----------------
1 files changed, 46 insertions(+), 32 deletions(-)
diff --git a/dbself.go b/dbself.go
index f6cb6e5..70b7024 100644
--- a/dbself.go
+++ b/dbself.go
@@ -10,45 +10,47 @@
"sync"
)
-var Dbconn *Conn
-var sy sync.Mutex
+const (
+ PersonSqliteDBPath = "~/workspace/gitblit/dbserver/config/testdb.db"
+)
-func init() {
- GetConn()
-}
+var syncMut sync.Mutex
+var SerfDbConn *Conn
// get Conn of db for do execute.
-func GetConn() error {
- var err error
- path, err := GetCurrentPath()
- if err != nil {
- return errors.New("get current path error")
+func InitDbConn(dbPath string) error {
+
+ if dbPath == "" {
+ dbPath = PersonSqliteDBPath
}
- filepath := fmt.Sprintf("%stest.db", path)
- fmt.Println("self: ========>", filepath)
- db, err := New(filepath, "", false)
+ fmt.Println("self: ========>", dbPath)
+ db, err := New(dbPath, "", false)
if err != nil {
fmt.Println("new db database: ", err)
return err
}
- Dbconn, err = db.Connect()
+ dbConn, err := db.Connect()
if err != nil {
fmt.Println("new db conn error; ", err)
return err
}
+
+ SerfDbConn = dbConn
return nil
}
//bak dbdata.
func BakDbFile() (string, error) {
- path, err := GetCurrentPath()
+ path, err := getCurrentPath()
if err != nil {
- return "", errors.New("get current path error")
+ fmt.Println("getCurrentPath error; ", err)
+ return "", err
}
- filepath := fmt.Sprintf("%stmptest.db", path)
+ filepath := path + "tmp.db"
+ fmt.Println("filepath:", filepath)
db, err := New(filepath, "", false)
if err != nil {
fmt.Println("new db database: ", err)
@@ -62,7 +64,7 @@
}
defer tmpconn.Close()
- err = Dbconn.Backup(tmpconn)
+ err = SerfDbConn.Backup(tmpconn)
if err != nil {
return "", err
}
@@ -70,10 +72,10 @@
}
// do exet when get querystring.
-func DoExecute(executestring []string) ([]*Result, error) {
- sy.Lock()
- defer sy.Unlock()
- allResults, err := Dbconn.Execute(executestring, false, false)
+func ExecuteWriteSql(sqlString []string) ([]*Result, error) {
+ syncMut.Lock()
+ defer syncMut.Unlock()
+ allResults, err := SerfDbConn.Execute(sqlString, false, false)
if err != nil {
fmt.Println("execute error!", err)
return nil, err
@@ -81,8 +83,29 @@
return allResults, nil
}
+// do exet when get querystring.
+func ExecuteQuerySql(sqlString []string) ([]*Rows, error) {
+ syncMut.Lock()
+ defer syncMut.Unlock()
+ rows, err := SerfDbConn.Query(sqlString, false, false)
+ if err != nil {
+ fmt.Println("execute error!", err)
+ return nil, err
+ }
+ return rows, nil
+}
+
+func Dumpdb() {
+
+ var b strings.Builder
+ if err := SerfDbConn.Dump(&b); err != nil {
+ fmt.Println("dump file ", err.Error())
+ }
+ fmt.Printf("%T\n", b)
+}
+
// get current path
-func GetCurrentPath() (string, error) {
+func getCurrentPath() (string, error) {
file, err := exec.LookPath(os.Args[0])
if err != nil {
return "", err
@@ -99,13 +122,4 @@
return "", errors.New(`error: Can't find "/" or "\".`)
}
return string(path[0 : i+1]), nil
-}
-
-func Dumpdb() {
-
- var b strings.Builder
- if err := Dbconn.Dump(&b); err != nil {
- fmt.Println("dump file ", err.Error())
- }
- fmt.Printf("%T\n", b)
}
--
Gitblit v1.8.0