Re: So what's null then if it's not nothing?

From: DonR <donr_work_at_yahoo.com>
Date: 23 Nov 2005 23:06:33 -0800
Message-ID: <1132815993.108999.37740_at_z14g2000cwz.googlegroups.com>


David and all,

First, after 150+ posts relative to NULL, I have concluded WE all have too much time on our hands! :-)

In response to my previous post summarizing Pick,

David Cressey wrote:
> This is a good summary of the data format, and I think I can infer the
> model from it.

David, thank you, I'm going to start a new thread to continue the Pick discussion and exit this thread, it's been very interesting. All are welcome to join in. I came across this thread by accident and only entered it because Michael uses Pick and I though I could add something. I think we got a little off subject.

To wrap this up for me, I want to clarify couple of points. I'm not trying to convert anyone to Pick, I was just pointing out some of it's features.

Michael has referred to a "cell", this may be a useful term but it's not a common Pick term. You can't delete a cell because the cells are positional and the attribute mark must be there to hold it's position. That is, the dictionary defines the attribute's (cell) position and it must be in the same position in all records (rows).

More specific to the NULL question, Pick has no "standard" definition of many of the things mentioned in this thread. What Pick has is the "standard accoring to UniVerse, Unidata, D3, jBASE or 14 other version".

However, common practice make a few things "standard".

What is null in Pick? BOTH "data whose value is unknown" and "data whose value is known to be nothing" is generally stored and processed the SAME. Using the example of a persons middle initial, in most cases, it makes no difference. However, if it's something more critical, then the programmer must devise some means to indicate the difference.

UniVerse and most of the others now have SQL fuctionality and thus have to conform to the SQL standard. One of these things is the concept of NULL. I think where Michael has a problem, is if the NULL token indicates "data whose value is known to be nothing", then we are in a heap of trouble! Keep in mind that all we store to indicate both conditions is the attribute mark as a place holder. If we have to insert a token, some character(s), we have a big job! Typical Pick records have lots of these empty values and since we don't know which they are, we can't just assume either condition. However, if we start a new application, we could conform quite well and should. Since Pick data is stored as a variable length string, additional characters would take up storage space, which is pretty cheap but not free.

Off to a new "What is Pick anyway?" thread.

Cheers,
Don Received on Thu Nov 24 2005 - 08:06:33 CET

Original text of this message