summaryrefslogtreecommitdiff
path: root/src/hub/src/spreadspace.org/sfive/s5store.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/hub/src/spreadspace.org/sfive/s5store.go')
-rw-r--r--src/hub/src/spreadspace.org/sfive/s5store.go43
1 files changed, 4 insertions, 39 deletions
diff --git a/src/hub/src/spreadspace.org/sfive/s5store.go b/src/hub/src/spreadspace.org/sfive/s5store.go
index 6aa3be8..306cd1b 100644
--- a/src/hub/src/spreadspace.org/sfive/s5store.go
+++ b/src/hub/src/spreadspace.org/sfive/s5store.go
@@ -2,7 +2,7 @@ package sfive
import (
"database/sql"
- "time"
+ //"time"
_ "github.com/mattn/go-sqlite3"
@@ -113,11 +113,12 @@ func insertAnd(needsAnd *bool) (res string) {
}
func getFilteredDataUpdateSelect(filter *StatsFilter) (string, map[string]interface{}) {
+ const baseQuery = "(select * from " + dataUpdatesTn + "," + sourcesTn + " on " + dataUpdatesTn + ".SourceId = " + sourcesTn + ".Id"
if isEmptyFilter(filter) {
- return dataUpdatesTn, nil
+ return baseQuery + ")", nil
}
- query := "(select * from " + dataUpdatesTn + " outer join " + sourcesTn + " on " + dataUpdatesTn + ".SourceId = " + sourcesTn + ".Id where"
+ query := baseQuery + " where"
parameters := make(map[string]interface{})
needsAnd := false
@@ -359,42 +360,6 @@ func getBpsStatsSql() string {
return "sum(BytesSent) as BytesSent, sum(BytesReceived) as BytesReceived, min(StartTime) as StartTime, max(StartTime) as LastStartTime"
}
-func (s sqliteStore) CountUpdateEntries(filter *StatsFilter) (count int64, err error) {
- sourceSql, parameters := getFilteredDataUpdateSelect(filter)
- count, err = s.db.SelectInt("select "+getCountEntriesSql()+" from "+sourceSql, parameters)
- return
-}
-
-func (s sqliteStore) CountClients(filter *StatsFilter) int {
- sourceSql, parameters := getFilteredDataUpdateSelect(filter)
- count, err := s.db.SelectInt("select "+getClientCountSql()+" from "+sourceSql, parameters)
- if err != nil {
- s5l.Printf("CountClients: %v", err)
- return -1
- }
- return int(count)
-}
-
-type bpsQueryResult struct {
- BytesSent uint
- BytesReceived uint
- StartTime time.Time
- LastStartTime time.Time
-}
-
-func (s sqliteStore) GetAverageBps(filter *StatsFilter) (uint, error) {
- sourceSql, parameters := getFilteredDataUpdateSelect(filter)
- res := bpsQueryResult{}
- err := s.db.SelectOne(
- res,
- "select "+getBpsStatsSql()+" from "+sourceSql, parameters)
- if err == nil {
- bps := (res.BytesSent + res.BytesReceived) / uint(res.StartTime.Sub(res.LastStartTime).Seconds())
- return bps, nil
- }
- return 0, err
-}
-
type statsResult struct {
UpdateCount *int
ClientCount *float32