forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitac88807
committed
jit: Re-allow JIT compilation of execGrouping.c hashtable comparisons.
In the course of5567d12,356687b and317ffdf, I changedBuildTupleHashTable[Ext]'s call to ExecBuildGroupingEqual to not passin the parent node, but NULL. Which in turn prevents the tupleequality comparator from being JIT compiled. While that fixesbug #15486, it is not actually necessary after all of the above commits,as we don't re-build the comparator when using the newBuildTupleHashTableExt() interface (as the content of the hashtableare reset, but the TupleHashTable itself is not).Therefore re-allow jit compilation for callers that useBuildTupleHashTableExt with a separate context for "metadata" andcontent.As in the previous commit, there's ongoing work to make this easier totest to prevent such regressions in the future, but thatinfrastructure is not going to be backpatchable.The performance impact of not JIT compiling hashtable equalitycomparators can be substantial e.g. for aggregation queries thataggregate a lot of input rows to few output rows (when there are a lotof output groups, there will be fewer comparisons).Author: Andres FreundDiscussion:https://postgr.es/m/20190927072053.njf6prdl3vb7y7qb@alap3.anarazel.deBackpatch: 11, just as5567d121 parent97e971e commitac88807
1 file changed
+12
-1
lines changedLines changed: 12 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
166 | 166 |
| |
167 | 167 |
| |
168 | 168 |
| |
| 169 | + | |
169 | 170 |
| |
170 | 171 |
| |
171 | 172 |
| |
| |||
210 | 211 |
| |
211 | 212 |
| |
212 | 213 |
| |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
213 | 224 |
| |
214 | 225 |
| |
215 | 226 |
| |
216 | 227 |
| |
217 | 228 |
| |
218 | 229 |
| |
219 |
| - | |
| 230 | + | |
220 | 231 |
| |
221 | 232 |
| |
222 | 233 |
| |
|
0 commit comments
Comments
(0)