Re: Table AM Interface Enhancements

Alexander Korotkov <aekorotkov@gmail.com>

From: Alexander Korotkov <aekorotkov@gmail.com>
To: Japin Li <japinli@hotmail.com>
Cc: Pavel Borisov <pashkin.elfe@gmail.com>, Mark Dilger <mark.dilger@enterprisedb.com>, pgsql-hackers@lists.postgresql.org
Date: 2024-03-19T15:28:41Z
Lists: pgsql-hackers

Attachments

On Tue, Mar 19, 2024 at 4:26 PM Japin Li <japinli@hotmail.com> wrote:
> On Tue, 19 Mar 2024 at 21:05, Alexander Korotkov <aekorotkov@gmail.com> wrote:
> > Regarding 0005, I did apply "a storage tuples" grammar fix.  Regarding
> > the rest of the things, I'd like to keep methods
> > tts_*_is_current_xact_tuple() to be similar to nearby
> > tts_*_getsysattr().  This is why I'm keeping the rest unchanged.  I
> > think we could refactor that later, but together with
> > tts_*_getsysattr() methods.
> >
> > I'm going to push 0003, 0004 and 0005 if there are no objections.
> >
> > And I'll update 0001 and 0002 in their dedicated thread.
> >
>
> When I try to test the patch on Ubuntu 22.04 with GCC 11.4.0.  There are some
> warnings as following:

Thank you for catching this!
Please, find the revised patchset attached.

------
Regards,
Alexander Korotkov

Commits

  1. Remove extra comment at TableAmRoutine.scan_analyze_next_block

  2. revert: Generalize relation analyze in table AM interface

  3. Revert: Allow table AM to store complex data structures in rd_amcache

  4. Revert: Allow table AM tuple_insert() method to return the different slot

  5. Revert: Allow locking updated tuples in tuple_update() and tuple_delete()

  6. Revert: Let table AM insertion methods control index insertion

  7. Revert: Custom reloptions for table AM

  8. Provide a way block-level table AMs could re-use acquire_sample_rows()

  9. Custom reloptions for table AM

  10. Use streaming I/O in ANALYZE.

  11. Revert "Custom reloptions for table AM"

  12. Let table AM insertion methods control index insertion

  13. Generalize relation analyze in table AM interface

  14. Improve error message for tts_(virtual|minimal)_is_current_xact_tuple

  15. Add comments on some MinimalTupleSlots methods usage

  16. Add TupleTableSlotOps.is_current_xact_tuple() method

  17. Allow table AM tuple_insert() method to return the different slot

  18. Allow table AM to store complex data structures in rd_amcache