diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:46:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:46:48 +0000 |
commit | 311bcfc6b3acdd6fd152798c7f287ddf74fa2a98 (patch) | |
tree | 0ec307299b1dada3701e42f4ca6eda57d708261e /src/pl/plpython/plpy_main.h | |
parent | Initial commit. (diff) | |
download | postgresql-15-311bcfc6b3acdd6fd152798c7f287ddf74fa2a98.tar.xz postgresql-15-311bcfc6b3acdd6fd152798c7f287ddf74fa2a98.zip |
Adding upstream version 15.4.upstream/15.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/pl/plpython/plpy_main.h')
-rw-r--r-- | src/pl/plpython/plpy_main.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/pl/plpython/plpy_main.h b/src/pl/plpython/plpy_main.h new file mode 100644 index 0000000..e8c97c2 --- /dev/null +++ b/src/pl/plpython/plpy_main.h @@ -0,0 +1,31 @@ +/* + * src/pl/plpython/plpy_main.h + */ + +#ifndef PLPY_MAIN_H +#define PLPY_MAIN_H + +#include "plpy_procedure.h" + +/* the interpreter's globals dict */ +extern PyObject *PLy_interp_globals; + +/* + * A stack of PL/Python execution contexts. Each time user-defined Python code + * is called, an execution context is created and put on the stack. After the + * Python code returns, the context is destroyed. + */ +typedef struct PLyExecutionContext +{ + PLyProcedure *curr_proc; /* the currently executing procedure */ + MemoryContext scratch_ctx; /* a context for things like type I/O */ + struct PLyExecutionContext *next; /* previous stack level */ +} PLyExecutionContext; + +/* Get the current execution context */ +extern PLyExecutionContext *PLy_current_execution_context(void); + +/* Get the scratch memory context for specified execution context */ +extern MemoryContext PLy_get_scratch_context(PLyExecutionContext *context); + +#endif /* PLPY_MAIN_H */ |