-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdjondb_connection.go
118 lines (97 loc) · 2.93 KB
/
djondb_connection.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package djondbgo
import (
"fmt"
)
type DjondbConnection struct {
host string
port int
cmd Command
net Network
}
func (con *DjondbConnection) checkError(cmd *Command) (err error) {
if con.cmd.resultCode > 0 {
err = fmt.Errorf("Error (err error) { %d, Message (err error) { %s", con.cmd.resultCode, con.cmd.resultMessage)
}
return
}
func CreateConnection(host string, port int) (DjondbConnection) {
con := &DjondbConnection{}
con.host = host
con.port = port
con.cmd = *CreateCommand()
con.net = *CreateNetwork();
return *con
}
func (con *DjondbConnection) Open() (err error) {
con.net.connect(con.host, con.port)
return
}
func (con *DjondbConnection) ShowDbs() (res []string, err error) {
res, err = con.cmd.showDbs(&con.net)
err = con.checkError(&con.cmd)
return
}
func (con *DjondbConnection) ShowNamespaces(db string) (res []string, err error) {
res, _ = con.cmd.showNamespaces(&con.net, db)
err = con.checkError(&con.cmd)
return
}
func (con *DjondbConnection) Insert(db string, ns string, data map[string]interface{}) (err error) {
con.cmd.insert(&con.net, db, ns, data)
err = con.checkError(&con.cmd)
return
}
func (con *DjondbConnection) Update(db string, ns string, data map[string]interface{}) (err error) {
con.cmd.update(&con.net, db, ns, data)
err = con.checkError(&con.cmd)
return
}
func (con *DjondbConnection) Find(db string, ns string, sselect string, filter string) (cur DjondbCursor, err error) {
cur, _ = con.cmd.find(&con.net, db, ns, sselect, filter)
err = con.checkError(&con.cmd)
return
}
func (con *DjondbConnection) DropNamespace(db string, ns string) (err error) {
con.cmd.dropNamespace(&con.net, db, ns)
err = con.checkError(&con.cmd)
return
}
func (con *DjondbConnection) Remove(db string, ns string, id string, revision string) (err error) {
con.cmd.remove(&con.net, db, ns, id, revision)
err = con.checkError(&con.cmd)
return
}
func (con *DjondbConnection) BeginTransaction() (err error) {
con.cmd.beginTransaction()
return
}
func (con *DjondbConnection) CommitTransaction() (err error) {
con.cmd.commitTransaction(&con.net)
err = con.checkError(&con.cmd)
return
}
func (con *DjondbConnection) RollbackTransaction() (err error) {
con.cmd.rollbackTransaction(&con.net)
err = con.checkError(&con.cmd)
return
}
func (con *DjondbConnection) CreateIndex(indexDef map[string]interface{}) (err error) {
con.cmd.createIndex(&con.net, indexDef)
err = con.checkError(&con.cmd)
return
}
func (con *DjondbConnection) ExecuteQuery(query string) (res DjondbCursor, err error) {
res, _ = con.cmd.executeQuery(&con.net, query)
err = con.checkError(&con.cmd)
return
}
func (con *DjondbConnection) ExecuteUpdate(query string) (res bool, err error) {
res, _ = con.cmd.executeUpdate(&con.net, query)
err = con.checkError(&con.cmd)
return
}
func (con *DjondbConnection) Backup(db string, destination string) (err error) {
con.cmd.backup(&con.net, db, destination)
err = con.checkError(&con.cmd)
return
}