
# GAUSS-04581 -- GAUSS-04590
GAUSS-04581: "Codegen failed on the procedure of ExecVecQual!"
SQLSTATE: XX000
错误原因：在生成总体IR函数时，若有一个表达式未正确处理，则使用codegen功能失败。
解决办法：请联系技术支持工程师提供技术支持。确认该查询是否符合代码生成要求并设置enable_codegen=off。
GAUSS-04582: "Codegen failed on ScalarArrayOp : datatype %d is not supported yet!\\n"
SQLSTATE: XX000
错误原因：当arrayop表达式中存在该数据类型时，不支持代码生成功能。
解决办法：请联系技术支持工程师提供技术支持。请确认是否为约束范围内的操作并设置enable_codegen=off。
GAUSS-04583: "The operator is not supported for codegen in CASE WHEN expr!"
SQLSTATE: XX000
错误原因：当casearg不为空时，不支持该数据类型的等价操作。
解决办法：请联系技术支持工程师提供技术支持。请确认是否为约束范围内的操作并设置enable_codegen=off。
GAUSS-04584: "Codegen failed on the first argument of FuncExpr!\\n"
SQLSTATE: XX000
错误原因：在处理函数参数时，未成功处理第一个参数，导致代码生成无法继续，报错处理。
解决办法：请联系技术支持工程师提供技术支持。检查当前函数是否为支持类型确认其参数合理性并设置enable_codegen=off。
GAUSS-04585: "Codegen failed on the second argument of FuncExpr!\\n"
SQLSTATE: XX000
错误原因：在处理函数参数时，未成功处理第二个参数，导致代码生成无法继续，报错处理。
解决办法：请联系技术支持工程师提供技术支持。检查当前函数是否为支持类型确认其合理性并设置enable_codegen=off。
GAUSS-04586: "Codegen failed on the third argument of FuncExpr!\\n"
SQLSTATE: XX000
错误原因：在处理函数参数时，未成功处理第三个参数，导致代码生成无法继续，报错处理。
解决办法：请联系技术支持工程师提供技术支持。检查当前函数是否为支持类型确认其合理性并设置enable_codegen=off。
GAUSS-04587: "Operation is not supported yet!"
SQLSTATE: XX000
错误原因：当前的操作并不是LLVM所支持，为避免后续无效操作，报错处理。
解决办法：请联系技术支持工程师提供技术支持。确认是否为约束范围内的操作并设置enable_codegen=off。
GAUSS-04588: "Failed to create LLVM state object ExecutionEngine: %s"
SQLSTATE: 42704
错误原因：在编译当前module时，module依赖execution engine。如果创建该execution engine失败，则报错处理，避免下一步无效操作。
解决办法：请重新尝试或设置enable_codegen=off完成该查询。
GAUSS-04589: "Codegen failed on verifying IR function %s."
SQLSTATE: 42883
错误原因：根据代码得到的IR函数是无效的或逻辑存在缺陷。
解决办法：设置enable_codegen=off来规避该问题。请联系技术支持工程师提供技术支持。
GAUSS-04590: "Failed to create llvm function prototype."
SQLSTATE: XX000
错误原因：声明LLVM函数原型失败，报错处理。
解决办法：请重试或设置enable_codegen=off。
