00001 /*------------------------------------------------------------------------- 00002 * 00003 * functions.h 00004 * Declarations for execution of SQL-language functions. 00005 * 00006 * 00007 * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group 00008 * Portions Copyright (c) 1994, Regents of the University of California 00009 * 00010 * src/include/executor/functions.h 00011 * 00012 *------------------------------------------------------------------------- 00013 */ 00014 #ifndef FUNCTIONS_H 00015 #define FUNCTIONS_H 00016 00017 #include "nodes/execnodes.h" 00018 #include "tcop/dest.h" 00019 00020 /* This struct is known only within executor/functions.c */ 00021 typedef struct SQLFunctionParseInfo *SQLFunctionParseInfoPtr; 00022 00023 extern Datum fmgr_sql(PG_FUNCTION_ARGS); 00024 00025 extern SQLFunctionParseInfoPtr prepare_sql_fn_parse_info(HeapTuple procedureTuple, 00026 Node *call_expr, 00027 Oid inputCollation); 00028 00029 extern void sql_fn_parser_setup(struct ParseState *pstate, 00030 SQLFunctionParseInfoPtr pinfo); 00031 00032 extern bool check_sql_fn_retval(Oid func_id, Oid rettype, 00033 List *queryTreeList, 00034 bool *modifyTargetList, 00035 JunkFilter **junkFilter); 00036 00037 extern DestReceiver *CreateSQLFunctionDestReceiver(void); 00038 00039 #endif /* FUNCTIONS_H */