>
> > Mild change of subject, it seems that we can't get the expression fake
> > attnum context into the errors we re-throw in statatt_build_stavalues -
> it
> > might make sense to to bring a version of that function into
> > extended_stats_funcs where we can add the extra parameters for context
> (and
> > avoid the need for a text datum version of some longish strings that
> we've
> > already just converted from converting json-string to c-string. If I did
> > make a new function, then that'd be 2 statatt_* functions that no longer
> > need to be visible outside of attribute_stats.c. Thoughts on both making
> > the new function, and maybe sending a few of these statatts back to
> > static-land?
>
> Hmm.  I am not sure, that depends.  How much additional information
> would these extra parameter bring to the errors generated in
> statatt_build_stavalues().


Just the index of which expression and the name of the key that fed in the
offending value string.



>   We could also set an error context
> callback (ErrorContextCallback) within import_pg_statistic() or in the
> loop that calls the routine, with some data based on the counter of
> "numexprs" to provide more context about where an error is happening.
>

If you think it would help, I'd be game for that. It's been a while since I
used one of those callbacks, though.


> I have used that in the past to avoid complicating functions across
> multiple levels of a stack (for example, see ReindexPartitions() in
> indexcmds.c with its ReindexErrorInfo).


This may be another such case.

Reply via email to