commit 80cb7dcdd721b21fd1e56e915482fd4345a80b17
Author: Lukas Fittl <lukas@fittl.com>
Date: Sun Jan 10 00:28:33 2021 -0800
PL/pgSQL: Make plpgsql_start_datums and plpgsql_finish_datums extern
This allows other source units to have the accompanying functions for
the already exported plpgsql_adddatum.
diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c
index 828ff5a288..4670fcafa2 100644
@@ -105,8 +105,6 @@ static Node *make_datum_param(PLpgSQL_expr *expr, int dno, int location);
static PLpgSQL_row *build_row_from_vars(PLpgSQL_variable **vars, int numvars);
static PLpgSQL_type *build_datatype(HeapTuple typeTup, int32 typmod,
Oid collation, TypeName *origtypname);
-static void plpgsql_start_datums(void);
-static void plpgsql_finish_datums(PLpgSQL_function *function);
static void compute_function_hashkey(FunctionCallInfo fcinfo,
Form_pg_proc procStruct,
PLpgSQL_func_hashkey *hashkey,
@@ -2270,7 +2268,7 @@ plpgsql_parse_err_condition(char *condname)
* plpgsql_start_datums Initialize datum list at compile startup.
* ----------
*/
-static void
+void
plpgsql_start_datums(void)
{
datums_alloc = 128;
@@ -2304,7 +2302,7 @@ plpgsql_adddatum(PLpgSQL_datum *newdatum)
* plpgsql_finish_datums Copy completed datum info into function struct.
* ----------
*/
-static void
+void
plpgsql_finish_datums(PLpgSQL_function *function)
{
Size copiable_size = 0;
diff --git a/src/pl/plpgsql/src/plpgsql.h b/src/pl/plpgsql/src/plpgsql.h
index 0c3d30fb13..25fdd20bbf 100644
@@ -1263,6 +1263,8 @@ extern PLpgSQL_recfield *plpgsql_build_recfield(PLpgSQL_rec *rec,
extern int plpgsql_recognize_err_condition(const char *condname,
bool allow_sqlstate);
extern PLpgSQL_condition *plpgsql_parse_err_condition(char *condname);
+extern void plpgsql_start_datums(void);
+extern void plpgsql_finish_datums(PLpgSQL_function *function);
extern void plpgsql_adddatum(PLpgSQL_datum *newdatum);
extern int plpgsql_add_initdatums(int **varnos);
extern void plpgsql_HashTableInit(void);