> it's annoying that I have to start caring about types again
that sentence actually pains me
Read it as having to care about strict types as opposed to compatible types. Sort of like array broadcasting or casting bools to other numeric types or applying a bitwise xor to 32-bit floats -- if two types are obviously compatible with the operation I'm trying to do to them it's often nice to allow the implicit cast.
Interested to learn more about the query planner over time but just some initial thoughts
https://www.youtube.com/watch?v=XA3SBgcZwtE.
Good talk by a core developer
This is another presentation from a core developer: https://momjian.us/main/writings/pgsql/optimizer.pdf
I'm surprised that's not bought up more in hacker news conversations
Postgres is very picky type wise when you construct comparisons, which can often involve casting when dealing with the edges of a JSON blob and bleed through sub queries which can mean indirect type errors