HackerTrans
TopNewTrendsCommentsPastAskShowJobs

postgressomethi

no profile record

comments

postgressomethi
·2 tahun yang lalu·discuss
I always thought there should be a two-arg overload of new, so you could write new(bool, true) or new(int, 20). Would solve the problem without any trickery.
postgressomethi
·2 tahun yang lalu·discuss
A Nintendo Switch is a non-hardware decryption system?
postgressomethi
·2 tahun yang lalu·discuss
Could "effectively controls access" be attacked here? The purpose of the hardware is not to control access.
postgressomethi
·2 tahun yang lalu·discuss
> You might think adding a UNIQUE index would cause the "losing" xact to get constraint errors, but instead both xacts succeed and no longer have a race condition.

This is not true. What happens is that the (sub)transaction that loses the race to the index is aborted:

  =# INSERT INTO foo (bar) (SELECT max(bar) + 1 FROM foo);
  ERROR:  duplicate key value violates unique constraint "foo_bar_idx"
  DETAIL:  Key (bar)=(2) already exists.
postgressomethi
·3 tahun yang lalu·discuss
> Imagine booting your computer and having to give an email to login offline.

As much as I hate what modern Windows has become, this is not actually true. If you know the correct sequence of clicks you can avoid this. Not defending this bullshit, though.
postgressomethi
·3 tahun yang lalu·discuss
Ah, now I see I responded to the wrong message.
postgressomethi
·3 tahun yang lalu·discuss
I'm sorry, I wasn't being clear. Any column meaning "this row is to be ignored for most applications" is an annoying pattern.
postgressomethi
·3 tahun yang lalu·discuss
While that's kind of convenient in a lot of ways, it also makes querying the database really annoying, since you have to remember to add the filtering to every single query or you're screwed. Personally, I wish there was a database-implementation-acknowledged "deleted" flag, which could even expose a "history table"-like interface.
postgressomethi
·3 tahun yang lalu·discuss
Sequences kind of have the same issue, because you don't know if a gap is because of a rollback or an uncommitted transaction. Though with some logic you can do a pretty good job at this with sequences. And then you're not in the realm of "simple" anymore, at all.
postgressomethi
·3 tahun yang lalu·discuss
Polling an updated_at column is not robust in its most simple form, as transactions are not guaranteed to commit in that order.