| 1 | /*------------------------------------------------------------------------- |
| 2 | * |
| 3 | * pg_proc_d.h |
| 4 | * Macro definitions for pg_proc |
| 5 | * |
| 6 | * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group |
| 7 | * Portions Copyright (c) 1994, Regents of the University of California |
| 8 | * |
| 9 | * NOTES |
| 10 | * ****************************** |
| 11 | * *** DO NOT EDIT THIS FILE! *** |
| 12 | * ****************************** |
| 13 | * |
| 14 | * It has been GENERATED by src/backend/catalog/genbki.pl |
| 15 | * |
| 16 | *------------------------------------------------------------------------- |
| 17 | */ |
| 18 | #ifndef PG_PROC_D_H |
| 19 | #define PG_PROC_D_H |
| 20 | |
| 21 | #define ProcedureRelationId 1255 |
| 22 | #define ProcedureRelation_Rowtype_Id 81 |
| 23 | |
| 24 | #define Anum_pg_proc_oid 1 |
| 25 | #define Anum_pg_proc_proname 2 |
| 26 | #define Anum_pg_proc_pronamespace 3 |
| 27 | #define Anum_pg_proc_proowner 4 |
| 28 | #define Anum_pg_proc_prolang 5 |
| 29 | #define Anum_pg_proc_procost 6 |
| 30 | #define Anum_pg_proc_prorows 7 |
| 31 | #define Anum_pg_proc_provariadic 8 |
| 32 | #define Anum_pg_proc_prosupport 9 |
| 33 | #define Anum_pg_proc_prokind 10 |
| 34 | #define Anum_pg_proc_prosecdef 11 |
| 35 | #define Anum_pg_proc_proleakproof 12 |
| 36 | #define Anum_pg_proc_proisstrict 13 |
| 37 | #define Anum_pg_proc_proretset 14 |
| 38 | #define Anum_pg_proc_provolatile 15 |
| 39 | #define Anum_pg_proc_proparallel 16 |
| 40 | #define Anum_pg_proc_pronargs 17 |
| 41 | #define Anum_pg_proc_pronargdefaults 18 |
| 42 | #define Anum_pg_proc_prorettype 19 |
| 43 | #define Anum_pg_proc_proargtypes 20 |
| 44 | #define Anum_pg_proc_proallargtypes 21 |
| 45 | #define Anum_pg_proc_proargmodes 22 |
| 46 | #define Anum_pg_proc_proargnames 23 |
| 47 | #define Anum_pg_proc_proargdefaults 24 |
| 48 | #define Anum_pg_proc_protrftypes 25 |
| 49 | #define Anum_pg_proc_prosrc 26 |
| 50 | #define Anum_pg_proc_probin 27 |
| 51 | #define Anum_pg_proc_proconfig 28 |
| 52 | #define Anum_pg_proc_proacl 29 |
| 53 | |
| 54 | #define Natts_pg_proc 29 |
| 55 | |
| 56 | |
| 57 | /* |
| 58 | * Symbolic values for prokind column |
| 59 | */ |
| 60 | #define PROKIND_FUNCTION 'f' |
| 61 | #define PROKIND_AGGREGATE 'a' |
| 62 | #define PROKIND_WINDOW 'w' |
| 63 | #define PROKIND_PROCEDURE 'p' |
| 64 | |
| 65 | /* |
| 66 | * Symbolic values for provolatile column: these indicate whether the result |
| 67 | * of a function is dependent *only* on the values of its explicit arguments, |
| 68 | * or can change due to outside factors (such as parameter variables or |
| 69 | * table contents). NOTE: functions having side-effects, such as setval(), |
| 70 | * must be labeled volatile to ensure they will not get optimized away, |
| 71 | * even if the actual return value is not changeable. |
| 72 | */ |
| 73 | #define PROVOLATILE_IMMUTABLE 'i' /* never changes for given input */ |
| 74 | #define PROVOLATILE_STABLE 's' /* does not change within a scan */ |
| 75 | #define PROVOLATILE_VOLATILE 'v' /* can change even within a scan */ |
| 76 | |
| 77 | /* |
| 78 | * Symbolic values for proparallel column: these indicate whether a function |
| 79 | * can be safely be run in a parallel backend, during parallelism but |
| 80 | * necessarily in the master, or only in non-parallel mode. |
| 81 | */ |
| 82 | #define PROPARALLEL_SAFE 's' /* can run in worker or master */ |
| 83 | #define PROPARALLEL_RESTRICTED 'r' /* can run in parallel master only */ |
| 84 | #define PROPARALLEL_UNSAFE 'u' /* banned while in parallel mode */ |
| 85 | |
| 86 | /* |
| 87 | * Symbolic values for proargmodes column. Note that these must agree with |
| 88 | * the FunctionParameterMode enum in parsenodes.h; we declare them here to |
| 89 | * be accessible from either header. |
| 90 | */ |
| 91 | #define PROARGMODE_IN 'i' |
| 92 | #define PROARGMODE_OUT 'o' |
| 93 | #define PROARGMODE_INOUT 'b' |
| 94 | #define PROARGMODE_VARIADIC 'v' |
| 95 | #define PROARGMODE_TABLE 't' |
| 96 | |
| 97 | #define HEAP_TABLE_AM_HANDLER_OID 3 |
| 98 | |
| 99 | #endif /* PG_PROC_D_H */ |
| 100 | |