Iโm legitimately considering asking my employer to lower my cash compensation in return for more ISOs so I can continue contributing to my Roth IRA. If itโs enough ISOs and the chance of an exit is > 0, this is technically rational. No?
@atRachelGilmore A Theory of Justice by Rawls argues that a tolerant society must tolerate intolerant members except in cases where their intolerance removes liberties from tolerant members.
Speech doesnโt trigger that caveat unless it causes action (which would be incitement).
@nikitabase@neondatabase@planetscaledata Ah, yeah, so Iโm separating out the decision making about which MVs to make and use, from the maintenance of those MVs.
Iโd assume the maintenance would be handled by something like pg_ivm, https://t.co/yi4HKaaMQ7, which would indeed run in the db.
@nikitabase@neondatabase@planetscaledata Plugins seem much more powerful than I believed. I donโt have enough knowledge to say, I think.
That being said, Iโm not sure why transactional consistency would be important here.
@nikitabase@neondatabase@planetscaledata I think itโs more flexible. It can output its own logs, scale independently of the underlying db, be moved between databases, and have its own UI (e.g. a โsuggestionsโ mode where it prompted a user to confirm if they wanted optimizations before applying them)
@housecor Further, you program is itself pure and synchronous, so there is no possibility that it running faster by virtue of using the faster version might inadvertently make it work differently.
@housecor Further, imagine the install speed, time, size, etc. is identical for each version, and no one else in the world uses either package and the author is dead so there is absolutely no external reason to use one over the other.
@nikitabase@neondatabase@planetscaledata Like, a service that sits between the client and the db which can 1) rewrite queries before passing them to the db and 2) execute arbitrary DDL statements against the db, rather than a plugin that executed inside the db.
@nikitabase@neondatabase@planetscaledata Yeah, that seems like the exact idea, but I believe theyโre whole shtick is MySQL without fkey constraints which is just a non-starter, imo.
Also, doing this is user space, while more difficult, would be nicer for introspection.
@nikitabase@neondatabase This would have to be opt in. E.g. a separate endpoint type. Instead of read and write youโd have read, write, auto_opt_read, and auto_opt_write.
@nikitabase@neondatabase E.g. if you see a complex join a lot, generate an IMV for it then rewrite all the joins you see going forward to use the IMV instead before passing them on to the query planner.
We have a query planners that painstakingly optimize our queries for the specific indexes available to them, but nothing that looks at the queries I'm running and optimizes my indexes for them.
Like hear me out, WebKit does all sorts of runtime introspection to optimize JS code as it's running, why can't my db see which queries I keep sending and build bespoke optimizations for those queries? I'm not talking about caching but actual runtime optimization.