* dumpFunc: * dump out one function */
| 13319 | * dump out one function |
| 13320 | */ |
| 13321 | static void |
| 13322 | dumpFunc(Archive *fout, const FuncInfo *finfo) |
| 13323 | { |
| 13324 | DumpOptions *dopt = fout->dopt; |
| 13325 | PQExpBuffer query; |
| 13326 | PQExpBuffer q; |
| 13327 | PQExpBuffer delqry; |
| 13328 | PQExpBuffer asPart; |
| 13329 | PGresult *res; |
| 13330 | char *funcsig; /* identity signature */ |
| 13331 | char *funcfullsig = NULL; /* full signature */ |
| 13332 | char *funcsig_tag; |
| 13333 | char *qual_funcsig; |
| 13334 | char *proretset; |
| 13335 | char *prosrc; |
| 13336 | char *probin; |
| 13337 | char *prosqlbody; |
| 13338 | char *funcargs; |
| 13339 | char *funciargs; |
| 13340 | char *funcresult; |
| 13341 | char *proallargtypes; |
| 13342 | char *proargmodes; |
| 13343 | char *proargnames; |
| 13344 | char *protrftypes; |
| 13345 | char *prokind; |
| 13346 | char *provolatile; |
| 13347 | char *proisstrict; |
| 13348 | char *prosecdef; |
| 13349 | char *proleakproof; |
| 13350 | char *proconfig; |
| 13351 | char *procost; |
| 13352 | char *prorows; |
| 13353 | char *prosupport; |
| 13354 | char *proparallel; |
| 13355 | char *lanname; |
| 13356 | int nallargs; |
| 13357 | char **allargtypes = NULL; |
| 13358 | char **argmodes = NULL; |
| 13359 | char **argnames = NULL; |
| 13360 | bool isGE50 = isGPDB5000OrLater(fout); |
| 13361 | char **configitems = NULL; |
| 13362 | int nconfigitems = 0; |
| 13363 | const char *keyword; |
| 13364 | int i; |
| 13365 | |
| 13366 | /* |
| 13367 | * GPDB_14_MERGE_FIXME: additional columns in GPDB |
| 13368 | * these are added except Version >= 90500 which may |
| 13369 | * be a bug. |
| 13370 | * The new sqls are added in decent version order. |
| 13371 | * So we can't handle addition values like before. |
| 13372 | * These variables are handled differently base on ranges: |
| 13373 | * Version: |
| 13374 | * < 80300, >= 80300 < 90200, >= 90200 |
| 13375 | */ |
| 13376 | |
| 13377 | char *callbackfunc; |
| 13378 | char *prodataaccess; |
no test coverage detected