1. 12 May, 2025 1 commit
    • Alfredo Di Napoli's avatar
      Port DB operations to transactional API · 53512f89
      Alfredo Di Napoli authored
      This gigantic commit ports the existing DB operations in GGTX to use the
      transactional API, meaning that we can now compose DB operations and
      they will all run in the same Postgres transaction using the same
      connection, which will eliminate those class of bugs where concurrent DB
      access might result in an inconsistent state.
      
      On top of that, we simplify some parts of the API, for which a summary
      is given below:
      
      1. The `NodeStoryEnv` management has been greatly simplified; in the new
         API we don't need an external connection pool to be passed and we
         don't have to pass IO actions, we can just pass DB operations,
         therefore we can greatly simplify the API to just pass mostly pure
         values;
      
      2. Due to the fact that our `DBTx` monad can't do arbitrary IO (which is
         a good thing) we cannot fire Central Exchange notifications
         immediately. Rather that happens now is that we collect the
         `CEMessage` to be sent and we fire them in the relevant concrete
         monad after we finished with the DB transaction. This means that in
         principle there would be a small delay between the DB operation
         taking place and the notification firing but in practice the latency
         should be negligible and bear in mind this is typically what we want:
         if we have a long DB Tx that triggers an error in the middle we don't
         want to be sending out CE messages prematurely if the overall
         operation didn't succeed!
      
      3. There are still a few places in the codebase where we couldn't make
         things fully compositional with regards to the DBTx API, because we
         had Servant handlers which had DB operations mixed with other IO
         effectful computations (or other things like the notification from
         the `MonadJobStatus`). For now we are splitting these functions by
         manually running the partial DB operations, and while this is not
         ideal it can be fixed in subsequent merge requests.
      
      4. The `WorkerEnv` doesn't use `IOException` as its `MonadError`
         anymore, as for consistency we can just use `BackendInternalError` by
         adding a `InternalWorkerError` data constructor accepting the
         `IOException` triggered by the Worker monad.
      
      More testing is needed, with particular attention to performance
      (regression) but this should hopefully offer a decent baseline.
      53512f89
  2. 20 Nov, 2024 1 commit
  3. 29 Aug, 2024 1 commit
  4. 08 Apr, 2024 1 commit
  5. 02 Apr, 2024 2 commits
  6. 22 Mar, 2024 1 commit
    • Przemyslaw Kaminski's avatar
      [ngrams] fix postag_algo (#169) · 445ba8f1
      Przemyslaw Kaminski authored
      We had CoreNLP hardcoded, however with Spacy this resulted in
      selectLems returning no entries, because the algo_id from DB didn't
      match. Hence no singulars grouping.
      445ba8f1
  7. 21 Mar, 2024 1 commit
  8. 20 Mar, 2024 1 commit
  9. 16 Oct, 2023 1 commit
  10. 12 Oct, 2023 1 commit
  11. 11 Oct, 2023 1 commit
  12. 23 Mar, 2023 1 commit
  13. 16 Mar, 2023 1 commit
  14. 03 Mar, 2023 1 commit
  15. 25 Jan, 2023 1 commit
  16. 20 Jan, 2023 1 commit
  17. 11 Jan, 2023 1 commit
  18. 20 Dec, 2022 1 commit
  19. 01 Dec, 2022 1 commit
  20. 08 Jun, 2022 1 commit
  21. 16 May, 2022 1 commit
  22. 24 Mar, 2022 1 commit
  23. 04 Feb, 2022 1 commit
  24. 20 Jan, 2022 4 commits
    • Alexandre Delanoë's avatar
      [CLEAN] · 702336c1
      Alexandre Delanoë authored
      702336c1
    • Alexandre Delanoë's avatar
      [Backup][WIP] · 25b81234
      Alexandre Delanoë authored
      [*r*epoSaver*A cEtxicoen]p "rtepioosn/:no deSqlError Id{-0s-tqmlp-Srteatepo1 2=3 8"22-3150013."c,b osrq"l
      E[wrixteecNSotdaetSutso r=i eFsa]t a[l(E)r]r
      or, sqlErrorMsg = "une instruction insert ou update sur la table \194\171 context_node_ngrams \194\187 viole la contrainte de cl\195\169\n\195\169trang\195\168re \194\171 context_node_ngrams_context_id_fkey \194\187", sqlErrorDetail = "La cl\195\169 (context_id)=(135) n'est pas pr\195\169sente dans la table \194\171 nodes \194\187.", sqlErrorHint = ""}
      25b81234
    • Alexandre Delanoë's avatar
      [FIX] Ngrams in list · 4e9b6f41
      Alexandre Delanoë authored
      4e9b6f41
    • Alexandre Delanoë's avatar
      [FIX] Requests with Contexts (WIP) · 04da4749
      Alexandre Delanoë authored
      04da4749
  25. 16 Nov, 2021 1 commit
  26. 15 Nov, 2021 1 commit
  27. 13 Sep, 2021 1 commit
  28. 01 Sep, 2021 1 commit
  29. 31 Aug, 2021 1 commit
  30. 27 Aug, 2021 1 commit
  31. 29 Jul, 2021 1 commit
  32. 04 Jun, 2021 1 commit
  33. 02 Jun, 2021 2 commits
  34. 28 May, 2021 1 commit
  35. 26 May, 2021 1 commit