I complain that mainstream SQL engines have no problem returning less than the total number of rows if you first query WHERE column = NULL and then query WHERE column <> NULL. Your example queries remind me of that.
[1] https://medium.com/dailyjs/the-why-behind-the-wat-an-explana...
> WHERE column = NULL and then query WHERE column <> NULL
Well, yeah? NULL by definition is not equal to anything. so both parts of that statement don’t have any meaning. Did you mean to write this? WHERE column IS NULL and then query WHERE column IS NOT NULL
Otherwise you’re just arguing against 3VL semantics. NULL means what it means and is conceptually foundational to SQL. You could write predicates over non-existent columns:
root=> SELECT * FROM t
WHERE definitely_not_a_column = 4;
Cool, definitely_not_a_column doesn't exist, so therefore that whole WHERE clause doesn't exist either, so the real query is SELECT FROM t. SELECT * FROM t WHERE 4 = 5;
a | b
---+----
5 | 6
(1 row)
We're comparing 4 and 5. Precedent? System.out.println(((Integer)4).compareTo((Integer)5));
> -1
What happens when you treat -1 as a bool? The following languages agree that -1 is true: C, C++, JS, Python, PHP, Ruby, Perl, Lua, R.So it's SELECT FROM t WHERE true;
Now, let's get busy blaming Jepsen for using the tool wrong.
No, therefore the condition is unsatisfiable and equivalent to WHERE FALSE. And that's letting you ignore the SQL spec, which says the query is invalid and should return "Column not found" because the column name cannot be resolved.
> We're comparing 4 and 5. Precedent?
I really hope you're trolling, for your own sake.
The condition is unsatisfiable, and the engine went ahead and gave a 0-warning result?
1) It would be no more fucked up than anything else that has been grandfathered into our tools.
2) If it already had mass adoption in the market, people would jump onto this thread to explain to me that I just don't understand the brilliant semantics behind language of why 4 = 5.
Brilliant semantics? No one said anything normative. You’re arguing with yourself on your own non-sequitur. SQL is SQL. It’s extremely flawed but who freaking cares, that’s why ParticleDB shouldn’t have tried to implement SQL let alone full postgres compatibility when they clearly are not equipped to do so! Your comments about how strange and non-intuitive SQL are true but irrelevant.
That's why I preplied:
> if enough people did it that way it would be the new normal, and apologists would fall out of the woodwork
If 4=5 made it into the spec, would it be no longer up for criticism?
No. No-one would ever accept a database with _this_ level of brokenness. Like, this makes early Mongo and noughties-era mysql look _amazing_.
> I complain that mainstream SQL engines have no problem returning less than the total number of rows if you first query WHERE column = NULL and then query WHERE column <> NULL.
You may not like it, but that is entirely deliberate and internally consistent. Blame the people who came up with SQL in the 70s; far too late to change it now.
$180K in CA for someone who reports directly to the head of engineering is not even top of market for Topeka, KS.
(Edit for clarity: this is quoted from the linked article)
Good on them for being good sports I guess, but after reading this I would never touch a piece of software built by anyone involved with this company. The sheer hubris of their claims combined with the specific reality of their broken garbage software (with the contradicted marketing claims and hallucinated documentation) is literally breathtaking.It must have been darkly amusing to see all these defect tickets coming in, only for them to frantically shovel each one to increasingly overworked LLM agents to apply pig-lipstick while the humans in charge oh-so-slowly start to realize their software quality is not quite what their glazing agents had been telling them and that what they have on their hands is basically sub-mongo-quality slop. What a world we live in, huh?