1// Package models contains the types for schema 'public'. 2package models 3 4// Code generated by xo. DO NOT EDIT. 5 6// Counters represents a row from '[custom counters]'. 7type Counters struct { 8 Datname Name // datname 9 Numbackends int // numbackends 10 XactCommit int64 // xact_commit 11 XactRollback int64 // xact_rollback 12 BlksRead int64 // blks_read 13 BlksHit int64 // blks_hit 14 TupReturned int64 // tup_returned 15 TupFetched int64 // tup_fetched 16 TupInserted int64 // tup_inserted 17 TupUpdated int64 // tup_updated 18 TupDeleted int64 // tup_deleted 19 Conflicts int64 // conflicts 20 TempFiles int64 // temp_files 21 TempBytes int64 // temp_bytes 22 Deadlocks int64 // deadlocks 23} 24 25// GetCounters runs a custom query, returning results as Counters. 26func GetCounters(db XODB) ([]*Counters, error) { 27 var err error 28 29 // sql query 30 sqlstr := `SELECT COALESCE(datname, '') datname, numbackends, xact_commit, xact_rollback, ` + 31 `blks_read, blks_hit, tup_returned, tup_fetched, tup_inserted, ` + 32 `tup_updated, tup_deleted, conflicts, temp_files, ` + 33 `temp_bytes, deadlocks ` + 34 `FROM pg_stat_database ` + 35 `ORDER BY datname` 36 37 // run query 38 XOLog(sqlstr) 39 q, err := db.Query(sqlstr) 40 if err != nil { 41 return nil, err 42 } 43 defer q.Close() 44 45 // load results 46 res := []*Counters{} 47 for q.Next() { 48 c := Counters{} 49 50 // scan 51 err = q.Scan(&c.Datname, &c.Numbackends, &c.XactCommit, &c.XactRollback, &c.BlksRead, &c.BlksHit, &c.TupReturned, &c.TupFetched, &c.TupInserted, &c.TupUpdated, &c.TupDeleted, &c.Conflicts, &c.TempFiles, &c.TempBytes, &c.Deadlocks) 52 if err != nil { 53 return nil, err 54 } 55 56 res = append(res, &c) 57 } 58 59 return res, nil 60} 61