From 22ee0829d5ce9508d74d20abae3e06583e3d1820 Mon Sep 17 00:00:00 2001 From: Daniel Langesten Date: Tue, 17 Mar 2015 11:48:08 +0100 Subject: added check so we know if we can add differential privacy to the cleaned data. --- main.go | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 84a3559..027867a 100644 --- a/main.go +++ b/main.go @@ -34,23 +34,27 @@ func main() { } */ starttime := time.Now() - err = cleanData(conf, DATABASE_USER, DATABASE_PASS, DATABASE_CONNECTION, DATABASE_NAME) + numOfRowsNotCleaned, err := cleanData(conf, DATABASE_USER, DATABASE_PASS, DATABASE_CONNECTION, DATABASE_NAME) if err != nil { log.Println(err) } - db, err := sql.Open("mysql", DATABASE_USER+":"+DATABASE_PASS+"@"+DATABASE_CONNECTION+"/"+DATABASE_NAME) - if err != nil { - log.Println("Failed to connect to db") - return - } - defer db.Close() - ival, err := conf.getInterval() - if err != nil { - log.Println("erronous interval in conf prevents the privatization of data") - return + // If either all rows are processed or if there is no limit for the processing + // we can safely add noise to the cleaned data + if numOfRowsNotCleaned == 0 || conf.Limit == 0 { + db, err := sql.Open("mysql", DATABASE_USER+":"+DATABASE_PASS+"@"+DATABASE_CONNECTION+"/"+DATABASE_NAME) + if err != nil { + log.Println("Failed to connect to db") + return + } + defer db.Close() + ival, err := conf.getInterval() + if err != nil { + log.Println("erronous interval in conf prevents the privatization of data") + return + } + privatizeCleaned(db, starttime.Add(-2*ival), conf) } - privatizeCleaned(db, starttime.Add(-2*ival), conf) } //Starts a process that reads from stdin and -- cgit v1.1