BUG #18970: Atempt to alter type of table column used in row type with check leads to assertion failure
От | PG Bug reporting form |
---|---|
Тема | BUG #18970: Atempt to alter type of table column used in row type with check leads to assertion failure |
Дата | |
Msg-id | 18970-a7d1cfe1f8d5d8d9@postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #18970: Atempt to alter type of table column used in row type with check leads to assertion failure
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 18970 Logged by: Alexander Lakhin Email address: exclusion@gmail.com PostgreSQL version: 18beta1 Operating system: Ubuntu 24.04 Description: The following script: CREATE TABLE t1(a int); CREATE TABLE t2(b t1 CHECK ((b).a IS NOT NULL)); ALTER TABLE t1 ALTER COLUMN a TYPE numeric; triggers 2025-06-28 06:52:21.201 UTC [2233016] LOG: statement: ALTER TABLE t1 ALTER COLUMN a TYPE numeric; TRAP: failed Assert("lockmode != NoLock || IsBootstrapProcessingMode() || CheckRelationLockedByMe(r, AccessShareLock, true)"), File: "relation.c", Line: 67, PID: 2233016 ExceptionalCondition at assert.c:52:13 relation_open at relation.c:72:6 transformAlterTableStmt at parse_utilcmd.c:3543:8 ATPostAlterTypeParse at tablecmds.c:15600:20 ATPostAlterTypeCleanup at tablecmds.c:15478:3 ATRewriteCatalogs at tablecmds.c:5336:11 ATController at tablecmds.c:4882:2 AlterTable at tablecmds.c:4535:1 ... with an assert-enabled build, and fails with just ERROR: cannot alter table "t1" because column "t2.b" uses its row type with no asserts. Reproduced starting from commit b04aeb0a0, which added the Assert.
В списке pgsql-bugs по дате отправления: