On 8/10/22 9:27 AM, Amit Langote wrote:
On Wed, Aug 10, 2022 at 3:57 AM Andres Freund <and...@anarazel.de> wrote:One way this code could be drastically simplified is to force all type-coercions to go through the "io coercion" path, which could be implemented as a single execution step (which thus could trivially start/finish a subtransaction) and would remove a lot of the complicated code around coercions.Could you please clarify how you think we might do the io coercion wrapped with a subtransaction all as a single execution step? I would've thought that we couldn't do the sub-transaction without leaving ExecInterpExpr() anyway, so maybe you meant the io coercion itself was done using some code outside ExecInterpExpr()? The current JsonExpr code does it by recursively calling ExecInterpExpr() using the nested ExprState expressly for the coercion.
With RMT hat on, Andres do you have any thoughts on this? Thanks, Jonathan
OpenPGP_signature
Description: OpenPGP digital signature