Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
pgaddict
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
36 ms
·
331.
▲
by
pgaddict
11y ago
The impact of CTEs being "optimization fences" in PostgreSQL really depends on workload, and how cleverly you write your queries. If you are not aware of this - as most users using CTEs merely as an alias - you'll be badly su
332.
▲
by
pgaddict
11y ago
I think the form of the blog post (pretty much just short bullet points) makes it rather difficult to get an idea of what's the intended takeaway. I do share your conclusion that SSDs are very good value for workloads that need to do a
333.
▲
by
pgaddict
11y ago
Sadly the post is very light on important details. For example, which version of PostgreSQL and which kind of indexes? Because GIN indexes do pretty much exactly what he describes as 'tag->id' (but in form that is compressed an
334.
▲
by
pgaddict
11y ago
> Except 40% of the original code already wasn't ANSI C. Then why complain that ANSI C compiler gets confused by it? > Having code that was broken under GCC not be broken under GCC absolutely is an improvement, particularly since
335.
▲
by
pgaddict
11y ago
> I'm not arguing that GCC should violate the ANSI standard; rather it should provide additional guarantees above the what ANSI requires ... The problem with that approach is that it introduces dependency on the compiler. The origin
336.
▲
by
pgaddict
11y ago
I absolutely agree with this. GCC implements ANSI C, and that unfortunately includes undefined behavior for various reasons. The problem with undefined behavior is that it's, well, undefined. Different compilers might choose different
337.
▲
by
pgaddict
11y ago
And it does that by implementing a compiler for a language with existing standard, which is ANSI. If you don't like the ANSI C standard (and I admit it's not perfect), don't use a compiler for ANSI C. Also, this is not just G
338.
▲
by
pgaddict
11y ago
You mean like killing OpenSolaris or sidelining the JCP, for example?
339.
▲
by
pgaddict
11y ago
Good point, but I wasn't implying that the "A" in ACID stands for Availability (sorry if that was unclear), but that what people dealing with traditional systems (build on ACID) mean when they speak about "Availability&q
340.
▲
by
pgaddict
11y ago
I think this article from 2012 by Brewer himself is a good read too - a bit shorter and somewhat more comprehensible: http://www.infoq.com/articles/cap-twelve-years-later-how-the... There's a bunch of other articl
341.
▲
by
pgaddict
11y ago
Yes, I'll publish the data soon. I've planned to do that before the talk at pgconf.eu (end of October in Vienna) where I'll talk about the results. But given the current interest, I'll probably do that sooner, given the
342.
▲
by
pgaddict
11y ago
So what's the point of using a COW-based filesystem, and then just disabling the COW and sacrificing features that require that. Sure, you can still do snapshots (which will do COW on the modified data), but you lose compression and ch
343.
▲
by
pgaddict
11y ago
That's a first version of the benchmark, with some minor differences (newer kernel, a bit more sensible PostgreSQL configuration). While the end results are mostly the same, the PostgreSQL changes (significant increase of checkpoint_se
344.
▲
by
pgaddict
11y ago
While I'm obviously interested in benchmarks and performance (I'm author of the blog post referenced here), I'm perfectly OK with sacrificing some of the performance in exchange for advanced features provided by the filesyste
345.
▲
by
pgaddict
11y ago
And your point is? The idea of NaN is that it represents an unknown value, because it essentially says "we don't really know what the result is, but it surely is not a number". And if you have two unknown values, you can hard
346.
▲
by
pgaddict
11y ago
C, but I've been lazy.
347.
▲
by
pgaddict
11y ago
Yeah, exactly the same impression here. And it's not the case that there are no other software implementations - for example GCC supports _Decimal32/64/128 since 4.3 ( https://gcc.gnu.org/onlinedocs/gccint
348.
▲
by
pgaddict
11y ago
Exactly. Then you realize you need to deal with values with different scales, because "amount of money" may need 2 decimal places while "exchange rate" may need 3, so you start tracking scales. At which point you've
349.
▲
by
pgaddict
11y ago
Really? So what about exchange rates or interest rates, for example? Surely those are not multiples of "revelant units".
350.
▲
by
pgaddict
11y ago
What? Why should this behave differently from NAN for existing data types? For example try this: #include <math.h> #include <stdio.h> void main() { float x = NAN; float y = NAN; printf("x
351.
▲
by
pgaddict
11y ago
So where are the definitions of those terms, actually? The article merely complains that Tkachenko's personal definitions of those two terms do not match Aphyr's, but that's merely a personal opinion. I'd argue that &quo
352.
▲
by
pgaddict
11y ago
The assumption that you can "fix" the database and proceed as if nothing had happened is naive, IMNSHO. Firstly, there's usually non-trivial amount of time until the inconsistency is discovered, that one modification may be e
353.
▲
by
pgaddict
11y ago
Sure, carefully reviewing all the reports would be ideal, but it also means you'll need many employees to do that. And I don't really see why Oracle should be responsible for educating customers about basic security practices. Sal
354.
▲
by
pgaddict
11y ago
I meant "prohibited by the license agreement".
355.
▲
by
pgaddict
11y ago
I'm really confused why everyone's so upset by the blog post, for a number of reasons. Firstly, it's perfectly aligned with the world of proprietary software. Oracle is probably more protective than the other vendors, because
356.
▲
by
pgaddict
11y ago
relation == table relationship == foreign key
357.
▲
by
pgaddict
12y ago
JSON is just a TEXT data type with validation, while HSTORE stores the data in a structured way and allows a more flexible indexing and such stuff. OTOH it's just text=>text while JSON format allows additional data types. That chang
358.
▲
by
pgaddict
12y ago
The thing is, CTEs are not named subqueries. They are supposed to execute just once, even if used on multiple places in the query. This causes a number of challenges for the planner, because: * some of the places may benefit from quickly pr
359.
▲
by
pgaddict
12y ago
Couldn't agree more - the claim that "being serious about OSS" requires a CLA is nonsense, and in many cases is just a cargo cult (I need it because others use it). Also, people somehow fail to realize that for CLAs to work,
360.
▲
by
pgaddict
12y ago
You're right - you only need an author whose contributions were (supposedly) infringed. Of course, if you have more of them, covering larger amounts of code, that might help. A prime example is the SFC vs. VMWare lawsuit, where SFC rep
More ›