- Notifications
You must be signed in to change notification settings - Fork5
Commitc8076f0
committed
Restructure index AM interface for index building and index tuple deletion,
per previous discussion on pghackers. Most of the duplicate code indifferent AMs' ambuild routines has been moved out to a common routinein index.c; this means that all index types now do the right things aboutinserting recently-dead tuples, etc. (I also removed support for EXTENDINDEX in the ambuild routines, since that's about to go away anyway, andit cluttered the code a lot.) The retail indextuple deletion routines havebeen replaced by a "bulk delete" routine in which the indexscan is insidethe access method. I haven't pushed this change as far as it should go yet,but it should allow considerable simplification of the internal bookkeepingfor deletions. Also, add flag columns to pg_am to eliminate varioushardcoded tests on AM OIDs, and remove unused pg_am columns.Fix rtree and gist index types to not attempt to store NULLs; before this,gist usually crashed, while rtree managed not to crash but computed wackobounding boxes for NULL entries (which might have had something to do withthe performance problems we've heard about occasionally).Add AtEOXact routines to hash, rtree, and gist, all of which have staticstate that needs to be reset after an error. We discovered this need longago for btree, but missed the other guys.Oh, one more thing: concurrent VACUUM is now the default.1 parent997439f commitc8076f0
File tree
47 files changed
+1481
-1644
lines changed- doc/src/sgml
- src
- backend
- access
- common
- gist
- hash
- index
- nbtree
- rtree
- transam
- bootstrap
- catalog
- commands
- executor
- optimizer/util
- utils/adt
- bin/initdb
- include
- access
- catalog
- test/regress
- expected
- sql
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
47 files changed
+1481
-1644
lines changedLines changed: 3 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | 1 |
| |
2 | 2 |
| |
3 |
| - | |
| 3 | + | |
4 | 4 |
| |
5 | 5 |
| |
6 | 6 |
| |
| |||
1045 | 1045 |
| |
1046 | 1046 |
| |
1047 | 1047 |
| |
1048 |
| - | |
| 1048 | + | |
| 1049 | + | |
1049 | 1050 |
| |
1050 | 1051 |
| |
1051 | 1052 |
| |
|
Lines changed: 14 additions & 23 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
24 | 24 |
| |
25 | 25 |
| |
26 | 26 |
| |
| 27 | + | |
27 | 28 |
| |
28 |
| - | |
29 |
| - | |
30 |
| - | |
31 |
| - | |
32 |
| - | |
| 29 | + | |
33 | 30 |
| |
34 | 31 |
| |
35 | 32 |
| |
| |||
38 | 35 |
| |
39 | 36 |
| |
40 | 37 |
| |
41 |
| - | |
42 |
| - | |
43 |
| - | |
44 |
| - | |
45 | 38 |
| |
46 | 39 |
| |
47 | 40 |
| |
48 | 41 |
| |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
49 | 46 |
| |
50 |
| - | |
| 47 | + | |
51 | 48 |
| |
52 | 49 |
| |
53 | 50 |
| |
| |||
57 | 54 |
| |
58 | 55 |
| |
59 | 56 |
| |
60 |
| - | |
| 57 | + | |
61 | 58 |
| |
62 | 59 |
| |
63 |
| - | |
64 |
| - | |
65 |
| - | |
66 |
| - | |
67 |
| - | |
| 60 | + | |
| 61 | + | |
68 | 62 |
| |
69 |
| - | |
70 |
| - | |
71 |
| - | |
72 |
| - | |
| 63 | + | |
73 | 64 |
| |
74 |
| - | |
| 65 | + | |
75 | 66 |
| |
76 | 67 |
| |
77 |
| - | |
78 | 68 |
| |
| 69 | + | |
79 | 70 |
| |
80 | 71 |
| |
81 | 72 |
| |
|
0 commit comments
Comments
(0)