From: | Dominique Devienne <ddevienne(at)gmail(dot)com> |
---|---|
To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: WHERE col = ANY($1) extended to 2 or more columns? |
Date: | 2023-02-09 16:09:10 |
Message-ID: | CAFCRh-_haa=ZrgMWEFmppqDHaKE1nO3=VqUfXK+OAZPo+9VO-w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, Feb 9, 2023 at 5:03 PM Dominique Devienne <ddevienne(at)gmail(dot)com>
wrote:
> On Thu, Feb 9, 2023 at 4:51 PM David G. Johnston <
> david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
>
>> On Thu, Feb 9, 2023 at 8:41 AM Dominique Devienne <ddevienne(at)gmail(dot)com>
>> wrote:
>>
>>> Now we'd like to do the same for composite keys, and I don't know how to
>>> do that.
>>>
>>
>> An array-of-composites is simply:
>> SELECT ARRAY[ ROW(1, 'one'), ROW(2, 'two') ]::composite_type[];
>>
>
> Thanks. I don't consider that "simple" myself :). But I'm definitely not
> an advanced PostgreSQL user!
> Would still appreciate a more fleshed out demo, if anyone is kind enough
> to provide it. Thanks, --DD
>
Also, I'm still not sure how to write that WHERE clause, with the $1 being
an array of a composite type.
And since this is a binary bind, what kind of OIDs to use. Your example
seems to generate a type on-the-fly for example David.
Will we need to create custom types just so we have OIDs we can use to
assemble the bytes of the array-of-composite bind?
I believe there's an implicit ROW type per table created. Are there also
implicit types for composite PKs and/or UNIQUE constraints?
Lots of questions...
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2023-02-09 16:15:51 | Re: Concurrency issue with DROP INDEX CONCURRENTLY |
Previous Message | Adrian Klaver | 2023-02-09 16:05:52 | Re: Using PostgreSQL for service discovery and health-check |