On Wed, Jul 20, 2022 at 12:37 AM Andres Freund <and...@anarazel.de> wrote: > On 2022-07-19 20:40:11 +0900, Amit Langote wrote: > > About that, I was wondering if the blocks in llvm_compile_expr() need > > to be hand-coded to match what's added in ExecInterpExpr() or if I've > > missed some tool that can be used instead? > > The easiest way is to just call an external function for the implementation of > the step. But yes, otherwise you need to handcraft it.
Ok, thanks. So I started updating llvm_compile_expr() for handling the new ExprEvalSteps that the patch adds to ExecExprInterp(), but quickly realized that code could have been consolidated into less code, or IOW, into fewer new ExprEvalSteps. So, I refactored things that way and am now retrying adding the code to llvm_compile_expr() based on new, better consolidated, code. Here's the updated version, without the llvm pieces, in case you'd like to look at it even in this state. I'll post a version with llvm pieces filled in tomorrow. (I have merged the different patches into one for convenience.) -- Thanks, Amit Langote EDB: http://www.enterprisedb.com
v3-0001-Some-improvements-to-JsonExpr-evaluation.patch
Description: Binary data