Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 1caf915

Browse files
committed
Add PGDLLEXPORTS to some plpgsql function declarations
After -fvisibility=hidden was added by 089480c, plpgsql_check no longer works; this quick hack fixes it. It would be better to restructure the plpgsql.h header so that this doesn't look as random, but we can leave that for another day. Reported-by: Pavel Stehule Discussion: https://postgr.es/m/CAFj8pRAFxc3-SHMD3URU09JZXEKY3W-RwXKp8xPEnEq8rrka7w@mail.gmail.com
1 parent bde60da commit 1caf915

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

src/pl/plpgsql/src/plpgsql.h

+15-15
Original file line numberDiff line numberDiff line change
@@ -1231,11 +1231,11 @@ extern PLpgSQL_plugin **plpgsql_plugin_ptr;
12311231
/*
12321232
* Functions in pl_comp.c
12331233
*/
1234-
extern PLpgSQL_function *plpgsql_compile(FunctionCallInfo fcinfo,
1235-
bool forValidator);
1234+
extern PGDLLEXPORT PLpgSQL_function *plpgsql_compile(FunctionCallInfo fcinfo,
1235+
bool forValidator);
12361236
extern PLpgSQL_function *plpgsql_compile_inline(char *proc_source);
1237-
extern void plpgsql_parser_setup(struct ParseState *pstate,
1238-
PLpgSQL_expr *expr);
1237+
extern PGDLLEXPORT void plpgsql_parser_setup(struct ParseState *pstate,
1238+
PLpgSQL_expr *expr);
12391239
extern bool plpgsql_parse_word(char *word1, const char *yytxt, bool lookup,
12401240
PLwdatum *wdatum, PLword *word);
12411241
extern bool plpgsql_parse_dblword(char *word1, char *word2,
@@ -1246,9 +1246,9 @@ extern PLpgSQL_type *plpgsql_parse_wordtype(char *ident);
12461246
extern PLpgSQL_type *plpgsql_parse_cwordtype(List *idents);
12471247
extern PLpgSQL_type *plpgsql_parse_wordrowtype(char *ident);
12481248
extern PLpgSQL_type *plpgsql_parse_cwordrowtype(List *idents);
1249-
extern PLpgSQL_type *plpgsql_build_datatype(Oid typeOid, int32 typmod,
1250-
Oid collation,
1251-
TypeName *origtypname);
1249+
extern PGDLLEXPORT PLpgSQL_type *plpgsql_build_datatype(Oid typeOid, int32 typmod,
1250+
Oid collation,
1251+
TypeName *origtypname);
12521252
extern PLpgSQL_variable *plpgsql_build_variable(const char *refname, int lineno,
12531253
PLpgSQL_type *dtype,
12541254
bool add2namespace);
@@ -1257,8 +1257,8 @@ extern PLpgSQL_rec *plpgsql_build_record(const char *refname, int lineno,
12571257
bool add2namespace);
12581258
extern PLpgSQL_recfield *plpgsql_build_recfield(PLpgSQL_rec *rec,
12591259
const char *fldname);
1260-
extern int plpgsql_recognize_err_condition(const char *condname,
1261-
bool allow_sqlstate);
1260+
extern PGDLLEXPORT int plpgsql_recognize_err_condition(const char *condname,
1261+
bool allow_sqlstate);
12621262
extern PLpgSQL_condition *plpgsql_parse_err_condition(char *condname);
12631263
extern void plpgsql_adddatum(PLpgSQL_datum *newdatum);
12641264
extern int plpgsql_add_initdatums(int **varnos);
@@ -1280,8 +1280,8 @@ extern void plpgsql_exec_event_trigger(PLpgSQL_function *func,
12801280
extern void plpgsql_xact_cb(XactEvent event, void *arg);
12811281
extern void plpgsql_subxact_cb(SubXactEvent event, SubTransactionId mySubid,
12821282
SubTransactionId parentSubid, void *arg);
1283-
extern Oid plpgsql_exec_get_datum_type(PLpgSQL_execstate *estate,
1284-
PLpgSQL_datum *datum);
1283+
extern PGDLLEXPORT Oid plpgsql_exec_get_datum_type(PLpgSQL_execstate *estate,
1284+
PLpgSQL_datum *datum);
12851285
extern void plpgsql_exec_get_datum_type_info(PLpgSQL_execstate *estate,
12861286
PLpgSQL_datum *datum,
12871287
Oid *typeId, int32 *typMod,
@@ -1296,17 +1296,17 @@ extern void plpgsql_ns_push(const char *label,
12961296
extern void plpgsql_ns_pop(void);
12971297
extern PLpgSQL_nsitem *plpgsql_ns_top(void);
12981298
extern void plpgsql_ns_additem(PLpgSQL_nsitem_type itemtype, int itemno, const char *name);
1299-
extern PLpgSQL_nsitem *plpgsql_ns_lookup(PLpgSQL_nsitem *ns_cur, bool localmode,
1300-
const char *name1, const char *name2,
1301-
const char *name3, int *names_used);
1299+
extern PGDLLEXPORT PLpgSQL_nsitem *plpgsql_ns_lookup(PLpgSQL_nsitem *ns_cur, bool localmode,
1300+
const char *name1, const char *name2,
1301+
const char *name3, int *names_used);
13021302
extern PLpgSQL_nsitem *plpgsql_ns_lookup_label(PLpgSQL_nsitem *ns_cur,
13031303
const char *name);
13041304
extern PLpgSQL_nsitem *plpgsql_ns_find_nearest_loop(PLpgSQL_nsitem *ns_cur);
13051305

13061306
/*
13071307
* Other functions in pl_funcs.c
13081308
*/
1309-
extern const char *plpgsql_stmt_typename(PLpgSQL_stmt *stmt);
1309+
extern PGDLLEXPORT const char *plpgsql_stmt_typename(PLpgSQL_stmt *stmt);
13101310
extern const char *plpgsql_getdiag_kindname(PLpgSQL_getdiag_kind kind);
13111311
extern void plpgsql_free_function_memory(PLpgSQL_function *func);
13121312
extern void plpgsql_dumptree(PLpgSQL_function *func);

0 commit comments

Comments
 (0)