The following bug has been logged on the website:
Bug reference: 18608
Logged by: Alexander Lakhin
Email address: exclusion@gmail.com
PostgreSQL version: 17rc1
Operating system: Ubuntu 22.04
Description:
The following script:
CREATE TABLE t (a int);
CREATE VIEW v AS SELECT 1;
CREATE RULE v_ins AS ON INSERT TO v
DO INSTEAD INSERT INTO t
SELECT * FROM (SELECT count(NEW) FROM t);
triggers an assertion failure:
TRAP: failed Assert("pstate->p_lateral_active"), File: "parse_agg.c", Line:
385, PID: 2785906
Without asserts enabled, it fails with:
ERROR: aggregate functions are not allowed in FROM clause of their own
query level
Reproduced on REL_9_3_STABLE .. master.
PG Bug reporting form <noreply@postgresql.org> writes:
> [ NEW reference confuses check_agglevels_and_constraints ]
> triggers an assertion failure:
> TRAP: failed Assert("pstate->p_lateral_active"), File: "parse_agg.c", Line:
> 385, PID: 2785906
> Without asserts enabled, it fails with:
> ERROR: aggregate functions are not allowed in FROM clause of their own
> query level
Interesting. I'm inclined to just remove the Assert, since it's
evidently wrong and the ensuing error seems sufficiently on-point.
regards, tom lane
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера