• Tom Lane's avatar
    Avoid doing catalog lookups in postgres_fdw's conversion_error_callback. · 86d49142
    Tom Lane authored
    As in 50371df26, this is a bad idea since the callback can't really
    know what error is being thrown and thus whether or not it is safe
    to attempt catalog accesses.  Rather than pushing said accesses into
    the mainline code where they'd usually be a waste of cycles, we can
    look at the query's rangetable instead.
    
    This change does mean that we'll be printing query aliases (if any
    were used) rather than the table or column's true name.  But that
    doesn't seem like a bad thing: it's certainly a more useful definition
    in self-join cases, for instance.  In any case, it seems unlikely that
    any applications would be depending on this detail, so it seems safe
    to change.
    
    Patch by me.  Original complaint by Andres Freund; Bharath Rupireddy
    noted the connection to conversion_error_callback.
    
    Discussion: https://postgr.es/m/20210106020229.ne5xnuu6wlondjpe@alap3.anarazel.de
    86d49142
postgres_fdw.sql 137 KB