From ddd6dc7d7f65691b7392529c06ad6b1de4be9da8 Mon Sep 17 00:00:00 2001 From: Dmitry Zuikov Date: Thu, 28 Mar 2024 17:50:22 +0300 Subject: [PATCH] wip, debug --- .hbs2-git/manifest | 2 +- .../lib/HBS2/Git/Oracle/Run.hs | 24 +++++++++++-------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/.hbs2-git/manifest b/.hbs2-git/manifest index 364feee6..b7b963ca 100644 --- a/.hbs2-git/manifest +++ b/.hbs2-git/manifest @@ -1,7 +1,7 @@ name: "hbs2" author: "Dmitry Zuikov" public: yes -brief: "HBS2: P2P CAS and protocol framework #haskell #p2p #distributed 111" +brief: "HBS2: P2P CAS and protocol framework #haskell #p2p #distributed" # Project description diff --git a/hbs2-git/hbs2-git-oracle/lib/HBS2/Git/Oracle/Run.hs b/hbs2-git/hbs2-git-oracle/lib/HBS2/Git/Oracle/Run.hs index 7313ff5a..eb2f3ba2 100644 --- a/hbs2-git/hbs2-git-oracle/lib/HBS2/Git/Oracle/Run.hs +++ b/hbs2-git/hbs2-git-oracle/lib/HBS2/Git/Oracle/Run.hs @@ -215,17 +215,21 @@ instance (MonadUnliftIO m, HasOracleEnv m) => HandleMethod m RpcChannelQuery whe withOracleEnv env do items <- withState $ select_ @_ @(HashVal, Text, Text) [qc| - select lwwref, name, brief - from ( - select - lwwref - , name - , brief - , max(lwwseq) - , max(repoheadseq) - from gitrepofact - group by lwwref,name,brief) as s0; + SELECT + lwwref, + name, + brief + FROM ( + SELECT + lwwref, + name, + brief, + ROW_NUMBER() OVER (PARTITION BY lwwref ORDER BY lwwseq DESC) as rn + FROM gitrepofact + ) as s0 + WHERE rn = 1; + |] let root = object [ "rows" .= items