Re: bug: virtual generated column can be partition key
От | Ashutosh Bapat |
---|---|
Тема | Re: bug: virtual generated column can be partition key |
Дата | |
Msg-id | CAExHW5tBizivPO34Y3zv933jCruyWxtA_-cjm1TwPb2GMGJTGA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: bug: virtual generated column can be partition key (jian he <jian.universality@gmail.com>) |
Список | pgsql-hackers |
On Tue, Apr 22, 2025 at 11:19 AM jian he <jian.universality@gmail.com> wrote:
On Tue, Apr 22, 2025 at 11:45 AM Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com> wrote:
>
>
> While looking at this I realised that a generated column may end up being part of the partition key if the partition key expression contains a whole row reference. Attached patch also has a fix and a testcase for the same. PARTITION BY RANGE ((gtest_part_key is not null)) expression in the test is kinda silly, but it tests the whole-row reference as part of an expression. I haven't looked for more sensible expressions.
>
I begin to wonder if wholerow reference should be allowed.
then error occurred:
drop table if exists t4;
CREATE TABLE t4(f1 int, f2 bigint) PARTITION BY list ((t4));
create table t4_1 partition of t4 for values in ((1,2));
alter table t4 alter column f2 set data type text using f2;
insert into t4 select 1, '2';
ERROR: invalid memory alloc request size 18446744073709551615
I can reproduce this error without my patc. It seems to be a different existing bug.
Best Wishes,
Ashutosh Bapat
В списке pgsql-hackers по дате отправления: