forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitdf816f6
committed
Add IntegerSet, to hold large sets of 64-bit ints efficiently.
The set is implemented as a B-tree, with a compact representation at leafitems, using Simple-8b algorithm, so that clusters of nearby values useless memory.The IntegerSet isn't used for anything yet, aside from the test code, butwe have two patches in the works that would benefit from this: A patch toallow GiST vacuum to delete empty pages, and a patch to reduce heapVACUUM's memory usage, by storing the list of dead TIDs more efficientlyand lifting the 1 GB limit on its size.This includes a unit test module, in src/test/modules/test_integerset.It can be used to verify correctness, as a regression test, but if you runit manully, it can also print memory usage and execution time of some ofthe tests.Author: Heikki Linnakangas, Andrey BorodinReviewed-by: Julien RouhaudDiscussion:https://www.postgresql.org/message-id/b5e82599-1966-5783-733c-1a947ddb729f@iki.fi1 parent5e1963f commitdf816f6
File tree
13 files changed
+1738
-1
lines changed- src
- backend/lib
- include/lib
- test/modules
- test_integerset
- expected
- sql
13 files changed
+1738
-1
lines changedLines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
16 |
| - | |
| 16 | + | |
17 | 17 |
| |
18 | 18 |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
| 16 | + | |
| 17 | + | |
16 | 18 |
| |
17 | 19 |
| |
18 | 20 |
| |
|
0 commit comments
Comments
(0)