From: | PG Bug reporting form <noreply(at)postgresql(dot)org> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Cc: | vvvasilev93(at)gmail(dot)com |
Subject: | BUG #15311: Incorrect comparison of the empty array with the value of the custom type from the table field |
Date: | 2018-08-07 09:59:50 |
Message-ID: | 153363599037.1298.18121443062293897247@wrigleys.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: 15311
Logged by: Виктор Васильев
Email address: vvvasilev93(at)gmail(dot)com
PostgreSQL version: 10.4
Operating system: Ubuntu 16.04 LTS
Description:
test_db=> select version()
PostgreSQL 10.4 (Ubuntu 10.4-2.pgdg16.04+1) on i686-pc-linux-gnu, compiled
by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609, 32-bit
test_db=> create type type_mnemonic as enum ('ex', 'in');
CREATE TYPE
test_db=> create table tbl_for_tst(id integer, type type_mnemonic[]);
CREATE TABLE
test_db=> insert into tbl_for_tst(id, type) values (1, '{ex}'), (2, '{in}'),
(3, '{ex}'), (4, '{in}');
INSERT 0 4
test_db=> select * from tbl_for_tst;
id | type
----+------
1 | {ex}
2 | {in}
3 | {ex}
4 | {in}
(4 строки)
test_db=> do $$
declare
r tbl_for_tst;
vtbl_for_tst jsonb;
adata jsonb := '{"type":[]}';
begin
select to_jsonb(e)
into vtbl_for_tst
from tbl_for_tst e
where e.id = 1;
r := jsonb_populate_record(r, vtbl_for_tst || adata);
update tbl_for_tst e
set type = r.type
where e.id = 1;
end;
$$;
DO
test_db=> select id, type, type = '{}' as res from tbl_for_tst;
id | type | res
----+------+----------
2 | {in} | f
3 | {ex} | f
4 | {in} | f
1 | {} | f
(4 строки)
test_db=> update tbl_for_tst set type = '{}' where id = 4;
UPDATE 1
test_db=> select id, type, type = '{}' as res from tbl_for_tst;
id | type | res
----+------+----------
2 | {in} | f
3 | {ex} | f
1 | {} | f
4 | {} | t
(4 строки)
From | Date | Subject | |
---|---|---|---|
Next Message | PG Bug reporting form | 2018-08-07 10:52:10 | BUG #15312: Possible access to unintended variable in "postgres/src/backend/postmaster/pgstat.c" line 2698 |
Previous Message | Haribabu Kommi | 2018-08-07 09:40:24 | Re: BUG #15310: pg_upgrade dissociates event triggers from extensions |