From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
---|---|
To: | jian he <jian(dot)universality(at)gmail(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Virtual generated columns |
Date: | 2024-07-29 14:59:07 |
Message-ID: | 732a9543-0312-4f0c-a471-857b507a3546@eisentraut.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 22.07.24 12:53, jian he wrote:
> another bug?
> drop table gtest12v;
> CREATE TABLE gtest12v (a int PRIMARY KEY, b bigint, c int GENERATED
> ALWAYS AS (b * 2) VIRTUAL);
> insert into gtest12v (a,b) values (11, 22147483647);
> table gtest12v;
>
> insert ok, but select error:
> ERROR: integer out of range
>
> should insert fail?
I think this is the correct behavior.
There has been a previous discussion:
https://www.postgresql.org/message-id/2e3d5147-16f8-af0f-00ab-4c72cafc896f%402ndquadrant.com
> CREATE TABLE gtest12v (a int PRIMARY KEY, b bigint, c int GENERATED
> ALWAYS AS (b * 2) VIRTUAL);
> CREATE SEQUENCE sequence_testx OWNED BY gtest12v.c;
>
> seems to work. But I am not sure if there are any corner cases that
> make it not work.
> just want to raise this issue.
I don't think this matters. You can make a sequence owned by any
column, even if that column doesn't have a default that invokes the
sequence. So nonsensical setups are possible, but they are harmless.
From | Date | Subject | |
---|---|---|---|
Next Message | Alexander Lakhin | 2024-07-29 15:00:00 | Re: Remove dead code generation tools in src/backend/utils/mb/ |
Previous Message | Joel Jacobson | 2024-07-29 14:42:17 | Re: Optimize mul_var() for var1ndigits >= 8 |