Re: replacing mysql enum

From: Greg Stark <gsstark(at)mit(dot)edu>
To: Ian Barwick <barwick(at)gmail(dot)com>
Cc: Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>, Kenneth Gonsalves <lawgon(at)thenilgiris(dot)com>, pgsql-sql(at)postgresql(dot)org
Subject: Re: replacing mysql enum
Date: 2004-12-11 17:25:50
Message-ID: 87llc44uht.fsf@stark.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


Ian Barwick <barwick(at)gmail(dot)com> writes:

> What I still don't quite understand is why IN in a CHECK context is
> handled differently to say: select 1 where 'x' in (null,'a','b','c') ?
> This could be a bit of a gotcha for anyone constructing a constraint
> similar to the original poster's and not realising it has no effect.

well

WHERE foo IN (null, ...)

returns null if foo isn't explicitly in the list (ie, "it may or may not equal
the unknown value in the list"). And I think constraints that return null are
deemed to have succeeded.

--
greg

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2004-12-11 17:56:50 Re: replacing mysql enum
Previous Message Frank Bax 2004-12-11 17:10:02 Re: Cast NULL into Timestamp?