Re: WIP: Covering + unique indexes.
Anastasia Lubennikova <a.lubennikova@postgrespro.ru>
Attachments
- including_columns_2.0(rebased).patch (text/x-patch) patch
22.01.2016 01:47, David Rowley: > On 20 January 2016 at 06:08, Anastasia Lubennikova > <a.lubennikova@postgrespro.ru> wrote: >> >> >> 18.01.2016 01:02, David Rowley пишет: >> >> On 14 January 2016 at 08:24, David Rowley <david.rowley@2ndquadrant.com> wrote: >>> I will try to review the omit_opclass_4.0.patch soon. >> >> Hi, as promised, here's my review of the omit_opclass_4.0.patch patch. >> >> Thank you again. All mentioned points are fixed and patches are merged. >> I hope it's all right now. Please check comments one more time. I rather doubt that I wrote everything correctly. > > Thanks for updating. > > + for the searching or ordering of records can defined in the > > should be: > > + for the searching or ordering of records can be defined in the > > but perhaps "defined" should be "included". > > The following is still quite wasteful. CopyIndexTuple() does a > palloc() and memcpy(), and then you throw that away if > rel->rd_index->indnatts != rel->rd_index->indnkeyatts. I think you > just need to add an "else" and move the CopyIndexTuple() below the if. > > item = (IndexTuple) PageGetItem(lpage, itemid); > right_item = CopyIndexTuple(item); > + if (rel->rd_index->indnatts != rel->rd_index->indnkeyatts) > + right_item = index_reform_tuple(rel, right_item, > rel->rd_index->indnatts, rel->rd_index->indnkeyatts); Fixed. Thank you for reminding me. > Tom also commited > http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=65c5fcd353a859da9e61bfb2b92a99f12937de3b > So it looks like you'll need to update your pg_am.h changes. Looks > like you'll need a new struct member in IndexAmRoutine and just > populate that new member in each of the *handler functions listed in > pg_am.h > > -#define Natts_pg_am 30 > +#define Natts_pg_am 31 Done. I hope that my patch is close to the commit too. Thank you again for review. -- 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