- 12 May, 2025 1 commit
-
-
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.
-
- 05 Sep, 2024 1 commit
-
-
mzheng authored
-
- 29 Aug, 2024 1 commit
-
-
mzheng authored
-
- 19 Aug, 2024 1 commit
-
-
Alfredo Di Napoli authored
-
- 02 Apr, 2024 1 commit
-
-
Przemyslaw Kaminski authored
-
- 27 Mar, 2024 1 commit
-
-
Przemyslaw Kaminski authored
It's better to enumerate fields than not - easier to search later. Also, a performance improvement for queryNgramsOccurrences (no VALUES).
-
- 21 Mar, 2024 1 commit
-
-
Przemyslaw Kaminski authored
This contains only data, removes some Database dependency in imports.
-
- 04 Dec, 2023 1 commit
-
-
Alfredo Di Napoli authored
This allows us to have only one single (static) map which will be treated by GHC as a CAF.
-
- 16 Oct, 2023 1 commit
-
-
Alfredo Di Napoli authored
This is a first stepping stone in avoiding bugs by having `UserId` and `ContextId` being proper types, and not synonyms. We also refactor things to have `AuthenticatedUser` carry the `UserId`.
-
- 12 Oct, 2023 1 commit
-
-
Przemyslaw Kaminski authored
Basically, Gargantext.Prelude exports all of Protolude now.
-
- 11 Oct, 2023 1 commit
-
-
Przemyslaw Kaminski authored
-
- 10 Oct, 2023 1 commit
-
-
Przemyslaw Kaminski authored
- DBCmd instead of Cmd - remove FlowCmdM in favor of HasNodeStory
-
- 06 Jun, 2023 1 commit
-
-
Przemyslaw Kaminski authored
-
- 02 Jun, 2023 4 commits
-
-
Przemyslaw Kaminski authored
-
Przemyslaw Kaminski authored
-
Przemyslaw Kaminski authored
-
Przemyslaw Kaminski authored
-
- 01 Jun, 2023 1 commit
-
-
Przemyslaw Kaminski authored
This doesn't block the whole view for the (long) period of refreshing it.
-
- 16 May, 2023 1 commit
-
-
Alexandre Delanoë authored
-
- 11 May, 2023 1 commit
-
-
Alexandre Delanoë authored
-
- 26 Apr, 2023 1 commit
-
-
Alexandre Delanoë authored
-
- 25 Jan, 2023 1 commit
-
-
Przemyslaw Kaminski authored
Based on the suggestions in https://kodimensional.dev/space-leak
-
- 14 Dec, 2022 1 commit
-
-
Alexandre Delanoë authored
-
- 24 Nov, 2022 1 commit
-
-
Przemyslaw Kaminski authored
-
- 15 Nov, 2022 2 commits
-
-
Przemyslaw Kaminski authored
-
Przemyslaw Kaminski authored
-
- 18 Oct, 2022 1 commit
-
-
Alexandre Delanoë authored
-
- 10 Oct, 2022 2 commits
-
-
Alexandre Delanoë authored
-
Przemyslaw Kaminski authored
-
- 07 Oct, 2022 1 commit
-
-
Alexandre Delanoë authored
-
- 18 Mar, 2022 1 commit
-
-
Alexandre Delanoë authored
-
- 14 Feb, 2022 1 commit
-
-
Alexandre Delanoë authored
-
- 10 Feb, 2022 1 commit
-
-
Alexandre Delanoë authored
-
- 20 Jan, 2022 6 commits
-
-
Alexandre Delanoë authored
-
Alexandre Delanoë authored
-
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 = ""}
-
Alexandre Delanoë authored
-
Alexandre Delanoë authored
-
Alexandre Delanoë authored
-
- 27 Aug, 2021 1 commit
-
-
Alexandre Delanoë authored
-