From 61bec141a63ef6c65cbd25b21774be0ac7f2c73e Mon Sep 17 00:00:00 2001 From: Dmitry Zuikov Date: Thu, 23 May 2024 06:46:37 +0300 Subject: [PATCH] wip --- .fixme-new/log | 1 + .fixme/log | 3 ++- fixme-new/lib/Fixme/State.hs | 17 +++++++++++++---- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/.fixme-new/log b/.fixme-new/log index ab43f881..93eef1d0 100644 --- a/.fixme-new/log +++ b/.fixme-new/log @@ -1,3 +1,4 @@ modified 1716433451 "2piRBmaQkb3c2nAcH6Mrf8EAddNJF34c6Tm8PWnbVBqN" "workflow" "done" deleted "9m2B74CHFTGBTWXo1uNoi9StuQ3AxnMpULwbLcToMkmZ" deleted "EUP5zeroTKWuP96dQQrZVZqUhBXdh8icD3P9EebYo9HR" +modified 1716435973 "H2AZFfGZsSaVWyBme21PJQkprAn5yaizf8LNGQekFhPe" "workflow" "test" diff --git a/.fixme/log b/.fixme/log index 2da00207..245c419e 100644 --- a/.fixme/log +++ b/.fixme/log @@ -1,2 +1,3 @@ -(fixme-set "workflow" "done" "RsTry2C5Gk") \ No newline at end of file +(fixme-set "workflow" "done" "RsTry2C5Gk") +(fixme-set "workflow" "done" "DYfcfsNCrU") \ No newline at end of file diff --git a/fixme-new/lib/Fixme/State.hs b/fixme-new/lib/Fixme/State.hs index e12d03d6..5f2a8055 100644 --- a/fixme-new/lib/Fixme/State.hs +++ b/fixme-new/lib/Fixme/State.hs @@ -515,10 +515,19 @@ cleanupDatabase = do deleteFixme :: (FixmePerks m,MonadReader FixmeEnv m) => Text -> m () deleteFixme hash = withState do trace $ red "deleteFixme" <+> pretty hash - insert [qc| insert into fixmedeleted (id,ts,deleted) - values (?,(strftime('%s', 'now')),true) - on conflict(id,ts) do nothing - |] (Only hash) + + here <- select [qc| select true + from fixmedeleted + where deleted and id = ? + order by ts desc + limit 1 + |] (Only hash) <&> isJust . listToMaybe . fmap (fromOnly @Bool) + + unless here do + insert [qc| insert into fixmedeleted (id,ts,deleted) + values (?,(strftime('%s', 'now')),true) + on conflict(id,ts) do nothing + |] (Only hash) updateFixme :: (FixmePerks m,MonadReader FixmeEnv m)