From 3cf4af29bc9744f34aed362113dd6f158ec19144 Mon Sep 17 00:00:00 2001 From: dumpfmprod Date: Sun, 3 Oct 2010 07:16:04 -0400 Subject: timb: added redis jar --- src/site.clj | 3 ++- src/tags.clj | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) (limited to 'src') 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) -- cgit v1.2.3-70-g09d2