Re: Question on Structuring Product Attributes

From: Derek Asirvadem <derek.asirvadem_at_gmail.com>
Date: Tue, 12 Feb 2013 04:25:09 -0800 (PST)
Message-ID: <adc28bce-75e6-47aa-80c3-24423a6a9b96_at_googlegroups.com>


On Tuesday, 12 February 2013 18:57:15 UTC+11, James K. Lowden wrote:
> On Mon, 11 Feb 2013 16:48:54 -0800 (PST) Derek Asirvadem wrote:
>
> > > > ? Sybase ANSI_NULL_BEHAVIOUR = OFF (where NULL = NULL)
> > > > is 2VL.
> > >
> > > Um, no. A logic with 3 values can't be a 2VL.
> >
> > Or you could look up the manual, there might be one there.
>
> > http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.commands/html/commands/commands85.htm
>
> > As I stated previously, the OFF setting allows developers to NOT know
> > 3VL, to NOT care about 3VL, to NOT have to make 3VL considerations in
> > every code segment.
>
> The manual says of the SET statement that with ANSI null behavior
> turned off, comparisions to NULL yield FALSE, and NULL = NULL is TRUE.

I thought I said that, rather clearly, and that you had great difficulty *accepting* that ... but it is good that you found that the manual confirmed that. ( I know most commands by heart, I did not read the manual page, I just gave you the link.)

> > As I stated previously, the OFF setting allows developers to NOT know
> > 3VL, to NOT care about 3VL, to NOT have to make 3VL considerations in
> > every code segment.
>
> Not so fast.

Personally, I thought this was progressing really slowly.

> What about arithmetic? Would this be accurate?
>
> V1 V2 = < ¬< > <&&>
> 2 NULL F F F F F
>
> I'm not a Sybase expert, but you are.

Anyone who told you that is exaggerating greatly.

> If you'd be kind enough to fill
> in that table correctly, we could discuss whether Sybase in fact
> defines a 2VL and, if so, its merits.

Oh, come on. Now you are really getting up my nose. I am getting tired of spending time, writing answers to your questions, giving you info, only to find that instead of closing the issues raised like a gentleman, you raise new issues from the margins of the new info. Please lift your game.  

• Read the manual
• build the truth table
• do not forget strings and bits and the empty set • The product is honest, there are no tricks. I do not know what sort of dumpy SQL you are used to, but I do know that some of the SQLs are very inconsistent, so I suppose you can be forgiven for the "not so fast" and for needing to verify every condition. • The product is predictable. whatever truth table you build, given the precision you have demonstrated (in technical matters, but unfortunately not in arguments or honour) thus far, will be correct. Whatever code you write, to prove those entries, will produce the predicted results.

Hint: "comparisons to NULL yield false". Whatever derives from that statement, derives precisely, predictably, and consistently.

Put another way, with ANSI_NULL = OFF, Null holds a single fixed position, in the entire Domain of values. It has a slightly special status, like a spoiled child, in that if you compare it with anything, it asserts its contrived self, and insists on being first or last or greater or smaller, the Chosen One. Rather than being the Unknown Value, which cannot be reasonably coded for, Null is the Non-Value, which is simple to code for. We have tamed the Cursed One into the Chosen One. No doubt 3VL lives in the hearts and minds of obstinate academics, 30 years after it was solved, but it simply does not exist for us.

You can tell me what to call it: 2VL; non-3VL; NonVL; VeryVL; TrivialVL; TriVL, and I will be sure to include it in my next formal communication to Sybase Engineering. No guarantees about changing the manual, because (a) no one in the Sybase community knows about the non-problem, or cares about the name we have not given it, and (b) 3VL (in any form) is not mentioned in the manuals.

Sybase has no merits. Not for your crowd anyway. You will get bored with it in one week flat. You need PostgreSQL, so that you can fiddle and fuss about with abstract things, behaviour that changes with every minor version, a product that cannot be used to produce code (except for single-user systems), and one that provides endless material for abstract discussion. Ingres, diarrhoea and abysmal failure that it was, did not die, the academics loved it so much that they gave it a new front end, silicon boobs and falsies. You will love it. Sybase has only one function that you will like: the RAND() function.


Tweedle Dee asked me the exact same question (first one re Null code) in an exchange, three full years after I informed him that we did not have the SQL Null Problem. He could not believe that we (Sybase, thousands of implementations, millions of users), had worked around his beloved Null Problem that he insists everyone must have. Even after answering it at length; providing many manual pages; executing requested code, he asked me to re-run the code, with more values, he asked me the exact same question (second one re Null code, above).

http://www.softwaregems.com.au/Documents/The%20Third%20Manifesto/Miscellany/Hugh%20Darwen%2002%20Feb%2012.pdf

You are the same. You are simply not getting that intelligent vendors and implementers simply do not have the disease that the two of you love, cherish, and insist every human being must have. It is not that we have found penicillin, and therefore we have a cure for your syphilis, no, we never slept with prostitutes, we never contracted the disease. You are still checking if penicillin is effective against stage II syphilis, Hugh is at stage III, so communication is futile.

[If you are inspecting my signature with a microscope, "Standard-compliant" refers to *all* the standards that apply to my work, not the SQL Standard which is unfit to be deemed a standard, which is a mundane issue in my work, and which I have real standards to work around.]

Cheers
Derek Received on Tue Feb 12 2013 - 13:25:09 CET

Original text of this message