summaryrefslogtreecommitdiff
path: root/sqlQueries.go
diff options
context:
space:
mode:
Diffstat (limited to 'sqlQueries.go')
-rw-r--r--sqlQueries.go19
1 files changed, 15 insertions, 4 deletions
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