summaryrefslogtreecommitdiff
path: root/sqlQueries.go
diff options
context:
space:
mode:
authorDaniel Langesten <daniel.langest@gmail.com>2015-03-17 15:39:49 +0100
committerDaniel Langesten <daniel.langest@gmail.com>2015-03-17 15:39:49 +0100
commit79390ad4477dfef9660c40544d5afc23700c4009 (patch)
treeb38027287af5d9e64a2e64859006b59d506c3657 /sqlQueries.go
parentf2233e61c7383bec3100c916821cda703d56b00d (diff)
fixed timezone and scanning
Diffstat (limited to 'sqlQueries.go')
-rw-r--r--sqlQueries.go19
1 files changed, 17 insertions, 2 deletions
diff --git a/sqlQueries.go b/sqlQueries.go
index 52b6b98..f9003a4 100644
--- a/sqlQueries.go
+++ b/sqlQueries.go
@@ -52,6 +52,10 @@ func fetchRawData(db *sql.DB, tim time.Time, limit int) (rDat []rawData, err err
}
loc, err := time.LoadLocation(TIMEZONE)
+ if err != nil {
+ log.Println("Couldn't load timezone")
+ return
+ }
for rows.Next() {
var r rawData
var tim []byte
@@ -201,20 +205,31 @@ func privatizeCleaned(db *sql.DB, t time.Time, conf Config) (err error) {
return
}
+ loc, err := time.LoadLocation(TIMEZONE)
+ if err != nil {
+ log.Println("Couldn't load timezone")
+ return
+ }
var cd cleanedData
for rows.Next() {
- err = rows.Scan(&cd.ipbSrc, &cd.ipbDst, &cd.asSrc, &cd.asDst, &cd.portSrc, &cd.portDst, &cd.volume, &cd.time, &cd.occurences)
+ var tim []byte
+ err = rows.Scan(&cd.ipbSrc, &cd.ipbDst, &cd.asSrc, &cd.asDst, &cd.portSrc, &cd.portDst, &cd.volume, &tim, &cd.occurences)
if err != nil {
log.Println("Failed to scan row")
return
}
+ cd.time, err = time.ParseInLocation("2006-01-02 15:04:05", string(tim), loc)
+ if err != nil {
+ log.Println("Failed to parse timestamp")
+ return
+ }
// Add differential privacy noise
cd.occurences = diffpriv(cd.occurences, 1, conf.Epsilon)
// Update the entry
_, err := update.Exec(cd.occurences, time.Now(), cd.ipbSrc, cd.ipbDst, cd.asSrc, cd.asDst, cd.portSrc, cd.portDst, cd.volume, cd.time)
if err != nil {
- log.Println(err)
+ log.Println("Failed to update an entry:", err)
}
}
return