postgresql/src/backend/access/common
John Naylor 8a1b31e6e5 Use bump context for TID bitmaps stored by vacuum
Vacuum does not pfree individual entries, and only frees the entire
storage space when finished with it. This allows using a bump context,
eliminating the chunk header in each leaf allocation. Most leaf
allocations will be 16 to 32 bytes, so that's a significant savings.
TidStoreCreateLocal gets a boolean parameter to indicate that the
created store is insert-only.

This requires a separate tree context for iteration, since we free
the iteration state after iteration completes.

Discussion: https://postgr.es/m/CANWCAZac%3DpBePg3rhX8nXkUuaLoiAJJLtmnCfZsPEAS4EtJ%3Dkg%40mail.gmail.com
Discussion: https://postgr.es/m/CANWCAZZQFfxvzO8yZHFWtQV+Z2gAMv1ku16Vu7KWmb5kZQyd1w@mail.gmail.com
2024-04-08 14:39:49 +07:00
..
Makefile Add TIDStore, to store sets of TIDs (ItemPointerData) efficiently. 2024-03-21 10:08:42 +09:00
attmap.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
bufmask.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
detoast.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
heaptuple.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
indextuple.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
meson.build Add TIDStore, to store sets of TIDs (ItemPointerData) efficiently. 2024-03-21 10:08:42 +09:00
printsimple.c Make the order of the header file includes consistent 2024-03-13 15:07:00 +01:00
printtup.c Invent SERIALIZE option for EXPLAIN. 2024-04-03 17:41:57 -04:00
relation.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
reloptions.c Revert "Custom reloptions for table AM" 2024-04-02 11:29:00 +03:00
scankey.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
session.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
syncscan.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
tidstore.c Use bump context for TID bitmaps stored by vacuum 2024-04-08 14:39:49 +07:00
toast_compression.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
toast_internals.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
tupconvert.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
tupdesc.c Separate equalRowTypes() from equalTupleDescs() 2024-03-17 05:58:04 +01:00