Thread: BUG #18393: Bad multiple "inplace" insert into domain of complex type
BUG #18393: Bad multiple "inplace" insert into domain of complex type
From
PG Bug reporting form
Date:
The following bug has been logged on the website: Bug reference: 18393 Logged by: Pablo Kharo Email address: pashaharkov@yandex.ru PostgreSQL version: 16.2 Operating system: Mac OS 14.1 Description: Hi, i have found strange thing when was using domain of complex type. When i was using insert like this to domain of type: ``` CREATE TYPE user_tp AS ( uid TEXT, email text, timestamp TIMESTAMP ); create domain user_domain as public.user_tp; CREATE TABLE comps_tb ( id SERIAL PRIMARY KEY, us user_domain NOT NULL ); insert into public.comps_tb ( us.uid, us.email ) values ( '213'::TEXT, 'email'::TEXT ), ( '321'::TEXT, 'email2'::TEXT ); select id, (us).uid, (us).email from public.comps_tb; ``` I have output like this: id|uid |email | --+-------+----------+ 1|(213,,)|(,email,) | 2|(321,,)|(,email2,)| But i expecting id|uid |email | --+-------+----------+ 1|213|email | 2|321|email2| So, it has created additional brackets in uid and email. BUT if i inserting into this table only one element, it inserts without additional brackets. Also additional brackets are not creating when i am using complex type itself - not domain,
PG Bug reporting form <noreply@postgresql.org> writes: > Hi, i have found strange thing when was using domain of complex type. Yeah, that looks pretty broken. It works correctly if you just use the composite type directly, but not with the domain. I'll go look for the cause in a bit. Thanks for the report! regards, tom lane