From a4116c460299aea7760dc13bd45df5bb5382ed6a Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Tue, 5 Dec 2017 09:24:12 -0500 Subject: [PATCH] Mark assorted variables PGDLLIMPORT. This makes life easier for extension authors who wish to support Windows. Brian Cloutier, slightly amended by me. Discussion: http://postgr.es/m/CAJCy68fscdNhmzFPS4kyO00CADkvXvEa-28H-OtENk-pa2OTWw@mail.gmail.com --- src/include/access/twophase.h | 2 +- src/include/commands/extension.h | 2 +- src/include/miscadmin.h | 10 +++++----- src/include/pgtime.h | 2 +- src/include/postmaster/postmaster.h | 4 ++-- src/include/storage/fd.h | 2 +- src/include/storage/proc.h | 4 ++-- src/include/tcop/dest.h | 3 ++- src/include/tcop/tcopprot.h | 2 +- src/include/utils/guc.h | 6 +++--- src/include/utils/snapmgr.h | 8 ++++---- 11 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/include/access/twophase.h b/src/include/access/twophase.h index b7ce0c69af..9aeab9a724 100644 --- a/src/include/access/twophase.h +++ b/src/include/access/twophase.h @@ -25,7 +25,7 @@ typedef struct GlobalTransactionData *GlobalTransaction; /* GUC variable */ -extern int max_prepared_xacts; +extern PGDLLIMPORT int max_prepared_xacts; extern Size TwoPhaseShmemSize(void); extern void TwoPhaseShmemInit(void); diff --git a/src/include/commands/extension.h b/src/include/commands/extension.h index 94354ab04d..bc3c7de9dd 100644 --- a/src/include/commands/extension.h +++ b/src/include/commands/extension.h @@ -25,7 +25,7 @@ * installation script. */ extern PGDLLIMPORT bool creating_extension; -extern Oid CurrentExtensionObject; +extern PGDLLIMPORT Oid CurrentExtensionObject; extern ObjectAddress CreateExtension(CreateExtensionStmt *stmt); diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h index 196f3d172b..78e7f4efbc 100644 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@ -152,14 +152,14 @@ extern PGDLLIMPORT bool IsUnderPostmaster; extern bool IsBackgroundWorker; extern PGDLLIMPORT bool IsBinaryUpgrade; -extern bool ExitOnAnyError; +extern PGDLLIMPORT bool ExitOnAnyError; extern PGDLLIMPORT char *DataDir; extern PGDLLIMPORT int NBuffers; -extern int MaxBackends; -extern int MaxConnections; -extern int max_worker_processes; +extern PGDLLIMPORT int MaxBackends; +extern PGDLLIMPORT int MaxConnections; +extern PGDLLIMPORT int max_worker_processes; extern PGDLLIMPORT int MyProcPid; extern PGDLLIMPORT pg_time_t MyStartTime; @@ -239,7 +239,7 @@ extern PGDLLIMPORT int IntervalStyle; #define MAXTZLEN 10 /* max TZ name len, not counting tr. null */ extern bool enableFsync; -extern bool allowSystemTableMods; +extern PGDLLIMPORT bool allowSystemTableMods; extern PGDLLIMPORT int work_mem; extern PGDLLIMPORT int maintenance_work_mem; extern PGDLLIMPORT int replacement_sort_tuples; diff --git a/src/include/pgtime.h b/src/include/pgtime.h index 182da3e645..49d0ac2a9e 100644 --- a/src/include/pgtime.h +++ b/src/include/pgtime.h @@ -70,7 +70,7 @@ extern size_t pg_strftime(char *s, size_t max, const char *format, /* these functions and variables are in pgtz.c */ -extern pg_tz *session_timezone; +extern PGDLLIMPORT pg_tz *session_timezone; extern pg_tz *log_timezone; extern void pg_timezone_initialize(void); diff --git a/src/include/postmaster/postmaster.h b/src/include/postmaster/postmaster.h index b2d7776f2a..fa9ae99fdf 100644 --- a/src/include/postmaster/postmaster.h +++ b/src/include/postmaster/postmaster.h @@ -16,7 +16,7 @@ /* GUC options */ extern bool EnableSSL; extern int ReservedBackends; -extern int PostPortNumber; +extern PGDLLIMPORT int PostPortNumber; extern int Unix_socket_permissions; extern char *Unix_socket_group; extern char *Unix_socket_directories; @@ -44,7 +44,7 @@ extern int postmaster_alive_fds[2]; #define POSTMASTER_FD_OWN 1 /* kept open by postmaster only */ #endif -extern const char *progname; +extern PGDLLIMPORT const char *progname; extern void PostmasterMain(int argc, char *argv[]) pg_attribute_noreturn(); extern void ClosePostmasterPorts(bool am_syslogger); diff --git a/src/include/storage/fd.h b/src/include/storage/fd.h index 59e168d2b6..b6b5c7ab4b 100644 --- a/src/include/storage/fd.h +++ b/src/include/storage/fd.h @@ -52,7 +52,7 @@ typedef int File; /* GUC parameter */ -extern int max_files_per_process; +extern PGDLLIMPORT int max_files_per_process; /* * This is private to fd.c, but exported for save/restore_backend_variables() diff --git a/src/include/storage/proc.h b/src/include/storage/proc.h index c44d82b90c..e359994aeb 100644 --- a/src/include/storage/proc.h +++ b/src/include/storage/proc.h @@ -241,7 +241,7 @@ typedef struct PROC_HDR int startupBufferPinWaitBufId; } PROC_HDR; -extern PROC_HDR *ProcGlobal; +extern PGDLLIMPORT PROC_HDR *ProcGlobal; extern PGPROC *PreparedXactProcs; @@ -257,7 +257,7 @@ extern PGPROC *PreparedXactProcs; /* configurable options */ -extern int DeadlockTimeout; +extern PGDLLIMPORT int DeadlockTimeout; extern int StatementTimeout; extern int LockTimeout; extern int IdleInTransactionSessionTimeout; diff --git a/src/include/tcop/dest.h b/src/include/tcop/dest.h index dd80433f74..99bde82756 100644 --- a/src/include/tcop/dest.h +++ b/src/include/tcop/dest.h @@ -128,7 +128,8 @@ struct _DestReceiver /* Private fields might appear beyond this point... */ }; -extern DestReceiver *None_Receiver; /* permanent receiver for DestNone */ +extern PGDLLIMPORT DestReceiver *None_Receiver; /* permanent receiver for + * DestNone */ /* The primary destination management functions */ diff --git a/src/include/tcop/tcopprot.h b/src/include/tcop/tcopprot.h index 7254355862..fe0e60a453 100644 --- a/src/include/tcop/tcopprot.h +++ b/src/include/tcop/tcopprot.h @@ -44,7 +44,7 @@ typedef enum LOGSTMT_ALL /* log all statements */ } LogStmtLevel; -extern int log_statement; +extern PGDLLIMPORT int log_statement; extern List *pg_parse_query(const char *query_string); extern List *pg_analyze_and_rewrite(Node *parsetree, const char *query_string, diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h index 4e3e15906a..725535a324 100644 --- a/src/include/utils/guc.h +++ b/src/include/utils/guc.h @@ -248,8 +248,8 @@ extern bool SQL_inheritance; extern bool session_auth_is_superuser; extern int log_min_error_statement; -extern int log_min_messages; -extern int client_min_messages; +extern PGDLLIMPORT int log_min_messages; +extern PGDLLIMPORT int client_min_messages; extern int log_min_duration_statement; extern int log_temp_files; @@ -258,7 +258,7 @@ extern int temp_file_limit; extern int num_temp_buffers; extern char *cluster_name; -extern char *ConfigFileName; +extern PGDLLIMPORT char *ConfigFileName; extern char *HbaFileName; extern char *IdentFileName; extern char *external_pid_file; diff --git a/src/include/utils/snapmgr.h b/src/include/utils/snapmgr.h index 512e2b6361..58e7110adc 100644 --- a/src/include/utils/snapmgr.h +++ b/src/include/utils/snapmgr.h @@ -56,10 +56,10 @@ extern int64 GetOldSnapshotThresholdTimestamp(void); extern bool FirstSnapshotSet; -extern TransactionId TransactionXmin; -extern TransactionId RecentXmin; -extern TransactionId RecentGlobalXmin; -extern TransactionId RecentGlobalDataXmin; +extern PGDLLIMPORT TransactionId TransactionXmin; +extern PGDLLIMPORT TransactionId RecentXmin; +extern PGDLLIMPORT TransactionId RecentGlobalXmin; +extern PGDLLIMPORT TransactionId RecentGlobalDataXmin; extern Snapshot GetTransactionSnapshot(void); extern Snapshot GetLatestSnapshot(void); -- 2.40.0