From 138d07eb978aacf97bd7d127e7195eb8888954d4 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 4 Mar 2019 16:48:07 -0400 Subject: [PATCH] add getContentIdentifiers Changed the database schema for this, with a new index. --- Database/ContentIdentifier.hs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Database/ContentIdentifier.hs b/Database/ContentIdentifier.hs index 64859d1b09..3615adec67 100644 --- a/Database/ContentIdentifier.hs +++ b/Database/ContentIdentifier.hs @@ -41,7 +41,8 @@ ContentIdentifiers remote UUID cid ContentIdentifier key SKey - ContentIdentifiersIndex remote cid + ContentIdentifiersIndexRemoteKey remote key + ContentIdentifiersIndexRemoteCID remote cid UniqueRemoteCidKey remote cid key |] @@ -79,6 +80,14 @@ recordContentIdentifier :: ContentIdentifierHandle -> UUID -> ContentIdentifier recordContentIdentifier h u cid k = queueDb h $ do void $ insertUnique $ ContentIdentifiers u cid (toSKey k) +getContentIdentifiers :: ContentIdentifierHandle -> UUID -> Key -> IO [ContentIdentifier] +getContentIdentifiers (ContentIdentifierHandle h) u k = H.queryDbQueue h $ do + l <- selectList + [ ContentIdentifiersCid ==. cid + , ContentIdentifiersKey ==. toSKey k + ] [] + return $ map (ContentIdentifiersCid . entityVal) l + getContentIdentifierKeys :: ContentIdentifierHandle -> UUID -> ContentIdentifier -> IO [Key] getContentIdentifierKeys (ContentIdentifierHandle h) u cid = H.queryDbQueue h $ do