Gavin Sherry wrote:

8.14 <type predicate> to be exact.



8.18 in SQL200x. I don't think the current implementation quite meets the spec however:


regression=# select f2 is null, f2 is of(int) from bar;
 ?column? | ?column?
----------+----------
 f        | t
 t        | t
(2 rows)

If I read the spec correctly, the null value should return null, not 't' in the above.

General Rules
1) Let V be the result of evaluating the <row value predicand>.
2) Let ST be the set consisting of every type that is either some
   exclusively specified type, or a subtype of some inclusively
   specified type.
3) Let TPR be the result of evaluating the <type predicate>.

Case:
a) If V is the null value, then TPR is Unknown.
b) If the most specific type of V is a member of ST, then TPR is True .
c) Otherwise, TPR is False

Probably best not to document it until someone gets around to fixing it -- I can do it, but not for the next few weeks at least.

Joe


---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to