pgsql: jit: Re-allow JIT compilation of execGrouping.c hashtable compar
От | Andres Freund |
---|---|
Тема | pgsql: jit: Re-allow JIT compilation of execGrouping.c hashtable compar |
Дата | |
Msg-id | E1iEic2-0005YV-BE@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
jit: Re-allow JIT compilation of execGrouping.c hashtable comparisons. In the course of 5567d12ce03, 356687bd8 and 317ffdfeaac, I changed BuildTupleHashTable[Ext]'s call to ExecBuildGroupingEqual to not pass in the parent node, but NULL. Which in turn prevents the tuple equality comparator from being JIT compiled. While that fixes bug #15486, it is not actually necessary after all of the above commits, as we don't re-build the comparator when using the new BuildTupleHashTableExt() interface (as the content of the hashtable are reset, but the TupleHashTable itself is not). Therefore re-allow jit compilation for callers that use BuildTupleHashTableExt with a separate context for "metadata" and content. As in the previous commit, there's ongoing work to make this easier to test to prevent such regressions in the future, but that infrastructure is not going to be backpatchable. The performance impact of not JIT compiling hashtable equality comparators can be substantial e.g. for aggregation queries that aggregate a lot of input rows to few output rows (when there are a lot of output groups, there will be fewer comparisons). Author: Andres Freund Discussion: https://postgr.es/m/20190927072053.njf6prdl3vb7y7qb@alap3.anarazel.de Backpatch: 11, just as 5567d12ce03 Branch ------ REL_11_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/51ad5b9bd3e317b0f6ffebaedbac23c9913269bf Modified Files -------------- src/backend/executor/execGrouping.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
В списке pgsql-committers по дате отправления: