>
> IIUC I think what you are proposing here is:
>
> * Removing the construction of FCINFO from pg_restore_*_stats/import_*
> functions

* Removing the special handling of the version parameter
> * Renaming the argnum enum values
>
> Am I right?  If so, I think these are in the order of necessity, so I
> recommend re-splitting the patchset into the three parts in the order.
> I lowered the priority of the renaming, because 1) I don't make it a
> blocker for others, and 2) I want to see how it improves things on its
> own.
>

That's what I'm proposing, but if you're saying that renaming the enums is
not desirable, then my revised proposal would be to keep the existing enum,
keep a strict ordering in the enum where all key/version parameters come
before any actual stats values, thus allowing us to pass the stats-only
portion of the nullabledatum array to the caller. We'd use an offset
technique like we do filling out tuple values/isnull/replaces arrays where
we always index by Anum_something - 1.

1. Remove special handling of version parameter, add it into existing
StatsArgInfo structures. Not the highest priority, but doing it first
remove the possibility of having to re-adjust subsequent changes related to
the offset I'm proposing.
2. Remove construction of of FCINFO, going with passing the latter portion
of the positional NullableDatum array.


>
> Also, as this is an improvement for v20, I recommend creating a new
> thread (and a new CF entry) for it.
>

Doing so now. Normally I'd start a new thread, but this one isn't that long
and carries a lot of context.

Reply via email to