Re: Patch: Write Amplification Reduction Method (WARM)
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Stephen Frost <sfrost@snowman.net>, Andres Freund <andres@anarazel.de>, Pavan Deolasee <pavan.deolasee@gmail.com>, Jaime Casanova <jaime.casanova@2ndquadrant.com>, Haribabu Kommi <kommi.haribabu@gmail.com>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-02-01T00:36:53Z
Lists: pgsql-hackers
Tom Lane wrote: > BTW, the reason I think it's good cleanup is that it's something that my > colleagues at Salesforce also had to do as part of putting PG on top of a > different storage engine that had different ideas about index handling. > Essentially it's providing a bit of abstraction as to whether catalog > storage is exactly heaps or not (a topic I've noticed Robert is starting > to take some interest in, as well). Yeah, I remembered that too. Of course, we'd need to change the whole idea of mapping tuples to C structs too, but this seemed a nice step forward. (I renamed Pavan's proposed routine precisely to avoid the word "Heap" in it.) > However, the patch misses an > important part of such an abstraction layer by not also converting > catalog-related simple_heap_delete() calls into some sort of > CatalogTupleDelete() operation. It is certainly a peculiarity of > PG heaps that deletions don't require any immediate index work --- most > other storage engines would need that. > I propose that we should finish the job by inventing CatalogTupleDelete(), > which for the moment would be a trivial wrapper around > simple_heap_delete(), maybe just a macro for it. > > If there's no objections I'll go make that happen in a day or two. Sounds good. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Implement SortSupport for macaddr data type
- f90d23d0c518 10.0 cited
-
Simplify check of modified attributes in heap_update
- 2fd8685e7fd9 10.0 landed
-
Remove direct uses of ItemPointer.{ip_blkid,ip_posid}
- ce96ce60ca22 10.0 landed
-
Fix CatalogTupleInsert/Update abstraction for case of shared indstate.
- aedd554f84bb 10.0 landed
-
Provide CatalogTupleDelete() as a wrapper around simple_heap_delete().
- ab02896510e2 10.0 landed
-
Band-aid fix for incorrect use of view options as StdRdOptions.
- e3e66d8a9813 10.0 cited
-
Update visibility map in the second phase of vacuum.
- fdf9e21196a6 9.3.0 cited
-
Avoid having two copies of the HOT-chain search logic.
- 4da99ea4231e 9.2.0 cited
-
Postgres95 1.01 Distribution - Virgin Sources
- d31084e9d111 7.1.1 cited