From 114328feccb6ce3dbd16219fc456a34d00f72ec6 Mon Sep 17 00:00:00 2001 From: Daniel Langesten Date: Thu, 12 Mar 2015 12:51:48 +0100 Subject: Added support for how many entries that should be processed at a time. --- sqlQueries.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'sqlQueries.go') diff --git a/sqlQueries.go b/sqlQueries.go index 99a35d2..805248c 100644 --- a/sqlQueries.go +++ b/sqlQueries.go @@ -11,16 +11,27 @@ const ( TIMEZONE = "UTC" ) -//Retrieves all rawdata older than tim -func fetchRawData(db *sql.DB, tim time.Time) (rDat []RawData, err error) { +//Retrieves limit rawdata entries that are older than tim +//limit <= 0 returns all entries that are older than tim +func fetchRawData(db *sql.DB, tim time.Time, limit int) (rDat []RawData, err error) { - prepSel, err := db.Prepare("SELECT ip_src,ip_dst,time,port,packet_size FROM raw_data WHERE time < ?") + var prepSel *sql.Stmt + if limit > 0 { + prepSel, err = db.Prepare("SELECT ip_src,ip_dst,time,port,packet_size FROM raw_data WHERE time < ? LIMIT ?") + } else { + prepSel, err = db.Prepare("SELECT ip_src,ip_dst,time,port,packet_size FROM raw_data WHERE time < ?") + } if err != nil { log.Println("Failed to prepare select") return } - rows, err := prepSel.Query(tim) + var rows *sql.Rows + if limit > 0 { + rows, err = prepSel.Query(tim, limit) + } else { + rows, err = prepSel.Query(tim) + } if err != nil { log.Println("Failed to query prepared selection") return -- cgit v1.1