diff options
-rw-r--r-- | CacheDatabase.go | 49 | ||||
-rw-r--r-- | main.go | 2 |
2 files changed, 27 insertions, 24 deletions
diff --git a/CacheDatabase.go b/CacheDatabase.go index 93b3443..29bd4a0 100644 --- a/CacheDatabase.go +++ b/CacheDatabase.go @@ -278,37 +278,40 @@ func WriteObjectReplyToCache(db *sql.DB, obj ObjectBase) { } func WriteObjectReplyCache(db *sql.DB, obj ObjectBase) { - - for _, e := range obj.Replies.OrderedItems { - query := `select inreplyto from cachereplies where id=$1` + if obj.Replies != nil { + for _, e := range obj.Replies.OrderedItems { - rows, err := db.Query(query, obj.Id) + query := `select inreplyto from cachereplies where id=$1` - CheckError(err, "error selecting obj id cache reply") + rows, err := db.Query(query, obj.Id) - var inreplyto string - defer rows.Close() - rows.Next() - rows.Scan(&inreplyto) + CheckError(err, "error selecting obj id cache reply") - if inreplyto != "" { - return - } - - query = `insert into cachereplies (id, inreplyto) values ($1, $2)` + var inreplyto string + defer rows.Close() + rows.Next() + rows.Scan(&inreplyto) - _, err = db.Exec(query, e.Id, obj.Id) - - if err != nil{ - fmt.Println("error inserting replies cache") - panic(err) - } + if inreplyto != "" { + return + } + + query = `insert into cachereplies (id, inreplyto) values ($1, $2)` - if !IsObjectLocal(db, e.Id) { - WriteObjectToCache(db, e) - } + _, err = db.Exec(query, e.Id, obj.Id) + + if err != nil{ + fmt.Println("error inserting replies cache") + panic(err) + } + if !IsObjectLocal(db, e.Id) { + WriteObjectToCache(db, e) + } + + } + return } } @@ -1586,7 +1586,7 @@ func GetCollectionFromID(id string) Collection { resp, err := http.DefaultClient.Do(req) if err != nil { - fmt.Println("could not get collection from " + id) + CheckError(err, "could not get collection from " + id) return nColl } |