* Like build_aggregate_transfn_expr, but creates an expression tree for the * deserialization function of an aggregate. */
| 2161 | * deserialization function of an aggregate. |
| 2162 | */ |
| 2163 | void |
| 2164 | build_aggregate_deserialfn_expr(Oid deserialfn_oid, |
| 2165 | Expr **deserialfnexpr) |
| 2166 | { |
| 2167 | List *args; |
| 2168 | FuncExpr *fexpr; |
| 2169 | |
| 2170 | /* deserialfn always takes BYTEA, INTERNAL and returns INTERNAL */ |
| 2171 | args = list_make2(make_agg_arg(BYTEAOID, InvalidOid), |
| 2172 | make_agg_arg(INTERNALOID, InvalidOid)); |
| 2173 | |
| 2174 | fexpr = makeFuncExpr(deserialfn_oid, |
| 2175 | INTERNALOID, |
| 2176 | args, |
| 2177 | InvalidOid, |
| 2178 | InvalidOid, |
| 2179 | COERCE_EXPLICIT_CALL); |
| 2180 | *deserialfnexpr = (Expr *) fexpr; |
| 2181 | } |
| 2182 | |
| 2183 | /* |
| 2184 | * Like build_aggregate_transfn_expr, but creates an expression tree for the |
no test coverage detected