Hi Nikita,
> Aleksander, thanks for the discussion! It seems to me that I have to add some parts
> of it to API documentation, to clarify the details on API purpose and use-cases.
I'm in the process of testing and reviewing the v23 patchset. So far I
just wanted to report that there seems to be certain issues with the
formatting and/or trailing whitespaces in the patches:
```
$ git am <v23-0001-toaster-interface.patch
Applying: Pluggable TOAST API interface along with reference TOAST mechanics
.git/rebase-apply/patch:1122: indent with spaces.
TsrRoutine *tsr = makeNode(TsrRoutine);
.git/rebase-apply/patch:1123: indent with spaces.
PG_RETURN_POINTER(tsr);
.git/rebase-apply/patch:6172: new blank line at EOF.
+
warning: 3 lines add whitespace errors.
$ git am <v23-0002-toaster-default.patch
Applying: Default TOAST re-implemented using Toaster API.
.git/rebase-apply/patch:1879: indent with spaces.
if (*value == old_value)
.git/rebase-apply/patch:1881: indent with spaces.
return;
.git/rebase-apply/patch:3069: trailing whitespace.
* CREATE TOASTER name HANDLER handler_name
.git/rebase-apply/patch:3603: trailing whitespace.
fetch_toast_slice(Relation toastrel, Oid valueid,
.git/rebase-apply/patch:3654: trailing whitespace.
toast_fetch_toast_slice(Relation toastrel, Oid valueid,
warning: 5 lines add whitespace errors.
$ git am <v23-0003-toaster-docs.patch
Applying: Pluggable TOAST API documentation package
.git/rebase-apply/patch:388: tab in indent.
TsrRoutine *tsrroutine = makeNode(TsrRoutine);
.git/rebase-apply/patch:389: tab in indent.
tsrroutine->init = custom_toast_init;
.git/rebase-apply/patch:390: tab in indent.
tsrroutine->toast = custom_toast;
.git/rebase-apply/patch:391: tab in indent.
tsrroutine->detoast = custom_detoast;
.git/rebase-apply/patch:392: tab in indent.
tsrroutine->deltoast = custom_delete_toast;
warning: squelched 12 whitespace errors
warning: 17 lines add whitespace errors.
```
Please don't forget to run `pgindent` before formatting the patches
with `git format-patch` next time.
I'm going to submit a more detailed code review soon.
--
Best regards,
Aleksander Alekseev