diff options
| author | dumpfmprod <dumpfmprod@ubuntu.(none)> | 2010-10-03 07:16:04 -0400 |
|---|---|---|
| committer | dumpfmprod <dumpfmprod@ubuntu.(none)> | 2010-10-03 07:16:04 -0400 |
| commit | 3cf4af29bc9744f34aed362113dd6f158ec19144 (patch) | |
| tree | cc9fedcb41225c85b28978cdf27ccd4d502e950d /src | |
| parent | 4cf2cb77fcbc00bb1100e9d0a25cb52c62ed56b8 (diff) | |
timb: added redis jar
Diffstat (limited to 'src')
| -rw-r--r-- | src/site.clj | 3 | ||||
| -rw-r--r-- | src/tags.clj | 20 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/site.clj b/src/site.clj index f28aae0..c25a18d 100644 --- a/src/site.clj +++ b/src/site.clj @@ -28,7 +28,8 @@ rooms
tags
scheduled-agent
- user))
+ user)
+ (:require redis))
; Create image directories if they don't exist.
(.mkdir (new File *image-directory*))
diff --git a/src/tags.clj b/src/tags.clj index 299328d..01414e9 100644 --- a/src/tags.clj +++ b/src/tags.clj @@ -247,6 +247,21 @@ WHERE EXISTS AND m.user_id = u.user_id AND r.room_id = m.room_id")) +(defnk fetch-dumps-by-message-id-query [:with-tags true :num-messages 1] (str +" SELECT + m.content, m.message_id, m.created_on, + u.nick, u.avatar, r.key" + (if with-tags ", + array_to_string(ARRAY(SELECT nick || ' ' || tag + FROM tags, users + WHERE message_id = m.message_id AND tags.user_id = users.user_id), ' ') as tags " "") +" FROM messages m, users u, rooms r + WHERE + m.message_id IN (" (str-join ", " (take num-messages (repeat "?"))) ") " + " AND m.user_id = u.user_id + AND r.room_id = m.room_id + ORDER BY m.message_id DESC")) + (defnk fetch-dumps-by-tag-query [:image-only true :message-user-id false :tag-user-id false :with-tags true :include-vip false] (str " SELECT @@ -331,6 +346,11 @@ WHERE EXISTS (let [rows (do-select [query (maybe-parse-int m-id -1)])] (first (map parse-tags-from-row-as-tag-map rows))))) +(defn fetch-dumps-by-ids [ids] + (let [query (fetch-dumps-by-message-id-query :num-messages (count ids)) + rows (do-select (vec (concat [query] ids)))] + (map parse-tags-from-row-as-tag-map rows))) + (defnk fetch-altars [:message-id 0 :user-id false :amount *dumps-per-page* :offset 0] (let [message-id (maybe-parse-int message-id 0) abs-m-id (if (neg? message-id) (- message-id) message-id) |
