index e83e0acd923a8e41d6847faf0b4a6c325a1aa633..aacc665fdc8280a64b509977e15caf6031857d79 100644 (file)
/* GUC parameters */
extern PGDLLIMPORT int GinFuzzySearchLimit;
-extern int gin_pending_list_limit;
+extern PGDLLIMPORT int gin_pending_list_limit;
/* ginutil.c */
extern void ginGetStats(Relation index, GinStatsData *stats);
index 30786820f8114a1b42dda6395ab42746446f9d61..983841d45e8bc3b936322f95cc2b7c947ec17ad8 100644 (file)
@@ -54,7 +54,7 @@ typedef struct ParallelWorkerContext
shm_toc *toc;
} ParallelWorkerContext;
-extern volatile bool ParallelMessagePending;
+extern PGDLLIMPORT volatile bool ParallelMessagePending;
extern PGDLLIMPORT int ParallelWorkerNumber;
extern PGDLLIMPORT bool InitializingParallelWorker;
index 0ed52d4821406dd662e9ece1c57deb6918bd0779..775888bbb03f842f2e8484aea9fc0503a2d889c7 100644 (file)
@@ -39,6 +39,6 @@ extern void AttachSession(dsm_handle handle);
extern void DetachSession(void);
/* The current session, or NULL for none. */
-extern Session *CurrentSession;
+extern PGDLLIMPORT Session *CurrentSession;
#endif /* SESSION_H */
index bb365736b752692b5c744614b554e6cb25c20f8d..fe869c6c1841ac4e815ea23310c329fffb80cef5 100644 (file)
#define DEFAULT_TABLE_ACCESS_METHOD "heap"
/* GUCs */
-extern char *default_table_access_method;
-extern bool synchronize_seqscans;
+extern PGDLLIMPORT char *default_table_access_method;
+extern PGDLLIMPORT bool synchronize_seqscans;
struct BulkInsertStateData;
index 9b433c7721cfc80aeffeb725c10a2fdb357dc921..deb8f99da5120b05ffd69477f605791ef021d549 100644 (file)
* but the value is one of the char values defined below, as they appear in
* pg_attribute.attcompression, e.g. TOAST_PGLZ_COMPRESSION.
*/
-extern int default_toast_compression;
+extern PGDLLIMPORT int default_toast_compression;
/*
* Built-in compression method ID. The toast compression header will store
index 284c7539f8e8885dfe3ba765b776297d5cf67b4c..96381a5e3f864637f5eae92e1e60e5b4f5b7bee9 100644 (file)
#define TWOPHASE_RM_PREDICATELOCK_ID 4
#define TWOPHASE_RM_MAX_ID TWOPHASE_RM_PREDICATELOCK_ID
-extern const TwoPhaseCallback twophase_recover_callbacks[];
-extern const TwoPhaseCallback twophase_postcommit_callbacks[];
-extern const TwoPhaseCallback twophase_postabort_callbacks[];
-extern const TwoPhaseCallback twophase_standby_recover_callbacks[];
+extern PGDLLIMPORT const TwoPhaseCallback twophase_recover_callbacks[];
+extern PGDLLIMPORT const TwoPhaseCallback twophase_postcommit_callbacks[];
+extern PGDLLIMPORT const TwoPhaseCallback twophase_postabort_callbacks[];
+extern PGDLLIMPORT const TwoPhaseCallback twophase_standby_recover_callbacks[];
extern void RegisterTwoPhaseRecord(TwoPhaseRmgrId rmid, uint16 info,
index 4e1e87350102b507a6156d45af09be449ad8750a..837fe7de0b96592348de5056857f40ab9749471c 100644 (file)
#define XACT_REPEATABLE_READ 2
#define XACT_SERIALIZABLE 3
-extern int DefaultXactIsoLevel;
+extern PGDLLIMPORT int DefaultXactIsoLevel;
extern PGDLLIMPORT int XactIsoLevel;
/*
#define IsolationIsSerializable() (XactIsoLevel == XACT_SERIALIZABLE)
/* Xact read-only state */
-extern bool DefaultXactReadOnly;
-extern bool XactReadOnly;
+extern PGDLLIMPORT bool DefaultXactReadOnly;
+extern PGDLLIMPORT bool XactReadOnly;
/* flag for logging statements in this transaction */
-extern bool xact_is_sampled;
+extern PGDLLIMPORT bool xact_is_sampled;
/*
* Xact is deferrable -- only meaningful (currently) for read only
* SERIALIZABLE transactions
*/
-extern bool DefaultXactDeferrable;
-extern bool XactDeferrable;
+extern PGDLLIMPORT bool DefaultXactDeferrable;
+extern PGDLLIMPORT bool XactDeferrable;
typedef enum
{
#define SYNCHRONOUS_COMMIT_ON SYNCHRONOUS_COMMIT_REMOTE_FLUSH
/* Synchronous commit level */
-extern int synchronous_commit;
+extern PGDLLIMPORT int synchronous_commit;
/* used during logical streaming of a transaction */
extern PGDLLIMPORT TransactionId CheckXidAlive;
@@ -93,7 +93,7 @@ extern PGDLLIMPORT bool bsysscan;
* globally accessible, so can be set from anywhere in the code which requires
* recording flags.
*/
-extern int MyXactFlags;
+extern PGDLLIMPORT int MyXactFlags;
/*
* XACT_FLAGS_ACCESSEDTEMPNAMESPACE - set when a temporary object is accessed.
index 5e1e3446aedc7dd52cb6c0dd1bae089017643d6e..d9f2487a969fdf0fe704737d54426d9b573e1d97 100644 (file)
#define SYNC_METHOD_OPEN 2 /* for O_SYNC */
#define SYNC_METHOD_FSYNC_WRITETHROUGH 3
#define SYNC_METHOD_OPEN_DSYNC 4 /* for O_DSYNC */
-extern int sync_method;
+extern PGDLLIMPORT int sync_method;
-extern XLogRecPtr ProcLastRecPtr;
-extern XLogRecPtr XactLastRecEnd;
+extern PGDLLIMPORT XLogRecPtr ProcLastRecPtr;
+extern PGDLLIMPORT XLogRecPtr XactLastRecEnd;
extern PGDLLIMPORT XLogRecPtr XactLastCommitEnd;
/* these variables are GUC parameters related to XLOG */
-extern PGDLLIMPORT int wal_segment_size;
-extern int min_wal_size_mb;
-extern int max_wal_size_mb;
-extern int wal_keep_size_mb;
-extern int max_slot_wal_keep_size_mb;
-extern int XLOGbuffers;
-extern int XLogArchiveTimeout;
-extern int wal_retrieve_retry_interval;
-extern char *XLogArchiveCommand;
-extern bool EnableHotStandby;
-extern bool fullPageWrites;
-extern bool wal_log_hints;
-extern int wal_compression;
-extern bool wal_init_zero;
-extern bool wal_recycle;
-extern bool *wal_consistency_checking;
-extern char *wal_consistency_checking_string;
-extern bool log_checkpoints;
-extern bool track_wal_io_timing;
-extern int wal_decode_buffer_size;
-
-extern int CheckPointSegments;
+extern PGDLLIMPORT int wal_segment_size;
+extern PGDLLIMPORT int min_wal_size_mb;
+extern PGDLLIMPORT int max_wal_size_mb;
+extern PGDLLIMPORT int wal_keep_size_mb;
+extern PGDLLIMPORT int max_slot_wal_keep_size_mb;
+extern PGDLLIMPORT int XLOGbuffers;
+extern PGDLLIMPORT int XLogArchiveTimeout;
+extern PGDLLIMPORT int wal_retrieve_retry_interval;
+extern PGDLLIMPORT char *XLogArchiveCommand;
+extern PGDLLIMPORT bool EnableHotStandby;
+extern PGDLLIMPORT bool fullPageWrites;
+extern PGDLLIMPORT bool wal_log_hints;
+extern PGDLLIMPORT int wal_compression;
+extern PGDLLIMPORT bool wal_init_zero;
+extern PGDLLIMPORT bool wal_recycle;
+extern PGDLLIMPORT bool *wal_consistency_checking;
+extern PGDLLIMPORT char *wal_consistency_checking_string;
+extern PGDLLIMPORT bool log_checkpoints;
+extern PGDLLIMPORT bool track_wal_io_timing;
+extern PGDLLIMPORT int wal_decode_buffer_size;
+
+extern PGDLLIMPORT int CheckPointSegments;
/* Archive modes */
typedef enum ArchiveMode
ARCHIVE_MODE_ON, /* enabled while server is running normally */
ARCHIVE_MODE_ALWAYS /* enabled always (even during recovery) */
} ArchiveMode;
-extern int XLogArchiveMode;
+extern PGDLLIMPORT int XLogArchiveMode;
/* WAL levels */
typedef enum WalLevel
#define XLogLogicalInfoActive() (wal_level >= WAL_LEVEL_LOGICAL)
#ifdef WAL_DEBUG
-extern bool XLOG_DEBUG;
+extern PGDLLIMPORT bool XLOG_DEBUG;
#endif
/*
* entire sync phase. */
} CheckpointStatsData;
-extern CheckpointStatsData CheckpointStats;
+extern PGDLLIMPORT CheckpointStatsData CheckpointStats;
/*
* GetWALAvailability return codes
index 750f6341205215d5065343bbe851b20d135df3af..fae0bef8f5d2ef37b1c50a4df62f5b76634446f1 100644 (file)
@@ -358,9 +358,9 @@ extern void XLogRecGetBlockRefInfo(XLogReaderState *record, bool pretty,
* Exported for the functions in timeline.c and xlogarchive.c. Only valid
* in the startup process.
*/
-extern bool ArchiveRecoveryRequested;
-extern bool InArchiveRecovery;
-extern bool StandbyMode;
-extern char *recoveryRestoreCommand;
+extern PGDLLIMPORT bool ArchiveRecoveryRequested;
+extern PGDLLIMPORT bool InArchiveRecovery;
+extern PGDLLIMPORT bool StandbyMode;
+extern PGDLLIMPORT char *recoveryRestoreCommand;
#endif /* XLOG_INTERNAL_H */
index 80283a8fc23e4ebddd60c3df823f8ff65b3e62f5..fdd67fcedd2f9a69cdca6b0d6be444b229c656bd 100644 (file)
#include "access/xlogrecord.h"
/* GUCs */
-extern int recovery_prefetch;
+extern PGDLLIMPORT int recovery_prefetch;
/* Possible values for recovery_prefetch */
typedef enum
index 75a0f5fe5ec52688df9069ca83c81000ca6ff5cb..0aa85d90e89d449953c0c81e4ee1a6c39d76adf0 100644 (file)
} RecoveryPauseState;
/* User-settable GUC parameters */
-extern bool recoveryTargetInclusive;
-extern int recoveryTargetAction;
-extern int recovery_min_apply_delay;
-extern char *PrimaryConnInfo;
-extern char *PrimarySlotName;
-extern char *recoveryRestoreCommand;
-extern char *recoveryEndCommand;
-extern char *archiveCleanupCommand;
+extern PGDLLIMPORT bool recoveryTargetInclusive;
+extern PGDLLIMPORT int recoveryTargetAction;
+extern PGDLLIMPORT int recovery_min_apply_delay;
+extern PGDLLIMPORT char *PrimaryConnInfo;
+extern PGDLLIMPORT char *PrimarySlotName;
+extern PGDLLIMPORT char *recoveryRestoreCommand;
+extern PGDLLIMPORT char *recoveryEndCommand;
+extern PGDLLIMPORT char *archiveCleanupCommand;
/* indirectly set via GUC system */
-extern TransactionId recoveryTargetXid;
-extern char *recovery_target_time_string;
-extern TimestampTz recoveryTargetTime;
-extern const char *recoveryTargetName;
-extern XLogRecPtr recoveryTargetLSN;
-extern RecoveryTargetType recoveryTarget;
-extern char *PromoteTriggerFile;
-extern bool wal_receiver_create_temp_slot;
-extern RecoveryTargetTimeLineGoal recoveryTargetTimeLineGoal;
-extern TimeLineID recoveryTargetTLIRequested;
-extern TimeLineID recoveryTargetTLI;
+extern PGDLLIMPORT TransactionId recoveryTargetXid;
+extern PGDLLIMPORT char *recovery_target_time_string;
+extern PGDLLIMPORT TimestampTz recoveryTargetTime;
+extern PGDLLIMPORT const char *recoveryTargetName;
+extern PGDLLIMPORT XLogRecPtr recoveryTargetLSN;
+extern PGDLLIMPORT RecoveryTargetType recoveryTarget;
+extern PGDLLIMPORT char *PromoteTriggerFile;
+extern PGDLLIMPORT bool wal_receiver_create_temp_slot;
+extern PGDLLIMPORT RecoveryTargetTimeLineGoal recoveryTargetTimeLineGoal;
+extern PGDLLIMPORT TimeLineID recoveryTargetTLIRequested;
+extern PGDLLIMPORT TimeLineID recoveryTargetTLI;
/* Have we already reached a consistent database state? */
-extern bool reachedConsistency;
+extern PGDLLIMPORT bool reachedConsistency;
/* Are we currently in standby mode? */
-extern bool StandbyMode;
+extern PGDLLIMPORT bool StandbyMode;
extern Size XLogRecoveryShmemSize(void);
extern void XLogRecoveryShmemInit(void);
index 3746e31e40f75609cf58f8c5e2ecaeb080823263..761625acf44f7a01c563d0cef2beff5ca92136d5 100644 (file)
* potentially perform work during recovery should check RecoveryInProgress().
* See XLogCtl notes in xlog.c.
*/
-extern bool InRecovery;
+extern PGDLLIMPORT bool InRecovery;
/*
* Like InRecovery, standbyState is only valid in the startup process.
STANDBY_SNAPSHOT_READY
} HotStandbyState;
-extern HotStandbyState standbyState;
+extern PGDLLIMPORT HotStandbyState standbyState;
#define InHotStandby (standbyState >= STANDBY_SNAPSHOT_PENDING)
index 471414909f3089a512b93523fa299f042fb2811d..49d4ad560f148e774efdd766b9a45fbf03475960 100644 (file)
#define BOOTCOL_NULL_FORCE_NULL 2
#define BOOTCOL_NULL_FORCE_NOT_NULL 3
-extern Relation boot_reldesc;
-extern Form_pg_attribute attrtypes[MAXATTR];
-extern int numattr;
+extern PGDLLIMPORT Relation boot_reldesc;
+extern PGDLLIMPORT Form_pg_attribute attrtypes[MAXATTR];
+extern PGDLLIMPORT int numattr;
extern void BootstrapModeMain(int argc, char *argv[], bool check_only) pg_attribute_noreturn();
index f963d82797cdaf044882022cd5b23a4685505aa6..1bc55c01a5c4591ea2ab227a61ba41add0c7eeae 100644 (file)
@@ -182,7 +182,7 @@ extern void AtEOSubXact_Namespace(bool isCommit, SubTransactionId mySubid,
SubTransactionId parentSubid);
/* stuff for search_path GUC variable */
-extern char *namespace_search_path;
+extern PGDLLIMPORT char *namespace_search_path;
extern List *fetch_search_path(bool includeImplicit);
extern int fetch_search_path_array(Oid *sarray, int sarray_len);
index 274f300054e72b920e848de30cdc75b85cc31b45..cf4d8b3107717093d0f7edbec900a5775e23a298 100644 (file)
int32 objectSubId; /* Subitem within object (eg column), or 0 */
} ObjectAddress;
-extern const ObjectAddress InvalidObjectAddress;
+extern PGDLLIMPORT const ObjectAddress InvalidObjectAddress;
#define ObjectAddressSubSet(addr, class_id, object_id, object_sub_id) \
do { \
index 844a023b2ce68bbe0606652c709bceceba773d9c..59f3404ac640a2f8e191d4a6db894ca248fa4fab 100644 (file)
#include "utils/relcache.h"
/* GUC variables */
-extern int wal_skip_threshold;
+extern PGDLLIMPORT int wal_skip_threshold;
extern SMgrRelation RelationCreateStorage(RelFileNode rnode,
char relpersistence,
index ebc92717892ed85020d52fedb317b3a144ac3f77..926af933d1b9b4cc67d0a4658989d4299ed93d25 100644 (file)
*/
#define NUM_NOTIFY_BUFFERS 8
-extern bool Trace_notify;
-extern volatile sig_atomic_t notifyInterruptPending;
+extern PGDLLIMPORT bool Trace_notify;
+extern PGDLLIMPORT volatile sig_atomic_t notifyInterruptPending;
extern Size AsyncShmemSize(void);
extern void AsyncShmemInit(void);
index 323528ebb83e1351116d99ff37b5723f8cc7fbd4..24b647332d1b36f90660df72acfd39cfa7004db3 100644 (file)
#include "lib/stringinfo.h"
#include "nodes/parsenodes.h"
-extern bool allow_in_place_tablespaces;
+extern PGDLLIMPORT bool allow_in_place_tablespaces;
/* XLOG stuff */
#define XLOG_TBLSPC_CREATE 0x00
index 0b7a3cd65fd26156f34421a66749284e09a754ef..d3dd8303d28caad0f3d33e87b763c95f593153f4 100644 (file)
#include "parser/parse_node.h"
/* GUC. Is actually of type PasswordType. */
-extern int Password_encryption;
+extern PGDLLIMPORT int Password_encryption;
/* Hook to check passwords in CreateRole() and AlterRole() */
typedef void (*check_password_hook_type) (const char *username, const char *shadow_pass, PasswordType password_type, Datum validuntil_time, bool validuntil_null);
index ead88edda760008abc8468099896b9e84afc99f0..f38e1148f97fe89521b37d6dae69fdf4869d8e6e 100644 (file)
/* GUC parameters */
extern PGDLLIMPORT int default_statistics_target; /* PGDLLIMPORT for PostGIS */
-extern int vacuum_freeze_min_age;
-extern int vacuum_freeze_table_age;
-extern int vacuum_multixact_freeze_min_age;
-extern int vacuum_multixact_freeze_table_age;
-extern int vacuum_failsafe_age;
-extern int vacuum_multixact_failsafe_age;
+extern PGDLLIMPORT int vacuum_freeze_min_age;
+extern PGDLLIMPORT int vacuum_freeze_table_age;
+extern PGDLLIMPORT int vacuum_multixact_freeze_min_age;
+extern PGDLLIMPORT int vacuum_multixact_freeze_table_age;
+extern PGDLLIMPORT int vacuum_failsafe_age;
+extern PGDLLIMPORT int vacuum_multixact_failsafe_age;
/* Variables for cost-based parallel vacuum */
-extern pg_atomic_uint32 *VacuumSharedCostBalance;
-extern pg_atomic_uint32 *VacuumActiveNWorkers;
-extern int VacuumCostBalanceLocal;
+extern PGDLLIMPORT pg_atomic_uint32 *VacuumSharedCostBalance;
+extern PGDLLIMPORT pg_atomic_uint32 *VacuumActiveNWorkers;
+extern PGDLLIMPORT int VacuumCostBalanceLocal;
/* in commands/vacuum.c */
index 85d32ed141b9cbf23405787adc1a840c88f28cfb..48d68ef276352bf8a80df52ee06302b2ee739481 100644 (file)
#define PG_FILE_MODE_GROUP (S_IRUSR | S_IWUSR | S_IRGRP)
/* Modes for creating directories and files in the data directory */
-extern int pg_dir_create_mode;
-extern int pg_file_create_mode;
+extern PGDLLIMPORT int pg_dir_create_mode;
+extern PGDLLIMPORT int pg_file_create_mode;
/* Mode mask to pass to umask() */
-extern int pg_mode_mask;
+extern PGDLLIMPORT int pg_mode_mask;
/* Set permissions and mask based on the provided mode */
extern void SetDataDirectoryCreatePerm(int dataDirMode);
index 52cb4a9339e7f504ba35caf1d6c287eb4814e24d..8d31630e5cebf254b9ffd6dbdf5a3f5636b1ef94 100644 (file)
@@ -128,7 +128,7 @@ extern JsonParseErrorType pg_parse_json(JsonLexContext *lex,
JsonSemAction *sem);
/* the null action object used for pure validation */
-extern JsonSemAction nullSemAction;
+extern PGDLLIMPORT JsonSemAction nullSemAction;
/*
* json_count_array_elements performs a fast secondary parse to determine the
index 43cc79afa8a9e34264d4e98926d0e64a64d7c5d0..61cfdce6531c15730e0aba13b5483acbb05557fd 100644 (file)
PG_LOG_OFF,
};
-extern enum pg_log_level __pg_log_level;
+extern PGDLLIMPORT enum pg_log_level __pg_log_level;
/*
* Kind of a hack to be able to produce the psql output exactly as required by
index 3e53fbe97bd0a10e3fbf7ed4396924084f657868..2a12b33a008024e1eefcafe202b97b37cdd561c0 100644 (file)
* output would be larger than input.
* ----------
*/
-extern const PGLZ_Strategy *const PGLZ_strategy_default;
-extern const PGLZ_Strategy *const PGLZ_strategy_always;
+extern PGDLLIMPORT const PGLZ_Strategy *const PGLZ_strategy_default;
+extern PGDLLIMPORT const PGLZ_Strategy *const PGLZ_strategy_always;
/* ----------
index a4b5dc853bfbf20b6eb1642d1363f9b7a0146a54..13849a379073503f3b9f176eb81a0f84f4dd9b24 100644 (file)
#define FORKNAMECHARS 4 /* max chars for a fork name */
-extern const char *const forkNames[];
+extern PGDLLIMPORT const char *const forkNames[];
extern ForkNumber forkname_to_number(const char *forkName);
extern int forkname_chars(const char *str, ForkNumber *fork);
index 7005b804bcfe23225ae5169daf1bd9e55f828391..3b84daf6eb62cb191f309051d657c7a66090da16 100644 (file)
#include "libpq-fe.h"
-extern volatile sig_atomic_t CancelRequested;
+extern PGDLLIMPORT volatile sig_atomic_t CancelRequested;
extern void SetCancelConn(PGconn *conn);
extern void ResetCancelConn(void);
index 836b4e29a81472b1a77e68be2470b1078777b144..bb2f1bf4e64275e38e69a881660ef28657f22b97 100644 (file)
} printQueryOpt;
-extern volatile sig_atomic_t cancel_pressed;
+extern PGDLLIMPORT volatile sig_atomic_t cancel_pressed;
-extern const printTextFormat pg_asciiformat;
-extern const printTextFormat pg_asciiformat_old;
-extern printTextFormat pg_utf8format; /* ideally would be const, but... */
+extern PGDLLIMPORT const printTextFormat pg_asciiformat;
+extern PGDLLIMPORT const printTextFormat pg_asciiformat_old;
+extern PGDLLIMPORT printTextFormat pg_utf8format; /* ideally would be const,
+ * but... */
extern void disable_sigpipe_trap(void);
index 3c88250e6cc52b193c31045b0ecf92c1467d4299..b9b8708dab7931e97b930324a20157c5a10681de 100644 (file)
#include "pqexpbuffer.h"
/* Global variables controlling behavior of fmtId() and fmtQualifiedId() */
-extern int quote_all_identifiers;
+extern PGDLLIMPORT int quote_all_identifiers;
extern PQExpBuffer (*getLocalPQExpBuffer) (void);
/* Functions */
index 6560e462d66a1311004c9905d81ee48b4aa643c3..a1cf4bd646e12f1a79523e0dc46c666c84d1c96c 100644 (file)
@@ -721,7 +721,7 @@ extern bool CheckFunctionValidatorAccess(Oid validatorOid, Oid functionOid);
/*
* Routines in dfmgr.c
*/
-extern char *Dynamic_library_path;
+extern PGDLLIMPORT char *Dynamic_library_path;
extern void *load_external_function(const char *filename, const char *funcname,
bool signalNotFound, void **filehandle);
index 707176d9ed3f2525bff512ec063aeddb7ca6c271..d1940332094ab6d09626520d1853246045537035 100644 (file)
/* GUCs */
-extern bool jit_enabled;
-extern char *jit_provider;
-extern bool jit_debugging_support;
-extern bool jit_dump_bitcode;
-extern bool jit_expressions;
-extern bool jit_profiling_support;
-extern bool jit_tuple_deforming;
-extern double jit_above_cost;
-extern double jit_inline_above_cost;
-extern double jit_optimize_above_cost;
+extern PGDLLIMPORT bool jit_enabled;
+extern PGDLLIMPORT char *jit_provider;
+extern PGDLLIMPORT bool jit_debugging_support;
+extern PGDLLIMPORT bool jit_dump_bitcode;
+extern PGDLLIMPORT bool jit_expressions;
+extern PGDLLIMPORT bool jit_profiling_support;
+extern PGDLLIMPORT bool jit_tuple_deforming;
+extern PGDLLIMPORT double jit_above_cost;
+extern PGDLLIMPORT double jit_inline_above_cost;
+extern PGDLLIMPORT double jit_optimize_above_cost;
extern void jit_reset_after_error(void);
index 66143afccc05df0f4cce090e14451ed19cae9138..4541f9a2c425f0b72219a25f50aa5467c14c0065 100644 (file)
} LLVMJitContext;
/* llvm module containing information about types */
-extern LLVMModuleRef llvm_types_module;
+extern PGDLLIMPORT LLVMModuleRef llvm_types_module;
/* type and struct definitions */
-extern LLVMTypeRef TypeParamBool;
-extern LLVMTypeRef TypePGFunction;
-extern LLVMTypeRef TypeSizeT;
-extern LLVMTypeRef TypeStorageBool;
-
-extern LLVMTypeRef StructNullableDatum;
-extern LLVMTypeRef StructTupleDescData;
-extern LLVMTypeRef StructHeapTupleData;
-extern LLVMTypeRef StructTupleTableSlot;
-extern LLVMTypeRef StructHeapTupleTableSlot;
-extern LLVMTypeRef StructMinimalTupleTableSlot;
-extern LLVMTypeRef StructMemoryContextData;
-extern LLVMTypeRef StructFunctionCallInfoData;
-extern LLVMTypeRef StructExprContext;
-extern LLVMTypeRef StructExprEvalStep;
-extern LLVMTypeRef StructExprState;
-extern LLVMTypeRef StructAggState;
-extern LLVMTypeRef StructAggStatePerTransData;
-extern LLVMTypeRef StructAggStatePerGroupData;
-
-extern LLVMValueRef AttributeTemplate;
+extern PGDLLIMPORT LLVMTypeRef TypeParamBool;
+extern PGDLLIMPORT LLVMTypeRef TypePGFunction;
+extern PGDLLIMPORT LLVMTypeRef TypeSizeT;
+extern PGDLLIMPORT LLVMTypeRef TypeStorageBool;
+
+extern PGDLLIMPORT LLVMTypeRef StructNullableDatum;
+extern PGDLLIMPORT LLVMTypeRef StructTupleDescData;
+extern PGDLLIMPORT LLVMTypeRef StructHeapTupleData;
+extern PGDLLIMPORT LLVMTypeRef StructTupleTableSlot;
+extern PGDLLIMPORT LLVMTypeRef StructHeapTupleTableSlot;
+extern PGDLLIMPORT LLVMTypeRef StructMinimalTupleTableSlot;
+extern PGDLLIMPORT LLVMTypeRef StructMemoryContextData;
+extern PGDLLIMPORT LLVMTypeRef StructFunctionCallInfoData;
+extern PGDLLIMPORT LLVMTypeRef StructExprContext;
+extern PGDLLIMPORT LLVMTypeRef StructExprEvalStep;
+extern PGDLLIMPORT LLVMTypeRef StructExprState;
+extern PGDLLIMPORT LLVMTypeRef StructAggState;
+extern PGDLLIMPORT LLVMTypeRef StructAggStatePerTransData;
+extern PGDLLIMPORT LLVMTypeRef StructAggStatePerGroupData;
+
+extern PGDLLIMPORT LLVMValueRef AttributeTemplate;
extern void llvm_enter_fatal_on_oom(void);
index 6d7ee1acb9d646de8d5b8fdc4413e3b101189392..d3c189efe32ec5760701e3f2c3959ef34dd7c303 100644 (file)
#include "libpq/libpq-be.h"
-extern char *pg_krb_server_keyfile;
-extern bool pg_krb_caseins_users;
-extern char *pg_krb_realm;
+extern PGDLLIMPORT char *pg_krb_server_keyfile;
+extern PGDLLIMPORT bool pg_krb_caseins_users;
+extern PGDLLIMPORT char *pg_krb_realm;
extern void ClientAuthentication(Port *port);
extern void sendAuthRequest(Port *port, AuthRequest areq, const char *extradata,
index c3bf51465280a36b0c4a269acc07b59970cd040f..90c20da22bf6685987cbcfe4cd0795ced31b516a 100644 (file)
@@ -326,7 +326,7 @@ extern ssize_t be_gssapi_read(Port *port, void *ptr, size_t len);
extern ssize_t be_gssapi_write(Port *port, void *ptr, size_t len);
#endif /* ENABLE_GSS */
-extern ProtocolVersion FrontendProtocol;
+extern PGDLLIMPORT ProtocolVersion FrontendProtocol;
/* TCP keepalives configuration. These are no-ops on an AF_UNIX socket. */
index d348a55812e818b2175fa1af25f8a69f9e55957d..2de7d9bad2c230e51ef204a6623a400211f67027 100644 (file)
@@ -58,7 +58,7 @@ extern const PGDLLIMPORT PQcommMethods *PqCommMethods;
/*
* prototypes for functions in pqcomm.c
*/
-extern WaitEventSet *FeBeWaitSet;
+extern PGDLLIMPORT WaitEventSet *FeBeWaitSet;
#define FeBeWaitSetSocketPos 0
#define FeBeWaitSetLatchPos 1
/*
* prototypes for functions in be-secure.c
*/
-extern char *ssl_library;
-extern char *ssl_cert_file;
-extern char *ssl_key_file;
-extern char *ssl_ca_file;
-extern char *ssl_crl_file;
-extern char *ssl_crl_dir;
-extern char *ssl_dh_params_file;
+extern PGDLLIMPORT char *ssl_library;
+extern PGDLLIMPORT char *ssl_cert_file;
+extern PGDLLIMPORT char *ssl_key_file;
+extern PGDLLIMPORT char *ssl_ca_file;
+extern PGDLLIMPORT char *ssl_crl_file;
+extern PGDLLIMPORT char *ssl_crl_dir;
+extern PGDLLIMPORT char *ssl_dh_params_file;
extern PGDLLIMPORT char *ssl_passphrase_command;
extern PGDLLIMPORT bool ssl_passphrase_command_supports_reload;
#ifdef USE_SSL
-extern bool ssl_loaded_verify_locations;
+extern PGDLLIMPORT bool ssl_loaded_verify_locations;
#endif
extern int secure_initialize(bool isServerStart);
#endif
/* GUCs */
-extern char *SSLCipherSuites;
-extern char *SSLECDHCurve;
-extern bool SSLPreferServerCiphers;
-extern int ssl_min_protocol_version;
-extern int ssl_max_protocol_version;
+extern PGDLLIMPORT char *SSLCipherSuites;
+extern PGDLLIMPORT char *SSLECDHCurve;
+extern PGDLLIMPORT bool SSLPreferServerCiphers;
+extern PGDLLIMPORT int ssl_min_protocol_version;
+extern PGDLLIMPORT int ssl_max_protocol_version;
enum ssl_protocol_versions
{
index ed26ad2256719f53bfb8bd17c3237e636eea262c..b418283d5ffb30d5b9be5c1f9ab9132cbfb15321 100644 (file)
typedef uint32 PacketLen;
-extern bool Db_user_namespace;
+extern PGDLLIMPORT bool Db_user_namespace;
/*
* In protocol 3.0 and later, the startup packet length is not fixed, but
index e60992a0d2d6cff1d8c06f7e3bbc1d68f23bed9b..c51e848c24d7eea5b7c095305735fbe6ee276bdd 100644 (file)
#include "libpq/sasl.h"
/* SASL implementation callbacks */
-extern const pg_be_sasl_mech pg_be_scram_mech;
+extern PGDLLIMPORT const pg_be_sasl_mech pg_be_scram_mech;
/* Routines to handle and check SCRAM-SHA-256 secret */
extern char *pg_be_scram_build_secret(const char *password);
index fd89bee80bf285a1adf64ff35d3396766e3a4dce..31f5b393da417d6226a33cb43ed743d682ee0997 100644 (file)
#endif
} pg_enc2name;
-extern const pg_enc2name pg_enc2name_tbl[];
+extern PGDLLIMPORT const pg_enc2name pg_enc2name_tbl[];
/*
* Encoding names for gettext
const char *name;
} pg_enc2gettext;
-extern const pg_enc2gettext pg_enc2gettext_tbl[];
+extern PGDLLIMPORT const pg_enc2gettext pg_enc2gettext_tbl[];
/*
* pg_wchar stuff
int maxmblen; /* max bytes for a char in this encoding */
} pg_wchar_tbl;
-extern const pg_wchar_tbl pg_wchar_table[];
+extern PGDLLIMPORT const pg_wchar_tbl pg_wchar_table[];
/*
* Data structures for conversions between UTF-8 and other encodings
index bcf20164212beca02759670cf472765bd6ba6bf5..e9ad52c3475f574f5c549f030e856722c1d582c8 100644 (file)
extern PGDLLIMPORT TimestampTz MyStartTimestamp;
extern PGDLLIMPORT struct Port *MyProcPort;
extern PGDLLIMPORT struct Latch *MyLatch;
-extern int32 MyCancelKey;
-extern int MyPMChildSlot;
+extern PGDLLIMPORT int32 MyCancelKey;
+extern PGDLLIMPORT int MyPMChildSlot;
-extern char OutputFileName[];
+extern PGDLLIMPORT char OutputFileName[];
extern PGDLLIMPORT char my_exec_path[];
-extern char pkglib_path[];
+extern PGDLLIMPORT char pkglib_path[];
#ifdef EXEC_BACKEND
-extern char postgres_exec_path[];
+extern PGDLLIMPORT char postgres_exec_path[];
#endif
/*
#define MAXTZLEN 10 /* max TZ name len, not counting tr. null */
-extern bool enableFsync;
+extern PGDLLIMPORT bool enableFsync;
extern PGDLLIMPORT bool allowSystemTableMods;
extern PGDLLIMPORT int work_mem;
extern PGDLLIMPORT double hash_mem_multiplier;
extern PGDLLIMPORT int maintenance_work_mem;
extern PGDLLIMPORT int max_parallel_maintenance_workers;
-extern int VacuumCostPageHit;
-extern int VacuumCostPageMiss;
-extern int VacuumCostPageDirty;
-extern int VacuumCostLimit;
-extern double VacuumCostDelay;
+extern PGDLLIMPORT int VacuumCostPageHit;
+extern PGDLLIMPORT int VacuumCostPageMiss;
+extern PGDLLIMPORT int VacuumCostPageDirty;
+extern PGDLLIMPORT int VacuumCostLimit;
+extern PGDLLIMPORT double VacuumCostDelay;
-extern int64 VacuumPageHit;
-extern int64 VacuumPageMiss;
-extern int64 VacuumPageDirty;
+extern PGDLLIMPORT int64 VacuumPageHit;
+extern PGDLLIMPORT int64 VacuumPageMiss;
+extern PGDLLIMPORT int64 VacuumPageDirty;
-extern int VacuumCostBalance;
-extern bool VacuumCostActive;
+extern PGDLLIMPORT int VacuumCostBalance;
+extern PGDLLIMPORT bool VacuumCostActive;
/* in tcop/postgres.c */
@@ -299,7 +299,7 @@ extern void PreventCommandIfParallelMode(const char *cmdname);
extern void PreventCommandDuringRecovery(const char *cmdname);
/* in utils/misc/guc.c */
-extern int trace_recovery_messages;
+extern PGDLLIMPORT int trace_recovery_messages;
extern int trace_recovery(int trace_level);
/*****************************************************************************
@@ -312,7 +312,7 @@ extern int trace_recovery(int trace_level);
#define SECURITY_RESTRICTED_OPERATION 0x0002
#define SECURITY_NOFORCE_RLS 0x0004
-extern char *DatabasePath;
+extern PGDLLIMPORT char *DatabasePath;
/* now in utils/init/miscinit.c */
extern void InitPostmasterChild(void);
B_LOGGER,
} BackendType;
-extern BackendType MyBackendType;
+extern PGDLLIMPORT BackendType MyBackendType;
extern const char *GetBackendTypeDesc(BackendType backendType);
NormalProcessing /* normal processing */
} ProcessingMode;
-extern ProcessingMode Mode;
+extern PGDLLIMPORT ProcessingMode Mode;
#define IsBootstrapProcessingMode() (Mode == BootstrapProcessing)
#define IsInitProcessingMode() (Mode == InitProcessing)
NUM_AUXPROCTYPES /* Must be last! */
} AuxProcType;
-extern AuxProcType MyAuxProcType;
+extern PGDLLIMPORT AuxProcType MyAuxProcType;
#define AmStartupProcess() (MyAuxProcType == StartupProcess)
#define AmBackgroundWriterProcess() (MyAuxProcType == BgWriterProcess)
/* in utils/init/postinit.c */
extern void pg_split_opts(char **argv, int *argcp, const char *optstr);
extern void InitializeMaxBackends(void);
-extern int GetMaxBackends(void);
+extern int GetMaxBackends(void);
extern void SetMaxBackends(int max_backends);
extern void InitPostgres(const char *in_dbname, Oid dboid, const char *username,
Oid useroid, char *out_dbname, bool override_allow_connections);
extern void BaseInit(void);
/* in utils/init/miscinit.c */
-extern bool IgnoreSystemIndexes;
+extern PGDLLIMPORT bool IgnoreSystemIndexes;
extern PGDLLIMPORT bool process_shared_preload_libraries_in_progress;
-extern bool process_shared_preload_libraries_done;
-extern char *session_preload_libraries_string;
-extern char *shared_preload_libraries_string;
-extern char *local_preload_libraries_string;
+extern PGDLLIMPORT bool process_shared_preload_libraries_done;
+extern PGDLLIMPORT char *session_preload_libraries_string;
+extern PGDLLIMPORT char *shared_preload_libraries_string;
+extern PGDLLIMPORT char *local_preload_libraries_string;
extern void CreateDataDirLockFile(bool amPostmaster);
extern void CreateSocketLockFile(const char *socketfile, bool amPostmaster,
index 41794354e2736a0e5b343eb6b53453f145eab741..66717fd6c33354a52ef881349979e4a713771c93 100644 (file)
* variable in read.c that needs to be accessible to readfuncs.c
*/
#ifdef WRITE_READ_PARSE_PLAN_TREES
-extern bool restore_location_fields;
+extern PGDLLIMPORT bool restore_location_fields;
#endif
/*
index 4563f200cde65dd6980d11f6086b86c4dcc4b7be..d39932333236a92c2142a6ed80d740b24873c870 100644 (file)
*
* If you change these, update backend/utils/misc/postgresql.conf.sample
*/
-extern int Geqo_effort; /* 1 .. 10, knob for adjustment of defaults */
+extern PGDLLIMPORT int Geqo_effort; /* 1 .. 10, knob for adjustment of
+ * defaults */
#define DEFAULT_GEQO_EFFORT 5
#define MIN_GEQO_EFFORT 1
#define MAX_GEQO_EFFORT 10
-extern int Geqo_pool_size; /* 2 .. inf, or 0 to use default */
+extern PGDLLIMPORT int Geqo_pool_size; /* 2 .. inf, or 0 to use default */
-extern int Geqo_generations; /* 1 .. inf, or 0 to use default */
+extern PGDLLIMPORT int Geqo_generations; /* 1 .. inf, or 0 to use default */
-extern double Geqo_selection_bias;
+extern PGDLLIMPORT double Geqo_selection_bias;
#define DEFAULT_GEQO_SELECTION_BIAS 2.0
#define MIN_GEQO_SELECTION_BIAS 1.5
#define MAX_GEQO_SELECTION_BIAS 2.0
-extern double Geqo_seed; /* 0 .. 1 */
+extern PGDLLIMPORT double Geqo_seed; /* 0 .. 1 */
/*
index 2302ab6d546fc2cd3c769587a22a9feed8480770..d40ce2eae14dc75184c1ba304665777ba35f16b8 100644 (file)
} ForceParallelMode;
/* GUC parameters */
-extern int force_parallel_mode;
-extern bool parallel_leader_participation;
+extern PGDLLIMPORT int force_parallel_mode;
+extern PGDLLIMPORT bool parallel_leader_participation;
extern struct PlannedStmt *planner(Query *parse, const char *query_string,
int cursorOptions,
index 6947bc65d1ee458a405f41d88b8f26ddddca3e08..c4f61c1a09c02829e22271c052f830e5893ebe2c 100644 (file)
/* GUC parameters */
#define DEFAULT_CURSOR_TUPLE_FRACTION 0.1
-extern double cursor_tuple_fraction;
+extern PGDLLIMPORT double cursor_tuple_fraction;
/* query_planner callback to compute query_pathkeys */
typedef void (*query_pathkeys_callback) (PlannerInfo *root, void *extra);
@@ -64,8 +64,8 @@ extern Limit *make_limit(Plan *lefttree, Node *limitOffset, Node *limitCount,
/*
* prototypes for plan/initsplan.c
*/
-extern int from_collapse_limit;
-extern int join_collapse_limit;
+extern PGDLLIMPORT int from_collapse_limit;
+extern PGDLLIMPORT int join_collapse_limit;
extern void add_base_rels_to_query(PlannerInfo *root, Node *jtnode);
extern void add_other_rels_to_query(PlannerInfo *root);
index 308e84edda45131bb15ebc458b6810855bd2d874..c8e5c57b4305b81b0129d5ab006d85c1be913621 100644 (file)
#include "parser/parse_node.h"
/* GUC parameters */
-extern bool Transform_null_equals;
+extern PGDLLIMPORT bool Transform_null_equals;
extern Node *transformExpr(ParseState *pstate, Node *expr, ParseExprKind exprKind);
index 6aac0e096a102dcd8e214d4998a1d50e835f62a1..828150f01bcb28f7c4fbf65145838785d016ade9 100644 (file)
} BackslashQuoteType;
/* GUC variables in scan.l (every one of these is a bad idea :-() */
-extern int backslash_quote;
-extern bool escape_string_warning;
+extern PGDLLIMPORT int backslash_quote;
+extern PGDLLIMPORT bool escape_string_warning;
extern PGDLLIMPORT bool standard_conforming_strings;
index ec9f6e6ee341171e5fee7d12bcf4b1766500f3e2..9d91e602e64af37ae707d4bb345f404349a6a4f7 100644 (file)
*/
#ifndef HAVE_GETOPT_H
-extern char *optarg;
-extern int optind;
-extern int opterr;
-extern int optopt;
+extern PGDLLIMPORT char *optarg;
+extern PGDLLIMPORT int optind;
+extern PGDLLIMPORT int opterr;
+extern PGDLLIMPORT int optopt;
#endif /* HAVE_GETOPT_H */
* Cygwin, however, doesn't like this either.
*/
#if defined(HAVE_INT_OPTRESET) && !defined(__CYGWIN__)
-extern int optreset;
+extern PGDLLIMPORT int optreset;
#endif
/* Provide getopt() declaration if the platform doesn't have it */
index 88c87a0cc5434198febe9348bd6af331f684c8b2..ac28f813b4e3d89d5294a5ab9e3bf1acd61b4b38 100644 (file)
@@ -651,7 +651,7 @@ extern PGDLLIMPORT int pgstat_fetch_consistency;
*/
/* updated directly by bgwriter and bufmgr */
-extern PgStat_BgWriterStats PendingBgWriterStats;
+extern PGDLLIMPORT PgStat_BgWriterStats PendingBgWriterStats;
/*
@@ -662,7 +662,7 @@ extern PgStat_BgWriterStats PendingBgWriterStats;
* Checkpointer statistics counters are updated directly by checkpointer and
* bufmgr.
*/
-extern PgStat_CheckpointerStats PendingCheckpointerStats;
+extern PGDLLIMPORT PgStat_CheckpointerStats PendingCheckpointerStats;
/*
@@ -670,18 +670,18 @@ extern PgStat_CheckpointerStats PendingCheckpointerStats;
*/
/* Updated by pgstat_count_buffer_*_time macros */
-extern PgStat_Counter pgStatBlockReadTime;
-extern PgStat_Counter pgStatBlockWriteTime;
+extern PGDLLIMPORT PgStat_Counter pgStatBlockReadTime;
+extern PGDLLIMPORT PgStat_Counter pgStatBlockWriteTime;
/*
* Updated by pgstat_count_conn_*_time macros, called by
* pgstat_report_activity().
*/
-extern PgStat_Counter pgStatActiveTime;
-extern PgStat_Counter pgStatTransactionIdleTime;
+extern PGDLLIMPORT PgStat_Counter pgStatActiveTime;
+extern PGDLLIMPORT PgStat_Counter pgStatTransactionIdleTime;
/* updated by the traffic cop and in errfinish() */
-extern SessionEndType pgStatSessionEndCause;
+extern PGDLLIMPORT SessionEndType pgStatSessionEndCause;
/*
@@ -689,7 +689,7 @@ extern SessionEndType pgStatSessionEndCause;
*/
/* updated directly by backends and background processes */
-extern PgStat_WalStats PendingWalStats;
+extern PGDLLIMPORT PgStat_WalStats PendingWalStats;
#endif /* PGSTAT_H */
index 441d7847c12e2aaf3c39278ec9830fe0805d65ba..1c44be8baa9adc7308909b2a20477f74de7dff83 100644 (file)
@@ -81,7 +81,7 @@ extern size_t pg_strftime(char *s, size_t max, const char *format,
/* these functions and variables are in pgtz.c */
extern PGDLLIMPORT pg_tz *session_timezone;
-extern pg_tz *log_timezone;
+extern PGDLLIMPORT pg_tz *log_timezone;
extern void pg_timezone_initialize(void);
extern pg_tz *pg_tzset(const char *tzname);
index 4bb6fc5e1e36ff9e26266dc57556ee3b3179e0d6..5045ced91b7cb8864f7ceb2c0248f42334ec64c4 100644 (file)
@@ -449,8 +449,8 @@ extern char *pgwin32_setlocale(int category, const char *locale);
/* In backend/port/win32/signal.c */
extern PGDLLIMPORT volatile int pg_signal_queue;
extern PGDLLIMPORT int pg_signal_mask;
-extern HANDLE pgwin32_signal_event;
-extern HANDLE pgwin32_initial_signal_pipe;
+extern PGDLLIMPORT HANDLE pgwin32_signal_event;
+extern PGDLLIMPORT HANDLE pgwin32_initial_signal_pipe;
#define UNBLOCKED_SIGNAL_QUEUE() (pg_signal_queue & ~pg_signal_mask)
#define PG_SIGNAL_COUNT 32
@@ -485,7 +485,7 @@ int pgwin32_recv(SOCKET s, char *buf, int len, int flags);
int pgwin32_send(SOCKET s, const void *buf, int len, int flags);
int pgwin32_waitforsinglesocket(SOCKET s, int what, int timeout);
-extern int pgwin32_noblock;
+extern PGDLLIMPORT int pgwin32_noblock;
#endif /* FRONTEND */
index 663b9754bd778f1e70ccb22e347798111dfef1d9..291b067ea4fe186d20078993a7fdc02e7f184b7e 100644 (file)
#include <ntstatus.h>
#include <winternl.h>
-typedef NTSTATUS (__stdcall *RtlGetLastNtStatus_t) (void);
+typedef NTSTATUS (__stdcall *RtlGetLastNtStatus_t) (void);
-extern RtlGetLastNtStatus_t pg_RtlGetLastNtStatus;
+extern PGDLLIMPORT RtlGetLastNtStatus_t pg_RtlGetLastNtStatus;
extern int initialize_ntdll(void);
index 30a2b3274f8f15127db185ae3c80e771cf06147f..9d40fd6d54b7998d273d63f072694b3185aaaaea 100644 (file)
/* GUC variables */
-extern bool autovacuum_start_daemon;
-extern int autovacuum_max_workers;
-extern int autovacuum_work_mem;
-extern int autovacuum_naptime;
-extern int autovacuum_vac_thresh;
-extern double autovacuum_vac_scale;
-extern int autovacuum_vac_ins_thresh;
-extern double autovacuum_vac_ins_scale;
-extern int autovacuum_anl_thresh;
-extern double autovacuum_anl_scale;
-extern int autovacuum_freeze_max_age;
-extern int autovacuum_multixact_freeze_max_age;
-extern double autovacuum_vac_cost_delay;
-extern int autovacuum_vac_cost_limit;
+extern PGDLLIMPORT bool autovacuum_start_daemon;
+extern PGDLLIMPORT int autovacuum_max_workers;
+extern PGDLLIMPORT int autovacuum_work_mem;
+extern PGDLLIMPORT int autovacuum_naptime;
+extern PGDLLIMPORT int autovacuum_vac_thresh;
+extern PGDLLIMPORT double autovacuum_vac_scale;
+extern PGDLLIMPORT int autovacuum_vac_ins_thresh;
+extern PGDLLIMPORT double autovacuum_vac_ins_scale;
+extern PGDLLIMPORT int autovacuum_anl_thresh;
+extern PGDLLIMPORT double autovacuum_anl_scale;
+extern PGDLLIMPORT int autovacuum_freeze_max_age;
+extern PGDLLIMPORT int autovacuum_multixact_freeze_max_age;
+extern PGDLLIMPORT double autovacuum_vac_cost_delay;
+extern PGDLLIMPORT int autovacuum_vac_cost_limit;
/* autovacuum launcher PID, only valid when worker is shutting down */
-extern int AutovacuumLauncherPid;
+extern PGDLLIMPORT int AutovacuumLauncherPid;
-extern int Log_autovacuum_min_duration;
+extern PGDLLIMPORT int Log_autovacuum_min_duration;
/* Status inquiry functions */
extern bool AutoVacuumingActive(void);
index 75900686fc96aa7b5b85498916237e56cc76c910..387683546d85ebcad838419beb9a2f9e8f6a7a34 100644 (file)
@@ -42,7 +42,7 @@ typedef struct RegisteredBgWorker
slist_node rw_lnode; /* list link */
} RegisteredBgWorker;
-extern slist_head BackgroundWorkerList;
+extern PGDLLIMPORT slist_head BackgroundWorkerList;
extern Size BackgroundWorkerShmemSize(void);
extern void BackgroundWorkerShmemInit(void);
index 2882efd67be2a6a98ee8fad194d4c4b00504e6ca..2511ef451e0da26bea358833009882431dde34fb 100644 (file)
/* GUC options */
-extern int BgWriterDelay;
-extern int CheckPointTimeout;
-extern int CheckPointWarning;
-extern double CheckPointCompletionTarget;
+extern PGDLLIMPORT int BgWriterDelay;
+extern PGDLLIMPORT int CheckPointTimeout;
+extern PGDLLIMPORT int CheckPointWarning;
+extern PGDLLIMPORT double CheckPointCompletionTarget;
extern void BackgroundWriterMain(void) pg_attribute_noreturn();
extern void CheckpointerMain(void) pg_attribute_noreturn();
index 9bc7593a2df046914ef0d6cc68e0689d327c1c95..38cb1c64774b78507b4dbef98da26b35646e2c49 100644 (file)
@@ -36,7 +36,7 @@ extern void PgArchForceDirScan(void);
/*
* The value of the archive_library GUC.
*/
-extern char *XLogArchiveLibrary;
+extern PGDLLIMPORT char *XLogArchiveLibrary;
/*
* Archive module callbacks
ArchiveCheckConfiguredCB check_configured_cb;
ArchiveFileCB archive_file_cb;
ArchiveShutdownCB shutdown_cb;
-} ArchiveModuleCallbacks;
+} ArchiveModuleCallbacks;
/*
* Type of the shared library symbol _PG_archive_module_init that is looked
* up when loading an archive library.
*/
-typedef void (*ArchiveModuleInit) (ArchiveModuleCallbacks *cb);
+typedef void (*ArchiveModuleInit) (ArchiveModuleCallbacks *cb);
/*
* Since the logic for archiving via a shell command is in the core server
* and does not need to be loaded via a shared library, it has a special
* initialization function.
*/
-extern void shell_archive_init(ArchiveModuleCallbacks *cb);
+extern void shell_archive_init(ArchiveModuleCallbacks *cb);
#endif /* _PGARCH_H */
index 324a30ec1ab876daa1718ceda4b6b5863f8ed150..90e333ccd2097c1d8f57c0b5aff263aeb1ca194d 100644 (file)
#define _POSTMASTER_H
/* GUC options */
-extern bool EnableSSL;
-extern int ReservedBackends;
+extern PGDLLIMPORT bool EnableSSL;
+extern PGDLLIMPORT int ReservedBackends;
extern PGDLLIMPORT int PostPortNumber;
-extern int Unix_socket_permissions;
-extern char *Unix_socket_group;
-extern char *Unix_socket_directories;
-extern char *ListenAddresses;
-extern bool ClientAuthInProgress;
-extern int PreAuthDelay;
-extern int AuthenticationTimeout;
-extern bool Log_connections;
-extern bool log_hostname;
-extern bool enable_bonjour;
-extern char *bonjour_name;
-extern bool restart_after_crash;
-extern bool remove_temp_files_after_crash;
+extern PGDLLIMPORT int Unix_socket_permissions;
+extern PGDLLIMPORT char *Unix_socket_group;
+extern PGDLLIMPORT char *Unix_socket_directories;
+extern PGDLLIMPORT char *ListenAddresses;
+extern PGDLLIMPORT bool ClientAuthInProgress;
+extern PGDLLIMPORT int PreAuthDelay;
+extern PGDLLIMPORT int AuthenticationTimeout;
+extern PGDLLIMPORT bool Log_connections;
+extern PGDLLIMPORT bool log_hostname;
+extern PGDLLIMPORT bool enable_bonjour;
+extern PGDLLIMPORT char *bonjour_name;
+extern PGDLLIMPORT bool restart_after_crash;
+extern PGDLLIMPORT bool remove_temp_files_after_crash;
#ifdef WIN32
-extern HANDLE PostmasterHandle;
+extern PGDLLIMPORT HANDLE PostmasterHandle;
#else
-extern int postmaster_alive_fds[2];
+extern PGDLLIMPORT int postmaster_alive_fds[2];
/*
* Constants that represent which of postmaster_alive_fds is held by
index 7e39db715930d0c2de2b1da9f8616af80081397b..d66ec1fcb12fc8ad92f933dbcd971ddaf973f46b 100644 (file)
ereport(LOG, errmsg(msg, secs, (usecs / 10000), __VA_ARGS__ )); \
} while(0)
-extern int log_startup_progress_interval;
+extern PGDLLIMPORT int log_startup_progress_interval;
extern void HandleStartupProcInterrupts(void);
extern void StartupProcessMain(void) pg_attribute_noreturn();
index 1ca326e52e3e2ab2465a74ac8a3a2e9673cc6731..6436724f3db7de343e52c2371a08ae2869fcc8c0 100644 (file)
#define PIPE_PROTO_DEST_JSONLOG 0x40
/* GUC options */
-extern bool Logging_collector;
-extern int Log_RotationAge;
-extern int Log_RotationSize;
+extern PGDLLIMPORT bool Logging_collector;
+extern PGDLLIMPORT int Log_RotationAge;
+extern PGDLLIMPORT int Log_RotationSize;
extern PGDLLIMPORT char *Log_directory;
extern PGDLLIMPORT char *Log_filename;
-extern bool Log_truncate_on_rotation;
-extern int Log_file_mode;
+extern PGDLLIMPORT bool Log_truncate_on_rotation;
+extern PGDLLIMPORT int Log_file_mode;
#ifndef WIN32
-extern int syslogPipe[2];
+extern PGDLLIMPORT int syslogPipe[2];
#else
-extern HANDLE syslogPipe[2];
+extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
index 5a3011d9c957f8ddd24c8cec35fb131607d0685b..ddc943657e32e9665c1206a08fb0593c9e337225 100644 (file)
#define _WALWRITER_H
/* GUC options */
-extern int WalWriterDelay;
-extern int WalWriterFlushAfter;
+extern PGDLLIMPORT int WalWriterDelay;
+extern PGDLLIMPORT int WalWriterFlushAfter;
extern void WalWriterMain(void) pg_attribute_noreturn();
index 15596fe446e5b0d6005204cc5b4cc6f6ec480c64..f1e2821e254cd07c99f3a96937b96614e3b5a2c8 100644 (file)
#ifndef LOGICALLAUNCHER_H
#define LOGICALLAUNCHER_H
-extern int max_logical_replication_workers;
-extern int max_sync_workers_per_subscription;
+extern PGDLLIMPORT int max_logical_replication_workers;
+extern PGDLLIMPORT int max_sync_workers_per_subscription;
extern void ApplyLauncherRegister(void);
extern void ApplyLauncherMain(Datum main_arg);
index 27be230d779f58241272bc5e34b5efa702517d1d..4d7c90b9f0dc7e889a00fc72083f1bb6893e890e 100644 (file)
char member_names[FLEXIBLE_ARRAY_MEMBER];
} SyncRepConfigData;
-extern SyncRepConfigData *SyncRepConfig;
+extern PGDLLIMPORT SyncRepConfigData *SyncRepConfig;
/* communication variables for parsing synchronous_standby_names GUC */
-extern SyncRepConfigData *syncrep_parse_result;
-extern char *syncrep_parse_error_msg;
+extern PGDLLIMPORT SyncRepConfigData *syncrep_parse_result;
+extern PGDLLIMPORT char *syncrep_parse_error_msg;
/* user-settable parameters for synchronous replication */
-extern char *SyncRepStandbyNames;
+extern PGDLLIMPORT char *SyncRepStandbyNames;
/* called by user backend */
extern void SyncRepWaitForLSN(XLogRecPtr lsn, bool commit);
index 92f73a55b8d7723a668781d1490b9b23e14b9d4d..81184aa92f3b51ae72c9b0f4bac8814ece3f20a7 100644 (file)
#include "utils/tuplestore.h"
/* user-settable parameters */
-extern int wal_receiver_status_interval;
-extern int wal_receiver_timeout;
-extern bool hot_standby_feedback;
+extern PGDLLIMPORT int wal_receiver_status_interval;
+extern PGDLLIMPORT int wal_receiver_timeout;
+extern PGDLLIMPORT bool hot_standby_feedback;
/*
* MAXCONNINFO: maximum size of a connection string.
sig_atomic_t force_reply; /* used as a bool */
} WalRcvData;
-extern WalRcvData *WalRcv;
+extern PGDLLIMPORT WalRcvData *WalRcv;
typedef struct
{
index b1892e9e4be031136831bd442e26b08d8337b8d0..d99a21b0771832bc15e7059a1273b570ea284767 100644 (file)
} CRSSnapshotAction;
/* global state */
-extern bool am_walsender;
-extern bool am_cascading_walsender;
-extern bool am_db_walsender;
-extern bool wake_wal_senders;
+extern PGDLLIMPORT bool am_walsender;
+extern PGDLLIMPORT bool am_cascading_walsender;
+extern PGDLLIMPORT bool am_db_walsender;
+extern PGDLLIMPORT bool wake_wal_senders;
/* user-settable parameters */
-extern int max_wal_senders;
-extern int wal_sender_timeout;
-extern bool log_replication_commands;
+extern PGDLLIMPORT int max_wal_senders;
+extern PGDLLIMPORT int wal_sender_timeout;
+extern PGDLLIMPORT bool log_replication_commands;
extern void InitWalSender(void);
extern bool exec_replication_command(const char *query_string);
index 9631047c6c1bdce3e3d0661fbbbaaf100f598166..c14888e493fd83ae0cfb6b71ffef76a01f8746b6 100644 (file)
TimestampTz replyTime;
} WalSnd;
-extern WalSnd *MyWalSnd;
+extern PGDLLIMPORT WalSnd *MyWalSnd;
/* There is one WalSndCtl struct for the whole database cluster */
typedef struct
WalSnd walsnds[FLEXIBLE_ARRAY_MEMBER];
} WalSndCtlData;
-extern WalSndCtlData *WalSndCtl;
+extern PGDLLIMPORT WalSndCtlData *WalSndCtl;
extern void WalSndSetState(WalSndState state);
@@ -123,6 +123,6 @@ extern void replication_scanner_init(const char *query_string);
extern void replication_scanner_finish(void);
extern bool replication_scanner_is_replication_command(void);
-extern Node *replication_parse_result;
+extern PGDLLIMPORT Node *replication_parse_result;
#endif /* _WALSENDER_PRIVATE_H */
index 3c3f5f6a3a0c5f68e2f69b3210e5c5abd28b7838..4485d4ebee19be2d454a06f151099c3f3a0a9a98 100644 (file)
} LogicalRepWorker;
/* Main memory context for apply worker. Permanent during worker lifetime. */
-extern MemoryContext ApplyContext;
+extern PGDLLIMPORT MemoryContext ApplyContext;
/* libpqreceiver connection */
-extern struct WalReceiverConn *LogRepWorkerWalRcvConn;
+extern PGDLLIMPORT struct WalReceiverConn *LogRepWorkerWalRcvConn;
/* Worker and subscription objects. */
-extern Subscription *MySubscription;
-extern LogicalRepWorker *MyLogicalRepWorker;
+extern PGDLLIMPORT Subscription *MySubscription;
+extern PGDLLIMPORT LogicalRepWorker *MyLogicalRepWorker;
-extern bool in_remote_transaction;
+extern PGDLLIMPORT bool in_remote_transaction;
extern void logicalrep_worker_attach(int slot);
extern LogicalRepWorker *logicalrep_worker_find(Oid subid, Oid relid,
index b903d2bcaf04df3d427739d375ad5f187867c8c1..a17e7b28a53d94dfab4130f4be7093d81b8b7c2a 100644 (file)
@@ -279,7 +279,7 @@ extern PGDLLIMPORT BufferDescPadded *BufferDescriptors;
extern PGDLLIMPORT WritebackContext BackendWritebackContext;
/* in localbuf.c */
-extern BufferDesc *LocalBufferDescriptors;
+extern PGDLLIMPORT BufferDesc *LocalBufferDescriptors;
/* in bufmgr.c */
int buf_id;
} CkptSortItem;
-extern CkptSortItem *CkptBufferIds;
+extern PGDLLIMPORT CkptSortItem *CkptBufferIds;
/*
* Internal buffer management routines
index a6b657f0ba50f9cb57453fe975835f8aa4e20a37..58391406f65a3d38d60771f0984c8b31056a8c99 100644 (file)
extern PGDLLIMPORT int NBuffers;
/* in bufmgr.c */
-extern bool zero_damaged_pages;
-extern int bgwriter_lru_maxpages;
-extern double bgwriter_lru_multiplier;
-extern bool track_io_timing;
-extern int effective_io_concurrency;
-extern int maintenance_io_concurrency;
-
-extern int checkpoint_flush_after;
-extern int backend_flush_after;
-extern int bgwriter_flush_after;
+extern PGDLLIMPORT bool zero_damaged_pages;
+extern PGDLLIMPORT int bgwriter_lru_maxpages;
+extern PGDLLIMPORT double bgwriter_lru_multiplier;
+extern PGDLLIMPORT bool track_io_timing;
+extern PGDLLIMPORT int effective_io_concurrency;
+extern PGDLLIMPORT int maintenance_io_concurrency;
+
+extern PGDLLIMPORT int checkpoint_flush_after;
+extern PGDLLIMPORT int backend_flush_after;
+extern PGDLLIMPORT int bgwriter_flush_after;
/* in buf_init.c */
extern PGDLLIMPORT char *BufferBlocks;
index f60b76f075bad7d314460a586035bb454ecc4b4a..c51584dc6a0593238ca268b66489d3b33a532abc 100644 (file)
#endif
/* GUC. */
-extern int dynamic_shared_memory_type;
-extern int min_dynamic_shared_memory;
+extern PGDLLIMPORT int dynamic_shared_memory_type;
+extern PGDLLIMPORT int min_dynamic_shared_memory;
/*
* Directory for on-disk state.
index 29209e272433386f23aca6b01b473921da64e535..69549b000fa39c26c047a78cf24da590a9d5213c 100644 (file)
/* GUC parameter */
extern PGDLLIMPORT int max_files_per_process;
extern PGDLLIMPORT bool data_sync_retry;
-extern int recovery_init_sync_method;
+extern PGDLLIMPORT int recovery_init_sync_method;
/*
* This is private to fd.c, but exported for save/restore_backend_variables()
*/
-extern int max_safe_fds;
+extern PGDLLIMPORT int max_safe_fds;
/*
* On Windows, we have to interpret EACCES as possibly meaning the same as
index 274b97fd422bbb5064ddb1f9a6b7609feaa37335..b826a7dcd5b974834a6e44a4b821599da9ac1bd4 100644 (file)
/*
* GUC: backwards-compatibility flag to suppress LO permission checks
*/
-extern bool lo_compat_privileges;
+extern PGDLLIMPORT bool lo_compat_privileges;
/*
* Function definitions...
index dc537e20f2ceb5fd29d1c98412606b2c2146fb7e..e4e1495b245e270a7f799532b98075a3f167acf6 100644 (file)
} PROC_QUEUE;
/* GUC variables */
-extern int max_locks_per_xact;
+extern PGDLLIMPORT int max_locks_per_xact;
#ifdef LOCK_DEBUG
-extern int Trace_lock_oidmin;
-extern bool Trace_locks;
-extern bool Trace_userlocks;
-extern int Trace_lock_table;
-extern bool Debug_deadlocks;
+extern PGDLLIMPORT int Trace_lock_oidmin;
+extern PGDLLIMPORT bool Trace_locks;
+extern PGDLLIMPORT bool Trace_userlocks;
+extern PGDLLIMPORT int Trace_lock_table;
+extern PGDLLIMPORT bool Debug_deadlocks;
#endif /* LOCK_DEBUG */
#define LOCKTAG_LAST_TYPE LOCKTAG_ADVISORY
-extern const char *const LockTagTypeNames[];
+extern PGDLLIMPORT const char *const LockTagTypeNames[];
/*
* The LOCKTAG struct is defined with malice aforethought to fit into 16
index 33eb4c1033939be9fa8de31475404de7138f6981..e8c91139f89c89b1b2313d258c2050777f2163c6 100644 (file)
#ifdef LOCK_DEBUG
-extern bool Trace_lwlocks;
+extern PGDLLIMPORT bool Trace_lwlocks;
#endif
extern bool LWLockAcquire(LWLock *lock, LWLockMode mode);
@@ -121,7 +121,7 @@ extern void LWLockReleaseClearVar(LWLock *lock, uint64 *valptr, uint64 val);
extern void LWLockReleaseAll(void);
extern bool LWLockHeldByMe(LWLock *lock);
extern bool LWLockHeldByMeInMode(LWLock *lock, LWLockMode mode);
-extern int LWLockHeldCount(void);
+extern int LWLockHeldCount(void);
extern bool LWLockWaitForVar(LWLock *lock, uint64 *valptr, uint64 oldval, uint64 *newval);
extern void LWLockUpdateVar(LWLock *lock, uint64 *valptr, uint64 value);
index 50e5c5f99b3f89123368c5b222bd6df28f346ea7..da5962edb9f21cde1eac07551ea8f570d0a1361a 100644 (file)
@@ -42,9 +42,9 @@ typedef struct PGShmemHeader /* standard header for all Postgres shmem */
} PGShmemHeader;
/* GUC variables */
-extern int shared_memory_type;
-extern int huge_pages;
-extern int huge_page_size;
+extern PGDLLIMPORT int shared_memory_type;
+extern PGDLLIMPORT int huge_pages;
+extern PGDLLIMPORT int huge_page_size;
/* Possible values for huge_pages */
typedef enum
} PGShmemType;
#ifndef WIN32
-extern unsigned long UsedShmemSegID;
+extern PGDLLIMPORT unsigned long UsedShmemSegID;
#else
-extern HANDLE UsedShmemSegID;
-extern void *ShmemProtectiveRegion;
+extern PGDLLIMPORT HANDLE UsedShmemSegID;
+extern PGDLLIMPORT void *ShmemProtectiveRegion;
#endif
-extern void *UsedShmemSegAddr;
+extern PGDLLIMPORT void *UsedShmemSegAddr;
#if !defined(WIN32) && !defined(EXEC_BACKEND)
#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_MMAP
index ea42c2072d14eae337e38ea5e299d01b5d4cb8c2..58f4ddf47687490602752382e8f7c4d39176bdd1 100644 (file)
@@ -89,7 +89,7 @@ extern void PostmasterDeathSignalInit(void);
#endif
#ifdef USE_POSTMASTER_DEATH_SIGNAL
-extern volatile sig_atomic_t postmaster_possibly_dead;
+extern PGDLLIMPORT volatile sig_atomic_t postmaster_possibly_dead;
static inline bool
PostmasterIsAlive(void)
index ba12904f22a250ecf3ce2ceaab3eda5844b3d22e..8dfcb3944b4fdb9883b00adb4e4a935dcb33dbf0 100644 (file)
/*
* GUC variables
*/
-extern int max_predicate_locks_per_xact;
-extern int max_predicate_locks_per_relation;
-extern int max_predicate_locks_per_page;
+extern PGDLLIMPORT int max_predicate_locks_per_xact;
+extern PGDLLIMPORT int max_predicate_locks_per_relation;
+extern PGDLLIMPORT int max_predicate_locks_per_page;
/* Number of SLRU buffers to use for Serial SLRU */
index 36ecf7d005822c95046f7e9bbbf798636d451731..c02001d3a09a4351b5caf1e8ab7289420f2798e9 100644 (file)
extern PGDLLIMPORT PROC_HDR *ProcGlobal;
-extern PGPROC *PreparedXactProcs;
+extern PGDLLIMPORT PGPROC *PreparedXactProcs;
/* Accessor for PGPROC given a pgprocno. */
#define GetPGProcByNumber(n) (&ProcGlobal->allProcs[(n)])
@@ -421,7 +421,7 @@ extern PGDLLIMPORT int StatementTimeout;
extern PGDLLIMPORT int LockTimeout;
extern PGDLLIMPORT int IdleInTransactionSessionTimeout;
extern PGDLLIMPORT int IdleSessionTimeout;
-extern bool log_lock_waits;
+extern PGDLLIMPORT bool log_lock_waits;
/*
index af1145d98f6906448c5f78224bb66dd67b6c213e..39faa4d83781329f805253b5004ae2edc1bb263b 100644 (file)
@@ -1042,7 +1042,7 @@ extern int tas(volatile slock_t *lock); /* in port/.../tas.s, or
#define TAS_SPIN(lock) TAS(lock)
#endif /* TAS_SPIN */
-extern slock_t dummy_spinlock;
+extern PGDLLIMPORT slock_t dummy_spinlock;
/*
* Platform-independent out-of-line support routines
index 593a4211af671d7f0cbd9040112465f45052cce4..e7cd45658c6e2a5a85643d88e0c24530a81b6412 100644 (file)
/* Counter of messages processed; don't worry about overflow. */
-extern uint64 SharedInvalidMessageCounter;
+extern PGDLLIMPORT uint64 SharedInvalidMessageCounter;
-extern volatile sig_atomic_t catchupInterruptPending;
+extern PGDLLIMPORT volatile sig_atomic_t catchupInterruptPending;
extern void SendSharedInvalidMessages(const SharedInvalidationMessage *msgs,
int n);
index 70070ca9abeaa2d0b98bfd91b1a919ae0eca8e83..7031f1d2c56d80fe5846723b568136cbd7afba38 100644 (file)
@@ -71,7 +71,7 @@ extern Size SpinlockSemaSize(void);
#ifndef HAVE_SPINLOCKS
extern void SpinlockSemaInit(void);
-extern PGSemaphore *SpinlockSemaArray;
+extern PGDLLIMPORT PGSemaphore *SpinlockSemaArray;
#endif
#endif /* SPIN_H */
index 58ea21aa1323439c113507262877e011c5dd8a06..6a7763264b0ea4b06a687c055ae0bcea92b4d8f6 100644 (file)
#include "storage/standbydefs.h"
/* User-settable GUC parameters */
-extern int vacuum_defer_cleanup_age;
-extern int max_standby_archive_delay;
-extern int max_standby_streaming_delay;
-extern bool log_recovery_conflict_waits;
+extern PGDLLIMPORT int vacuum_defer_cleanup_age;
+extern PGDLLIMPORT int max_standby_archive_delay;
+extern PGDLLIMPORT int max_standby_streaming_delay;
+extern PGDLLIMPORT bool log_recovery_conflict_waits;
extern void InitRecoveryTransactionEnvironment(void);
extern void ShutdownRecoveryTransactionEnvironment(void);
index 92291a750d38cddbc1d8ac1f6e6a3008ae3f344a..87e408b7199ef716fa3d2d961f677c0029140e07 100644 (file)
/* Required daylight between max_stack_depth and the kernel limit, in bytes */
#define STACK_DEPTH_SLOP (512 * 1024L)
-extern CommandDest whereToSendOutput;
+extern PGDLLIMPORT CommandDest whereToSendOutput;
extern PGDLLIMPORT const char *debug_query_string;
-extern int max_stack_depth;
-extern int PostAuthDelay;
-extern int client_connection_check_interval;
+extern PGDLLIMPORT int max_stack_depth;
+extern PGDLLIMPORT int PostAuthDelay;
+extern PGDLLIMPORT int client_connection_check_interval;
/* GUC-configurable parameters */
index 5e70d74b414c1dfefaf371f86848e8c9a758f3c8..5e4a49ea1c7abbaaf8793a26db84774a9c64ad35 100644 (file)
/*
* GUC variable for current configuration
*/
-extern char *TSCurrentConfig;
+extern PGDLLIMPORT char *TSCurrentConfig;
extern TSParserCacheEntry *lookup_ts_parser_cache(Oid prsId);
index 1a8bad8491462611930f2c9a4fb87277f762430e..a2008f5504b20b02b0cc4ec795618c4e6f3bb219 100644 (file)
#define OP_PHRASE 4 /* highest code, tsquery_cleanup.c */
#define OP_COUNT 4
-extern const int tsearch_op_priority[OP_COUNT];
+extern PGDLLIMPORT const int tsearch_op_priority[OP_COUNT];
/* get operation priority by its code*/
#define OP_PRIORITY(x) ( tsearch_op_priority[(x) - 1] )
index 2dba156d350528bc62e90b6bd44b65d16bae48cc..656c766a9a1decc37d1d75a34544aad771251999 100644 (file)
@@ -339,7 +339,7 @@ typedef struct ArrayIteratorData *ArrayIterator;
/*
* GUC parameter
*/
-extern bool Array_nulls;
+extern PGDLLIMPORT bool Array_nulls;
/*
* prototypes for functions defined in arrayfuncs.c
index 666e545496916ca64ab14d564dc8240feeab9ce7..221c3e6c3dea67151da3b000a2080ffeb3cdba5b 100644 (file)
@@ -64,7 +64,7 @@ extern char *regexp_fixed_prefix(text *text_re, bool case_insensitive,
Oid collation, bool *exact);
/* ruleutils.c */
-extern bool quote_all_identifiers;
+extern PGDLLIMPORT bool quote_all_identifiers;
extern const char *quote_identifier(const char *ident);
extern char *quote_qualified_identifier(const char *qualifier,
const char *ident);
index dfef8e2d520a276a446e1a70e8734081e15ff9b4..c3c9e54707faf2648c61228650247e0de3e72e1c 100644 (file)
BYTEA_OUTPUT_HEX
} ByteaOutputType;
-extern int bytea_output; /* ByteaOutputType, but int for GUC enum */
+extern PGDLLIMPORT int bytea_output; /* ByteaOutputType, but int for GUC
+ * enum */
#endif /* BYTEA_H */
index 0801858d601cf1733de313f56e5f1668b09c6e1e..4527e8251775d34a4ee1e877e3dc9bf5578e37ee 100644 (file)
* Include check for leap year.
*/
-extern const char *const months[]; /* months (3-char abbreviations) */
-extern const char *const days[]; /* days (full names) */
-extern const int day_tab[2][13];
+extern PGDLLIMPORT const char *const months[]; /* months (3-char
+ * abbreviations) */
+extern PGDLLIMPORT const char *const days[]; /* days (full names) */
+extern PGDLLIMPORT const int day_tab[2][13];
/*
* These are the rules for the Gregorian calendar, which was adopted in 1582.
index 3eb8de39661e64d81b2c3a8b406468469fbbac0e..f5c6cd904de925db6819e56e4869a27b620b090c 100644 (file)
PGERROR_VERBOSE /* all the facts, ma'am */
} PGErrorVerbosity;
-extern int Log_error_verbosity;
-extern char *Log_line_prefix;
-extern int Log_destination;
-extern char *Log_destination_string;
-extern bool syslog_sequence_numbers;
-extern bool syslog_split_messages;
+extern PGDLLIMPORT int Log_error_verbosity;
+extern PGDLLIMPORT char *Log_line_prefix;
+extern PGDLLIMPORT int Log_destination;
+extern PGDLLIMPORT char *Log_destination_string;
+extern PGDLLIMPORT bool syslog_sequence_numbers;
+extern PGDLLIMPORT bool syslog_split_messages;
/* Log destination bitmap */
#define LOG_DESTINATION_STDERR 1
index e5f53d6295024a40d3c438e011e0c7cc5a499bf5..0a59937656fdffc75299bca349c5c2b5bf8ba85b 100644 (file)
PGFunction func; /* pointer to compiled function */
} FmgrBuiltin;
-extern const FmgrBuiltin fmgr_builtins[];
+extern PGDLLIMPORT const FmgrBuiltin fmgr_builtins[];
-extern const int fmgr_nbuiltins; /* number of entries in table */
+extern PGDLLIMPORT const int fmgr_nbuiltins; /* number of entries in table */
-extern const Oid fmgr_last_builtin_oid; /* highest function OID in table */
+extern PGDLLIMPORT const Oid fmgr_last_builtin_oid; /* highest function OID in
+ * table */
/*
* Mapping from a builtin function's OID to its index in the fmgr_builtins
* array. This is indexed from 0 through fmgr_last_builtin_oid.
*/
#define InvalidOidBuiltinMapping PG_UINT16_MAX
-extern const uint16 fmgr_builtin_oid_index[];
+extern PGDLLIMPORT const uint16 fmgr_builtin_oid_index[];
#endif /* FMGRTAB_H */
index 1189e1a2263646328926c6e81c427e07a59ba4ff..efcbad78423e96d11a1e2755e82ec96658289a86 100644 (file)
/* GUC vars that are actually declared in guc.c, rather than elsewhere */
-extern bool Debug_print_plan;
-extern bool Debug_print_parse;
-extern bool Debug_print_rewritten;
-extern bool Debug_pretty_print;
+extern PGDLLIMPORT bool Debug_print_plan;
+extern PGDLLIMPORT bool Debug_print_parse;
+extern PGDLLIMPORT bool Debug_print_rewritten;
+extern PGDLLIMPORT bool Debug_pretty_print;
-extern bool log_parser_stats;
-extern bool log_planner_stats;
-extern bool log_executor_stats;
-extern bool log_statement_stats;
-extern bool log_btree_build_stats;
+extern PGDLLIMPORT bool log_parser_stats;
+extern PGDLLIMPORT bool log_planner_stats;
+extern PGDLLIMPORT bool log_executor_stats;
+extern PGDLLIMPORT bool log_statement_stats;
+extern PGDLLIMPORT bool log_btree_build_stats;
extern PGDLLIMPORT bool check_function_bodies;
-extern bool session_auth_is_superuser;
+extern PGDLLIMPORT bool session_auth_is_superuser;
-extern bool log_duration;
-extern int log_parameter_max_length;
-extern int log_parameter_max_length_on_error;
-extern int log_min_error_statement;
+extern PGDLLIMPORT bool log_duration;
+extern PGDLLIMPORT int log_parameter_max_length;
+extern PGDLLIMPORT int log_parameter_max_length_on_error;
+extern PGDLLIMPORT int log_min_error_statement;
extern PGDLLIMPORT int log_min_messages;
extern PGDLLIMPORT int client_min_messages;
-extern int log_min_duration_sample;
-extern int log_min_duration_statement;
-extern int log_temp_files;
-extern double log_statement_sample_rate;
-extern double log_xact_sample_rate;
-extern char *backtrace_functions;
-extern char *backtrace_symbol_list;
+extern PGDLLIMPORT int log_min_duration_sample;
+extern PGDLLIMPORT int log_min_duration_statement;
+extern PGDLLIMPORT int log_temp_files;
+extern PGDLLIMPORT double log_statement_sample_rate;
+extern PGDLLIMPORT double log_xact_sample_rate;
+extern PGDLLIMPORT char *backtrace_functions;
+extern PGDLLIMPORT char *backtrace_symbol_list;
-extern int temp_file_limit;
+extern PGDLLIMPORT int temp_file_limit;
-extern int num_temp_buffers;
+extern PGDLLIMPORT int num_temp_buffers;
extern PGDLLIMPORT char *cluster_name;
extern PGDLLIMPORT char *ConfigFileName;
-extern char *HbaFileName;
-extern char *IdentFileName;
-extern char *external_pid_file;
+extern PGDLLIMPORT char *HbaFileName;
+extern PGDLLIMPORT char *IdentFileName;
+extern PGDLLIMPORT char *external_pid_file;
extern PGDLLIMPORT char *application_name;
-extern int tcp_keepalives_idle;
-extern int tcp_keepalives_interval;
-extern int tcp_keepalives_count;
-extern int tcp_user_timeout;
+extern PGDLLIMPORT int tcp_keepalives_idle;
+extern PGDLLIMPORT int tcp_keepalives_interval;
+extern PGDLLIMPORT int tcp_keepalives_count;
+extern PGDLLIMPORT int tcp_user_timeout;
#ifdef TRACE_SORT
-extern bool trace_sort;
+extern PGDLLIMPORT bool trace_sort;
#endif
/*
index 63b56f18e0d5c13cb227cebf30f73331f2157582..ba44f7437bfbf264553c08c04d16c84f770478ff 100644 (file)
};
/* constant tables corresponding to enums above and in guc.h */
-extern const char *const config_group_names[];
-extern const char *const config_type_names[];
-extern const char *const GucContext_Names[];
-extern const char *const GucSource_Names[];
+extern PGDLLIMPORT const char *const config_group_names[];
+extern PGDLLIMPORT const char *const config_type_names[];
+extern PGDLLIMPORT const char *const GucContext_Names[];
+extern PGDLLIMPORT const char *const GucSource_Names[];
/* get the current set of variables */
extern struct config_generic **get_guc_variables(void);
index 1897ddffa6ebfcee7b8ab2c918f07689c4d1f32d..358b9eb61102ec2ab4d080191bc9f4341ccac654 100644 (file)
@@ -283,6 +283,6 @@ extern JsonbValue *JsonPathValue(Datum jb, JsonPath *jp, bool *empty,
extern int EvalJsonPathVar(void *vars, char *varName, int varNameLen,
JsonbValue *val, JsonbValue *baseObject);
-extern const TableFuncRoutine JsonbTableRoutine;
+extern PGDLLIMPORT const TableFuncRoutine JsonbTableRoutine;
#endif
index a44e17ffdf8a39468fad3dad73bf264e052eb786..e7385faef862c1b3ea94a5ce70cf8658cf54eeea 100644 (file)
#define LOCALE_NAME_BUFLEN 128
/* GUC settings */
-extern char *locale_messages;
-extern char *locale_monetary;
-extern char *locale_numeric;
-extern char *locale_time;
+extern PGDLLIMPORT char *locale_messages;
+extern PGDLLIMPORT char *locale_monetary;
+extern PGDLLIMPORT char *locale_numeric;
+extern PGDLLIMPORT char *locale_time;
/* lc_time localization cache */
-extern char *localized_abbrev_days[];
-extern char *localized_full_days[];
-extern char *localized_abbrev_months[];
-extern char *localized_full_months[];
+extern PGDLLIMPORT char *localized_abbrev_days[];
+extern PGDLLIMPORT char *localized_full_days[];
+extern PGDLLIMPORT char *localized_abbrev_months[];
+extern PGDLLIMPORT char *localized_full_months[];
extern bool check_locale_messages(char **newval, void **extra, GucSource source);
typedef struct pg_locale_struct *pg_locale_t;
-extern struct pg_locale_struct default_locale;
+extern PGDLLIMPORT struct pg_locale_struct default_locale;
extern void make_icu_collator(const char *iculocstr,
struct pg_locale_struct *resultp);
index ab27bc47c5e84f6d4b27c0dea22b67f9f9c3d976..0ee60b2f2a1d4d4dd4d8cfb8ff8c17742e645deb 100644 (file)
@@ -638,14 +638,14 @@ extern void pgstat_create_transactional(PgStat_Kind kind, Oid dboid, Oid objoid)
* Variables in pgstat.c
*/
-extern PgStat_LocalState pgStatLocal;
+extern PGDLLIMPORT PgStat_LocalState pgStatLocal;
/*
* Variables in pgstat_slru.c
*/
-extern bool have_slrustats;
+extern PGDLLIMPORT bool have_slrustats;
/*
index 95b99e3d252f0f2f2b24807342a518f1f26d53fd..0499635f5945c5f05cc23de87ce6903d728e92d8 100644 (file)
} PlanCacheMode;
/* GUC parameter */
-extern int plan_cache_mode;
+extern PGDLLIMPORT int plan_cache_mode;
#define CACHEDPLANSOURCE_MAGIC 195726186
#define CACHEDPLAN_MAGIC 953717834
index 9f43e1fdf0aa1d2e53c321b8cebb139c20e4fd38..bba463591f8484bc17393963290144d6af38da80 100644 (file)
#ifndef PS_STATUS_H
#define PS_STATUS_H
-extern bool update_process_title;
+extern PGDLLIMPORT bool update_process_title;
extern char **save_ps_display_args(int argc, char **argv);
index c670662db2b44416c0bc699230492cb40f618d9e..3c2d9beab21ac7bd08e0a2a48360287d3e7f8b3f 100644 (file)
};
/* GUC parameters */
-extern int compute_query_id;
+extern PGDLLIMPORT int compute_query_id;
extern const char *CleanQuerytext(const char *query, int *location, int *len);
extern JumbleState *JumbleQuery(Query *query, const char *querytext);
extern void EnableQueryId(void);
-extern bool query_id_enabled;
+extern PGDLLIMPORT bool query_id_enabled;
/*
* Returns whether query identifier computation has been enabled, either
index 2281a7dc533a4c25520ac6d078820920f4b6c65b..86dddbd975d4b746a251189d08f8dc0a681064f4 100644 (file)
@@ -145,9 +145,9 @@ extern void RelationCacheInitFilePostInvalidate(void);
extern void RelationCacheInitFileRemove(void);
/* should be used only by relcache.c and catcache.c */
-extern bool criticalRelcachesBuilt;
+extern PGDLLIMPORT bool criticalRelcachesBuilt;
/* should be used only by relcache.c and postinit.c */
-extern bool criticalSharedRelcachesBuilt;
+extern PGDLLIMPORT bool criticalSharedRelcachesBuilt;
#endif /* RELCACHE_H */
index c1896d67356e5aaf00f13dd4865bb84aee07b2e4..75259cc1f77ca50c6adefbb468cc3237475cac0f 100644 (file)
#define RLS_H
/* GUC variable */
-extern bool row_security;
+extern PGDLLIMPORT bool row_security;
/*
* Used by callers of check_enable_rls.
index e04018c034faf830181f142c4c9530863110babe..67b217b1c11999c2a89e54e4db00017c7fd25da3 100644 (file)
@@ -53,7 +53,7 @@ extern TimestampTz GetSnapshotCurrentTimestamp(void);
extern TimestampTz GetOldSnapshotThresholdTimestamp(void);
extern void SnapshotTooOldMagicForTest(void);
-extern bool FirstSnapshotSet;
+extern PGDLLIMPORT bool FirstSnapshotSet;
extern PGDLLIMPORT TransactionId TransactionXmin;
extern PGDLLIMPORT TransactionId RecentXmin;
index d33421d3809256c1f1eb3f45b733fd590735f403..edf3a9731866af02cf1f4073e79dec8486f977d7 100644 (file)
/* Set at postmaster start */
-extern TimestampTz PgStartTime;
+extern PGDLLIMPORT TimestampTz PgStartTime;
/* Set at configuration reload */
-extern TimestampTz PgReloadTime;
+extern PGDLLIMPORT TimestampTz PgReloadTime;
/* Internal routines (not fmgr-callable) */
index c1de08d15b8b1517ae46f77d68fef9b29ac3e730..6620a6261919e71babc7ef9f9e5ff6f8e21c784c 100644 (file)
@@ -75,10 +75,10 @@ extern char *map_sql_identifier_to_xml_name(const char *ident, bool fully_escape
extern char *map_xml_name_to_sql_identifier(const char *name);
extern char *map_sql_value_to_xml_value(Datum value, Oid type, bool xml_escape_strings);
-extern int xmlbinary; /* XmlBinaryType, but int for guc enum */
+extern PGDLLIMPORT int xmlbinary; /* XmlBinaryType, but int for guc enum */
-extern int xmloption; /* XmlOptionType, but int for guc enum */
+extern PGDLLIMPORT int xmloption; /* XmlOptionType, but int for guc enum */
-extern const TableFuncRoutine XmlTableRoutine;
+extern PGDLLIMPORT const TableFuncRoutine XmlTableRoutine;
#endif /* XML_H */