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

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: dafoer_x(at)163(dot)com
Subject: BUG #17464: Domain type. If the value field(CREATE DOMAIN) is set to null, errors cannot be intercepted.
Date: 2022-04-12 12:41:23
Message-ID: 17464-4751c9d69159f363@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)163(dot)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;

Responses

Browse pgsql-bugs by date

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