Re: [HACKERS] WIP: Covering + unique indexes.
x4mmm@yandex-team.ru
Hi! > 16 янв. 2018 г., в 21:50, Anastasia Lubennikova <a.lubennikova@postgrespro.ru> написал(а): > > Updated patches are attached. > Cool, thanks! I've looked into the code, but haven't found anything broken. Since I've tried to rebase patch myself and failed on parse utils, I've spend some cycles trying to break parsing. One minor complain (no need to fix). This is fine x4mmm=# create index on pgbench_accounts (bid) include (aid,filler,upper(filler)); ERROR: expressions are not supported in included columns But why not same error here? Previous message is very descriptive. x4mmm=# create index on pgbench_accounts (bid) include (aid,filler,aid+1); ERROR: syntax error at or near "+" This works. But should not, IMHO x4mmm=# create index on pgbench_accounts (bid) include (aid,aid,aid); CREATE INDEX Do not know what's that... # create index on pgbench_accounts (bid) include (aid desc, aid asc); CREATE INDEX All these things allow foot-shooting with a small caliber, but do not break big things. Unfortunately, amcheck_next does not work currently on HEAD (there are problems with AllocSetContextCreate() signature), but I've tested bt_index_check() before, during and after pgbench, on primary and on slave. Also, I've checked bt_index_parent_check() on master. During bt_index_check() test from time to time I was observing ERROR: canceling statement due to conflict with recovery DETAIL: User query might have needed to see row versions that must be removed. [install]check[-world] passed :) From my POV, patch is in a good shape. I think it is time to make the patch ready for committer again. Best regards, Andrey Borodin.
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