24 ms·
> Insane 3-value boolean logic. What? Not having a value is not having a value, it's not false. It's also a fairly standard concept. http://c2.com/cgi/wiki?Thr
by jimktrains2 12y ago
> Insane 3-value boolean logic.
What? Not having a value is not having a value, it's not false. It's also a fairly standard concept. http://c2.com/cgi/wiki?ThreeValuedLogic http://c2.com/cgi/wiki?ThreeValuedLogic
> The fact that the result-set must be in the form of a table instead of a graph
Don't use a hammer to screw in a screw. There are graph databases (which support ACID, btw) out there for a reason.
> A fantastic invention of a bygone era that has stood the test of time... but is stubbornly resistant to real improvement and shows too many warts of its age.
I don't get this. It is improving and it's stood the test of time because it solves a problem and solves it well.
> And again, as the grandparent said, the cases where the abstraction fails and you end up having to figure out how exactly it's implementing your query. Abstraction failures make a tool worse-than-useless, because it means I have to not only understand the problem the tool is trying to solve, but I have to understand the tool and the quirks of its handling of the problem.
I don't quite get you. When a SQL query fails, it's not because you need to understand the database arch better. It's like when a C program fails, you don't need to understand GCC to fix it. You do however, need to understand how things are being used to pull the most performance out of it as possible, just like a regular language and a compiler.