pgsql: Improve code inferring length of bitmap for JITed tupledeformin

Поиск
Список
Период
Сортировка
От Andres Freund
Тема pgsql: Improve code inferring length of bitmap for JITed tupledeformin
Дата
Msg-id E1hLcED-0000Ke-F6@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Improve code inferring length of bitmap for JITed tuple deforming.

While discussing comment improvements (see next commit) by Justin
Pryzby, Tom complained about a few details of the logic to infer the
length of the NULL bitmap when building the JITed tuple deforming
function. That bitmap allows to avoid checking the tuple header's
natts, a check which often causes a pipeline stall

Improvements:
a) As long as missing columns aren't taken into account, we can
   continue to infer the length of the NULL bitmap from NOT NULL
   columns following it. Previously we stopped at the first missing
   column.  It's unlikely to matter much in practice, but the
   alternative would have been to document why we stop.
b) For robustness reasons it seems better to also check against
   attisdropped - RemoveAttributeById() sets attnotnull to false, but
   an additional check is trivial.
c) Improve related comments

Discussion: https://postgr.es/m/20637.1555957068@sss.pgh.pa.us
Backpatch: -

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3a48005b0049d69b4376e6ae386479ae3d255a11

Modified Files
--------------
src/backend/jit/llvm/llvmjit_deform.c | 37 +++++++++++++++++++----------------
1 file changed, 20 insertions(+), 17 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Julien Rouhaud
Дата:
Сообщение: Re: pgsql: Track block level checksum failures in pg_stat_database
Следующее
От: Andres Freund
Дата:
Сообщение: pgsql: Fix unused variable compiler warning in !debug builds.