-
> trace optimizer/better sql in the next run
Ah wow! I admittedly already linked this PR in another reply, but I'm trying similar things here:
https://github.com/joist-orm/joist-orm/pull/1967
Neat to hear you had success with it before; did you have to handle "the optimization was inaccurate [a novel codepath asked for a column we didn't return], so fallback to `select *`"? And do that without failing the overall request?
This "fallback and implicit retry" is what I'm doing atm, and just assuming is the only way of handling the "novel codepath was hit this time" problem, but lmk if I'm missing something.
-
AppSignal
AppSignal knows why the f*#k it crashed. Stop vibe-debugging. Every exception, every backtrace, grouped so you see patterns, not noise.
-
haxl
A Haskell library that simplifies access to remote data, such as databases or web-based services.
Compare with the prior art of N+1 queries of 2014:
https://github.com/facebook/Haxl/blob/main/example/sql/readm...
-
souffle
Soufflé is a variant of Datalog for tool designers crafting analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program from a logic specification.
reachable(a, c) :- edge(a, b), reachable(b, c).
'Base datalog' guarantees termination by requiring all input relations to be finite. Notably this means that it doesn't have numerical operations like addition or multiplication, since `plus(a, b)` or `times(a, b)` would be infinite relations.
More practical Datalog engines like Souffle (https://souffle-lang.github.io/) don't guarantee termination.
Recursive queries are not needed by most applications, but maybe Arcadia could allow them (compiling to recursive CTEs) by proving that recursion only goes through finite relations.
-
Related posts
-
Show HN: Pg-typesafe – Strongly typed queries for PostgreSQL and TypeScript
-
Idiomatic way to interact with database
-
Warning FS0101: This API supports the FSharp.Data.SqlClient...
-
Is there a market for a complete fsharp ORM library?
-
If you were to create a Web API today from scratch how would you do it ?