BUG #17464: Domain type. If the value field(CREATE DOMAIN) is set to null, errors cannot be intercepted. - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #17464: Domain type. If the value field(CREATE DOMAIN) is set to null, errors cannot be intercepted.
Date
Msg-id 17464-4751c9d69159f363@postgresql.org
Whole thread Raw
Responses Re: BUG #17464: Domain type. If the value field(CREATE DOMAIN) is set to null, errors cannot be intercepted.  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      17464
Logged by:          Domain type. If the value field(CREATE DOMAIN) is set to null, errors cannot
be intercepted.
Email address:      dafoer_x@163.com
PostgreSQL version: 13.2
Operating system:   centos7.6 x86
Description:

Domain type. If the value field(CREATE DOMAIN) is set to null, errors cannot
be intercepted.
Because texteq cannot accept null input parameters,
op->d.domainCheck.checknull is set to the wrong value .

detail:
postgres=# call f3_basic('男');
NOTICE:  a_xb = 男
CALL
postgres=# call  f3_basic('她');
NOTICE:  a_xb = 她
CALL


eg.
drop domain xb;
CREATE DOMAIN xb AS TEXT CHECK
(
   VALUE = '男'
   OR VALUE ='女'
   OR VALUE = null
 );
drop procedure if exists f3_basic(a_xb xb);
CREATE OR REPLACE procedure f3_basic (a_xb xb)  AS
$$
BEGIN
 RAISE NOTICE 'a_xb = %',a_xb;
END;
$$
LANGUAGE PLPGSQL;
-- success
call f3_basic('男');
-- expected error
call  f3_basic('她');
drop procedure if exists f3_basic(a_xb xb);
drop domain xb;


pgsql-bugs by date:

Previous
From: "wangsh.fnst@fujitsu.com"
Date:
Subject: Re: "unexpected duplicate for tablespace" problem in logical replication
Next
From: "David G. Johnston"
Date:
Subject: Re: BUG #17464: Domain type. If the value field(CREATE DOMAIN) is set to null, errors cannot be intercepted.