MCPcopy
hub / github.com/mathaou/termdbms / Update

Method Update

database/sqlite.go:15–47  ·  view source on GitHub ↗
(q *Update)

Source from the content-addressed store, hash-verified

13}
14
15func (db *SQLite) Update(q *Update) {
16 protoQuery, columnOrder := db.GenerateQuery(q)
17 values := make([]interface{}, len(columnOrder))
18 updateValues := q.GetValues()
19 for i, v := range columnOrder {
20 var u interface{}
21 if i == 0 {
22 u = q.Update
23 } else {
24 u = updateValues[v]
25 }
26
27 if u == nil {
28 u = "NULL"
29 }
30
31 values[i] = u
32 }
33 tx, err := db.GetDatabaseReference().Begin()
34 if err != nil {
35 log.Fatal(err)
36 }
37 stmt, err := tx.Prepare(protoQuery)
38 if err != nil {
39 log.Fatal(err)
40 }
41 defer stmt.Close()
42 stmt.Exec(values...)
43 err = tx.Commit()
44 if err != nil {
45 log.Fatal(err)
46 }
47}
48
49func (db *SQLite) GetFileName() string {
50 return db.FileName

Callers

nothing calls this directly

Calls 3

GenerateQueryMethod · 0.95
GetDatabaseReferenceMethod · 0.95
GetValuesMethod · 0.65

Tested by

no test coverage detected