John Crenshaw wrote:
> Yeah, I tend to agree that null != null is confusing, however that is
> the way it is "supposed" to behave, so changing that would break a lot
> of code. If I had my way, and the behavior of NULL in operations COULD
> be changed, I would opt for the following:
> 
> NULL = NULL -> true
> As a Boolean, NULL -> false
> (NULL = anything other than NULL) -> NULL
> (NULL {+,-,*,/,>,<} x) -> NULL
> (NULL {AND,OR} x) -> x
> 
> The result would be that expressions with "null" are simply ignored,
> which as far as I can tell is nearly always the goal when you have to
> add "IS NULL" tests to expressions. Of course, a change like this would
> break TONS of code, so it will never happen, but I can dream.

On the other hand, you could invent another RDBMS programming language that 
works the way you think SQL should be weren't it for exact backwards 
compatibility, and then just have a translation tool to convert code written in 
it to the behavior-equivalent SQL/etc code that a DBMS will actually run.  The 
other language could be arbitrarily similar to SQL when you don't have a reason 
to be different.  This is what I'm doing with my "Muldis D" language, which is 
close to being feature-complete. -- Darren Duncan
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to