Thread
Commits
-
Make INSERT-from-multiple-VALUES-rows handle domain target columns.
- b4a71cf65d70 17.0 landed
- 82c87af7a0ac 12.19 landed
- 7c61d23422af 15.7 landed
- 52898c63e724 16.3 landed
- 3621ffd9f21b 14.12 landed
- 0200398dd39e 13.15 landed
-
BUG #18393: Bad multiple "inplace" insert into domain of complex type
The Post Office <noreply@postgresql.org> — 2024-03-14T06:21:16Z
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, -
Re: BUG #18393: Bad multiple "inplace" insert into domain of complex type
Tom Lane <tgl@sss.pgh.pa.us> — 2024-03-14T15:12:12Z
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