Re: WIP: Covering + unique indexes.
Anastasia Lubennikova <a.lubennikova@postgrespro.ru>
Attachments
- including_docs_update.patch (text/x-patch) patch
08.04.2016 15:45, Anastasia Lubennikova: > 08.04.2016 15:06, Teodor Sigaev: >>> On Wed, Apr 6, 2016 at 1:50 PM, Peter Geoghegan <pg@heroku.com> wrote: >>>> Personally, I like documenting assertions, and will sometimes write >>>> assertions that the compiler could easily optimize away. Maybe going >>>> *that* far is more a matter of personal style, but I think an >>>> assertion about the new index tuple size being <= the old one is just >>>> a good idea. It's not about a problem in your code at all. >>> >>> You should make index_truncate_tuple()/index_reform_tuple() promise to >>> always do this in its comments/contract with caller as part of this, >>> IMV. >>> >> Some notices: >> - index_truncate_tuple(Relation idxrel, IndexTuple olditup, int >> indnatts, >> int indnkeyatts) >> Why we need indnatts/indnkeyatts? They are presented in idxrel struct >> already >> - follow code where index_truncate_tuple() is called, it should never >> called in >> case where indnatts == indnkeyatts. So, indnkeyatts should be >> strictly less >> than indnatts, pls, change assertion. If they are equal the this >> function >> becomes complicated variant of CopyIndexTuple() > > Good point. These attributes seem to be there since previous versions > of the function. > But now they are definitely unnecessary. Updated patch is attached One more improvement - note about expressions into documentation. -- Anastasia Lubennikova Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
Commits
-
Adjust INCLUDE index truncation comments and code.
- 075aade4361b 11.0 landed
-
Add commentary explaining why MaxIndexTuplesPerPage calculation is safe.
- 2a67d6440db4 11.0 cited
-
Indexes with INCLUDE columns and their support in B-tree
- 8224de4f42cc 11.0 landed
-
Add amcheck verification of heap relations belonging to btree indexes.
- 7f563c09f890 11.0 cited
-
Doc: move info for btree opclass implementors into main documentation.
- 3785f7eee3d9 11.0 cited
-
Doc: mention that you can't PREPARE TRANSACTION after NOTIFY.
- e4fbf22831c2 11.0 cited
-
Remove dedicated B-tree root-split record types.
- 0c504a80cf2e 11.0 cited
-
Restructure index access method API to hide most of it at the C level.
- 65c5fcd353a8 9.6.0 cited
-
Split _bt_insertonpg to two functions.
- bc292937ae6a 8.3.0 cited
-
Major overhaul of btree index code. Eliminate special BTP_CHAIN logic for
- 9e85183bfc31 7.1.1 cited