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;
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 |