| From: | elein <elein(at)varlena(dot)com> | 
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org | 
| Cc: | elein <elein(at)varlena(dot)com> | 
| Subject: | [Resend: Domains and function] | 
| Date: | 2004-02-05 20:46:21 | 
| Message-ID: | 20040205124621.K2622@cookie.varlena.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-bugs pgsql-hackers | 
I sent this a while ago to general and then
hackers and got no response.
The question is whether to qualify the return value
of a function when it returns a domain with
a check clause.
I believe it should--otherwise the domain is
only useful on insert and is not acting
like a full fledged type.  However, I suspect
that there is no underlying support for
type checks in the general system.
Elein
----- Forwarded message from elein <elein(at)varlena(dot)com> -----
I can create a function with a domain and
define it to return a domain.
The parameter is checked to see if it qualifies
in the constraint of the domain, however, the
return value is not.
Is this a bug?  Is the author of the function 
responsible for re-inforcing the constraint
at runtime?
This is the test case in 7.4:
=# create domain one2hundred AS integer
-#    DEFAULT '1' CONSTRAINT email_domain check( VALUE > 0 AND VALUE <=100 );
CREATE DOMAIN
=# 
=# create function gb52_add( one2hundred )
-# returns one2hundred as
-# ' 
'# BEGIN
'#    RETURN $1 + 10;
'# END;
'# ' language 'plpgsql';
CREATE FUNCTION
=# 
=# select gb52_add( 80);
 gb52_add 
----------
       90
(1 row)
=# select gb52_add( 100);
 gb52_add 
----------
      110
(1 row)
=# select gb52_add( 90);
 gb52_add 
----------
      100
(1 row)
=# select gb52_add( 91);
 gb52_add 
----------
      101
(1 row)
=# select gb52_add( 191);
ERROR:  value for domain one2hundred violates check constraint "email_domain"
============================================================
elein(at)varlena(dot)com        Varlena, LLC        www.varlena.com
PostgreSQL Consulting, Support & Training
PostgreSQL General Bits   http://www.varlena.com/GeneralBits/
=============================================================
I have always depended on the [QA] of strangers.
----- End forwarded message -----
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Achilleus Mantzios | 2004-02-06 08:13:25 | Re: IN does not negate, exists does | 
| Previous Message | Tom Lane | 2004-02-05 17:03:07 | Re: IN does not negate, exists does | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Marc G. Fournier | 2004-02-05 21:04:58 | Re: It's past time to redo the smgr API | 
| Previous Message | Chester Kustarz | 2004-02-05 20:45:19 | Re: PITR Dead horse? |