[Resend: Domains and function] - Mailing list pgsql-hackers

From elein
Subject [Resend: Domains and function]
Date
Msg-id 20040205124621.K2622@cookie.varlena.com
Whole thread Raw
Responses Re: [Resend: Domains and function]  (Robert Treat <xzilla@users.sourceforge.net>)
List 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@varlena.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@varlena.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 -----


pgsql-hackers by date:

Previous
From: "Dilip Angal"
Date:
Subject: Aggregation question
Next
From: Rod Taylor
Date:
Subject: Re: PITR Dead horse?