Commit 35ea756
committed
Refactor typcache.c's record typmod hash table.
Previously, tuple descriptors were stored in chains keyed by a fixed size
array of OIDs. That meant there were effectively two levels of collision
chain -- one inside and one outside the hash table. Instead, let dynahash.c
look after conflicts for us by supplying a proper hash and equal function
pair.
This is a nice cleanup on its own, but also simplifies followup
changes allowing blessed TupleDescs to be shared between backends
participating in parallel query.
Author: Thomas Munro
Reviewed-By: Andres Freund
Discussion: https://postgr.es/m/CAEepm%3D34GVhOL%2BarUx56yx7OPk7%3DqpGsv3CpO54feqjAwQKm5g%40mail.gmail.com1 parent 0052a02 commit 35ea756
File tree
3 files changed
+65
-38
lines changed- src
- backend
- access/common
- utils/cache
- include/access
3 files changed
+65
-38
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| 30 | + | |
29 | 31 | | |
30 | 32 | | |
31 | 33 | | |
| |||
443 | 445 | | |
444 | 446 | | |
445 | 447 | | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
446 | 473 | | |
447 | 474 | | |
448 | 475 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
133 | 133 | | |
134 | 134 | | |
135 | 135 | | |
136 | | - | |
137 | | - | |
138 | | - | |
| 136 | + | |
139 | 137 | | |
140 | | - | |
141 | 138 | | |
142 | 139 | | |
143 | 140 | | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
| 141 | + | |
149 | 142 | | |
150 | 143 | | |
151 | 144 | | |
| |||
1297 | 1290 | | |
1298 | 1291 | | |
1299 | 1292 | | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
| 1312 | + | |
| 1313 | + | |
| 1314 | + | |
1300 | 1315 | | |
1301 | 1316 | | |
1302 | 1317 | | |
| |||
1310 | 1325 | | |
1311 | 1326 | | |
1312 | 1327 | | |
1313 | | - | |
1314 | 1328 | | |
1315 | | - | |
1316 | | - | |
1317 | 1329 | | |
1318 | 1330 | | |
1319 | 1331 | | |
| |||
1325 | 1337 | | |
1326 | 1338 | | |
1327 | 1339 | | |
1328 | | - | |
| 1340 | + | |
1329 | 1341 | | |
| 1342 | + | |
| 1343 | + | |
1330 | 1344 | | |
1331 | | - | |
| 1345 | + | |
| 1346 | + | |
1332 | 1347 | | |
1333 | 1348 | | |
1334 | 1349 | | |
1335 | 1350 | | |
1336 | 1351 | | |
1337 | 1352 | | |
1338 | | - | |
1339 | | - | |
1340 | | - | |
1341 | | - | |
1342 | | - | |
1343 | | - | |
1344 | | - | |
1345 | | - | |
| 1353 | + | |
1346 | 1354 | | |
1347 | | - | |
| 1355 | + | |
1348 | 1356 | | |
1349 | | - | |
| 1357 | + | |
1350 | 1358 | | |
1351 | | - | |
1352 | | - | |
1353 | | - | |
1354 | | - | |
1355 | | - | |
1356 | | - | |
1357 | | - | |
1358 | | - | |
1359 | | - | |
1360 | | - | |
1361 | | - | |
1362 | | - | |
1363 | | - | |
| 1359 | + | |
| 1360 | + | |
1364 | 1361 | | |
1365 | 1362 | | |
1366 | 1363 | | |
| 1364 | + | |
1367 | 1365 | | |
1368 | 1366 | | |
1369 | 1367 | | |
| |||
1382 | 1380 | | |
1383 | 1381 | | |
1384 | 1382 | | |
1385 | | - | |
| 1383 | + | |
1386 | 1384 | | |
1387 | 1385 | | |
1388 | 1386 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
| 117 | + | |
| 118 | + | |
117 | 119 | | |
118 | 120 | | |
119 | 121 | | |
| |||
0 commit comments