pgsql: Kluge slot_compile_deform() to ignore incorrect attnotnull marki
От | Tom Lane |
---|---|
Тема | pgsql: Kluge slot_compile_deform() to ignore incorrect attnotnull marki |
Дата | |
Msg-id | [email protected] обсуждение исходный текст |
Список | pgsql-committers |
Kluge slot_compile_deform() to ignore incorrect attnotnull markings. Since we mustn't force an initdb in released branches, there is no simple way to correct the markings of pg_subscription.subslotname and pg_subscription_rel.srsublsn as attnotnull in existing pre-v13 installations. Fortunately, released branches don't rely on attnotnull being correct for much. The planner looks at it in relation_excluded_by_constraints, but it'd be difficult to get that to matter for a query on a system catalog. The only place where it's really problematic is in JIT's slot_compile_deform(), which can produce incorrect code that crashes if there are NULLs in an allegedly not-null column. Hence, hack up slot_compile_deform() to be specifically aware of these two incorrect markings and not trust them. This applies to v11 and v12; the JIT code didn't exist before that, and we've fixed the markings in v13. Discussion: https://postgr.es/m/[email protected] Branch ------ REL_11_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/855195a7ba9875648f958c42aba91ad382e82edd Modified Files -------------- src/backend/jit/llvm/llvmjit_deform.c | 24 ++++++++++++++++++++---- src/test/regress/expected/subscription.out | 7 +++++++ src/test/regress/sql/subscription.sql | 2 ++ 3 files changed, 29 insertions(+), 4 deletions(-)
В списке pgsql-committers по дате отправления: