Re: Add expressions to pg_restore_extended_stats() - Mailing list pgsql-hackers

From Corey Huinker
Subject Re: Add expressions to pg_restore_extended_stats()
Date
Msg-id CADkLM=fJfDFcqp6EJGqvn2NFEnwVGhuvSnDWbuURo3JXJJNWgQ@mail.gmail.com
Whole thread Raw
In response to Re: Add expressions to pg_restore_extended_stats()  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Add expressions to pg_restore_extended_stats()
List pgsql-hackers
> 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.
 

pgsql-hackers by date:

Previous
From: shveta malik
Date:
Subject: Re: [Patch] add new parameter to pg_replication_origin_session_setup
Next
From: Michael Paquier
Date:
Subject: Re: Add LIMIT option to COPY FROM