aboutsummaryrefslogtreecommitdiff
path: root/CacheDatabase.go
diff options
context:
space:
mode:
Diffstat (limited to 'CacheDatabase.go')
-rw-r--r--CacheDatabase.go49
1 files changed, 26 insertions, 23 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
}
}