Re: more closed-world chatter

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Wed, 02 May 2007 21:49:18 -0300
Message-ID: <4639315f$0$4019$9a566e8b_at_news.aliant.net>


paul c wrote:

> paul c wrote:
> 

>> If I have a domain of items consisting of the values "a" and "b" and a
>> domain of item prices consisting of the values "1" and "2" and an
>> empty relation {ItemID, Price} known by the relvar name "Items", I
>> take it that the logical complement of "Items" has four tuples -
>> loosely, <a,1>,<a,2>,<b,1>,<b,2>.
>>
>> If I select from Items where Price = 3, should a dbms answer with an
>> empty relation or should it take exception, such as "illegal
>> question"? If it doesn't take exception, then I'd guess it is
>> supposing a complement that has an infinite number of tuples which
>> couldn't be implemented on a finite computer.
>>
>> As unhappy as this makes me, I'm now thinking exceptions can't be
>> avoided in practice.
>>
>> p
>
> Ie., is it a logical mistake to allow the query in the first place?

No, it is not a logical mistake. Equality evaluates to false for values of disjoint types. Because 3 is not in your type, the comparison evaluates to false.

However, that doesn't prevent a dbms from treating the comparison as an error on the strictly empirical grounds that it is more likely a human error than a desired comparison. Received on Thu May 03 2007 - 02:49:18 CEST

Original text of this message