Commit 4eb0b1c2 authored by Alexandre Delanoë's avatar Alexandre Delanoë

[FIX] Optim count table

parent 56f7eea3
......@@ -45,7 +45,7 @@ import Gargantext.API.Ngrams.Types (TabType(..))
import Gargantext.API.Prelude (GargServer)
import Gargantext.Core.Types (Offset, Limit, TableResult(..))
import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger)
import Gargantext.Database.Query.Facet (FacetDoc , runViewDocuments, OrderBy(..), runViewAuthorsDoc)
import Gargantext.Database.Query.Facet (FacetDoc , runViewDocuments, runCountDocuments, OrderBy(..), runViewAuthorsDoc)
import Gargantext.Database.Action.Learn (FavOrTrash(..), moreLike)
import Gargantext.Database.Action.Search
import Gargantext.Database.Admin.Types.Node
......@@ -116,7 +116,7 @@ searchInCorpus' :: CorpusId
-> Maybe OrderBy
-> Cmd err FacetTableResult
searchInCorpus' cId t q o l order = do
docs <- searchInCorpus cId t q o l order
docs <- searchInCorpus cId t q o l order
countAllDocs <- searchCountInCorpus cId t q
pure $ TableResult { tr_docs = docs, tr_count = countAllDocs }
......@@ -125,10 +125,9 @@ getTable :: NodeId -> Maybe TabType
-> Maybe Offset -> Maybe Limit
-> Maybe OrderBy -> Cmd err FacetTableResult
getTable cId ft o l order = do
docs <- getTable' cId ft o l order
-- TODO: Rewrite to use runCountOpaQuery and avoid (length allDocs)
allDocs <- getTable' cId ft Nothing Nothing Nothing
pure $ TableResult { tr_docs = docs, tr_count = length allDocs }
docs <- getTable' cId ft o l order
docsCount <- runCountDocuments cId (if ft == Just Trash then True else False)
pure $ TableResult { tr_docs = docs, tr_count = docsCount }
getTable' :: NodeId -> Maybe TabType
-> Maybe Offset -> Maybe Limit
......
......@@ -21,6 +21,7 @@ Portability : POSIX
module Gargantext.Database.Query.Facet
( runViewAuthorsDoc
, runViewDocuments
, runCountDocuments
, filterWith
, Pair(..)
......@@ -281,6 +282,11 @@ runViewDocuments cId t o l order =
where
ntId = nodeTypeId NodeDocument
runCountDocuments :: CorpusId -> IsTrash -> Cmd err Int
runCountDocuments cId t =
runCountOpaQuery $ viewDocuments cId t $ nodeTypeId NodeDocument
viewDocuments :: CorpusId -> IsTrash -> NodeTypeId -> Query FacetDocRead
viewDocuments cId t ntId = proc () -> do
n <- queryNodeTable -< ()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment