forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitbea3d7e
committed
Use MemoryContext API for regex memory management.
Previously, regex_t objects' memory was managed with malloc() and free()directly. Switch to palloc()-based memory management instead.Advantages: * memory used by cached regexes is now visible with MemoryContext observability tools * cleanup can be done automatically in certain failure modes (something that later commits will take advantage of) * cleanup can be done in bulkOn the downside, there may be more fragmentation (wasted memory) due toper-regex MemoryContext objects. This is a problem shared with othercached objects in PostgreSQL and can probably be improved with latertuning.Thanks to Noah Misch for suggesting this general approach, whichunblocks later work on interrupts.Suggested-by: Noah Misch <noah@leadboat.com>Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>Discussion:https://postgr.es/m/CA%2BhUKGK3PGKwcKqzoosamn36YW-fsuTdOPPF1i_rtEO%3DnEYKSg%40mail.gmail.com1 parentfcd77d5 commitbea3d7e
File tree
3 files changed
+45
-20
lines changed- src
- backend
- regex
- utils/adt
- include/regex
3 files changed
+45
-20
lines changedLines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
32 | 32 |
| |
33 | 33 |
| |
34 | 34 |
| |
35 |
| - | |
| 35 | + | |
36 | 36 |
| |
37 | 37 |
| |
38 | 38 |
| |
|
Lines changed: 41 additions & 16 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
96 | 96 |
| |
97 | 97 |
| |
98 | 98 |
| |
| 99 | + | |
| 100 | + | |
| 101 | + | |
99 | 102 |
| |
100 | 103 |
| |
101 | 104 |
| |
| 105 | + | |
102 | 106 |
| |
103 | 107 |
| |
104 | 108 |
| |
| |||
145 | 149 |
| |
146 | 150 |
| |
147 | 151 |
| |
| 152 | + | |
148 | 153 |
| |
149 | 154 |
| |
150 | 155 |
| |
| |||
172 | 177 |
| |
173 | 178 |
| |
174 | 179 |
| |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
175 | 187 |
| |
176 | 188 |
| |
177 | 189 |
| |
| |||
183 | 195 |
| |
184 | 196 |
| |
185 | 197 |
| |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
186 | 210 |
| |
187 | 211 |
| |
188 | 212 |
| |
| |||
209 | 233 |
| |
210 | 234 |
| |
211 | 235 |
| |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
212 | 240 |
| |
213 |
| - | |
214 |
| - | |
215 |
| - | |
216 |
| - | |
| 241 | + | |
| 242 | + | |
217 | 243 |
| |
218 |
| - | |
219 |
| - | |
220 |
| - | |
221 |
| - | |
222 |
| - | |
223 |
| - | |
224 |
| - | |
225 |
| - | |
226 |
| - | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
227 | 247 |
| |
228 | 248 |
| |
229 | 249 |
| |
| |||
236 | 256 |
| |
237 | 257 |
| |
238 | 258 |
| |
239 |
| - | |
240 |
| - | |
| 259 | + | |
| 260 | + | |
241 | 261 |
| |
242 | 262 |
| |
| 263 | + | |
| 264 | + | |
| 265 | + | |
243 | 266 |
| |
244 | 267 |
| |
245 | 268 |
| |
246 | 269 |
| |
247 | 270 |
| |
248 | 271 |
| |
| 272 | + | |
| 273 | + | |
249 | 274 |
| |
250 | 275 |
| |
251 | 276 |
| |
| |||
1990 | 2015 |
| |
1991 | 2016 |
| |
1992 | 2017 |
| |
1993 |
| - | |
| 2018 | + | |
1994 | 2019 |
| |
1995 | 2020 |
| |
1996 | 2021 |
|
Lines changed: 3 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
49 | 49 |
| |
50 | 50 |
| |
51 | 51 |
| |
52 |
| - | |
53 |
| - | |
54 |
| - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
55 | 55 |
| |
56 | 56 |
| |
57 | 57 |
| |
|
0 commit comments
Comments
(0)