1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-11 10:01:57 +03:00

Quick adaption of JIT tuple deforming to the fast default patch.

Instead using memset to set tts_isnull, call the new
slot_getmissingattrs().

Also fix a bug (= instead of >=) in the code generation. Normally = is
correct, but when repeatedly deforming fields not in a
tuple (e.g. deform up to natts + 1 and then natts + 2) >= is needed.

Discussion: https://postgr.es/m/20180328010053.i2qvsuuusst4lgmc@alap3.anarazel.de
This commit is contained in:
Andres Freund
2018-03-27 21:03:10 -07:00
parent b4013b8e4a
commit f4f5845b31
6 changed files with 41 additions and 57 deletions

View File

@ -112,9 +112,13 @@ getmissingattr(TupleDesc tupleDesc,
}
/*
* Fill in missing values for a TupleTableSlot
* Fill in missing values for a TupleTableSlot.
*
* This is only exposed because it's needed for JIT compiled tuple
* deforming. That exception aside, there should be no callers outside of this
* file.
*/
static void
void
slot_getmissingattrs(TupleTableSlot *slot, int startAttNum, int lastAttNum)
{
AttrMissing *attrmiss = NULL;