Changes to fix/improve the dynamic loading on NT
From: Horak Daniel <horak@mmp.plzen-city.cz>
This commit is contained in:
parent
f7430af934
commit
f34240de06
@ -35,7 +35,7 @@
|
|||||||
#include "utils/acl.h"
|
#include "utils/acl.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
TriggerData *CurrentTriggerData = NULL;
|
DLLIMPORT TriggerData *CurrentTriggerData = NULL;
|
||||||
|
|
||||||
void RelationBuildTriggers(Relation relation);
|
void RelationBuildTriggers(Relation relation);
|
||||||
void FreeTriggerDesc(Relation relation);
|
void FreeTriggerDesc(Relation relation);
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* spi.c
|
* spi.c
|
||||||
* Server Programming Interface
|
* Server Programming Interface
|
||||||
*
|
*
|
||||||
* $Id: spi.c,v 1.34 1999/02/13 23:15:30 momjian Exp $
|
* $Id: spi.c,v 1.35 1999/03/09 13:39:00 scrappy Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -19,9 +19,9 @@ static _SPI_connection *_SPI_current = NULL;
|
|||||||
static int _SPI_connected = -1;
|
static int _SPI_connected = -1;
|
||||||
static int _SPI_curid = -1;
|
static int _SPI_curid = -1;
|
||||||
|
|
||||||
uint32 SPI_processed = 0;
|
DLLIMPORT uint32 SPI_processed = 0;
|
||||||
SPITupleTable *SPI_tuptable;
|
DLLIMPORT SPITupleTable *SPI_tuptable;
|
||||||
int SPI_result;
|
DLLIMPORT int SPI_result;
|
||||||
|
|
||||||
static int _SPI_execute(char *src, int tcount, _SPI_plan *plan);
|
static int _SPI_execute(char *src, int tcount, _SPI_plan *plan);
|
||||||
static int _SPI_pquery(QueryDesc *queryDesc, EState *state, int tcount);
|
static int _SPI_pquery(QueryDesc *queryDesc, EState *state, int tcount);
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 1994, Regents of the University of California
|
* Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* $Id: c.h,v 1.51 1999/02/13 23:20:44 momjian Exp $
|
* $Id: c.h,v 1.52 1999/03/09 13:39:01 scrappy Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -57,6 +57,10 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __CYGWIN32__
|
||||||
|
#include <errno.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/* ----------------------------------------------------------------
|
/* ----------------------------------------------------------------
|
||||||
* Section 1: bool, true, false, TRUE, FALSE
|
* Section 1: bool, true, false, TRUE, FALSE
|
||||||
* ----------------------------------------------------------------
|
* ----------------------------------------------------------------
|
||||||
@ -829,6 +833,20 @@ extern char *form(const char *fmt,...);
|
|||||||
#define COPY_CMD "cp"
|
#define COPY_CMD "cp"
|
||||||
#define SEP_CHAR '/'
|
#define SEP_CHAR '/'
|
||||||
|
|
||||||
|
/* defines for dynamic linking on Win32 platform */
|
||||||
|
#ifdef __CYGWIN32__
|
||||||
|
#if __GNUC__ && ! defined (__declspec)
|
||||||
|
#error You need egcs 1.1 or newer for compiling!
|
||||||
|
#endif
|
||||||
|
#ifdef BUILDING_DLL
|
||||||
|
#define DLLIMPORT __declspec (dllexport)
|
||||||
|
#else /* not BUILDING_DLL */
|
||||||
|
#define DLLIMPORT __declspec (dllimport)
|
||||||
|
#endif
|
||||||
|
#else /* not CYGWIN */
|
||||||
|
#define DLLIMPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Provide prototypes for routines not present in a particular machine's
|
/* Provide prototypes for routines not present in a particular machine's
|
||||||
* standard C library. It'd be better to put these in config.h, but
|
* standard C library. It'd be better to put these in config.h, but
|
||||||
* in config.h we haven't yet included anything that defines size_t...
|
* in config.h we haven't yet included anything that defines size_t...
|
||||||
|
@ -26,7 +26,7 @@ typedef struct TriggerData
|
|||||||
Trigger *tg_trigger;
|
Trigger *tg_trigger;
|
||||||
} TriggerData;
|
} TriggerData;
|
||||||
|
|
||||||
extern TriggerData *CurrentTriggerData;
|
extern DLLIMPORT TriggerData *CurrentTriggerData;
|
||||||
|
|
||||||
#define TRIGGER_EVENT_INSERT 0x00000000
|
#define TRIGGER_EVENT_INSERT 0x00000000
|
||||||
#define TRIGGER_EVENT_DELETE 0x00000001
|
#define TRIGGER_EVENT_DELETE 0x00000001
|
||||||
|
@ -66,9 +66,9 @@ typedef struct
|
|||||||
#define SPI_OK_UPDATE 9
|
#define SPI_OK_UPDATE 9
|
||||||
#define SPI_OK_CURSOR 10
|
#define SPI_OK_CURSOR 10
|
||||||
|
|
||||||
extern uint32 SPI_processed;
|
extern DLLIMPORT uint32 SPI_processed;
|
||||||
extern SPITupleTable *SPI_tuptable;
|
extern DLLIMPORT SPITupleTable *SPI_tuptable;
|
||||||
extern int SPI_result;
|
extern DLLIMPORT int SPI_result;
|
||||||
|
|
||||||
extern int SPI_connect(void);
|
extern int SPI_connect(void);
|
||||||
extern int SPI_finish(void);
|
extern int SPI_finish(void);
|
||||||
|
@ -13,3 +13,8 @@ SHLIB_LINK=$(DLLLIBS)
|
|||||||
$(DLLTOOL) --export-all --output-def $*.def $<
|
$(DLLTOOL) --export-all --output-def $*.def $<
|
||||||
$(DLLWRAP) -o $@ --def $*.def $< $(SRCDIR)/utils/dllinit.o $(DLLLIBS)
|
$(DLLWRAP) -o $@ --def $*.def $< $(SRCDIR)/utils/dllinit.o $(DLLLIBS)
|
||||||
rm -f $*.def
|
rm -f $*.def
|
||||||
|
|
||||||
|
curdir:=$(shell pwd)
|
||||||
|
ifeq ($(findstring backend,$(curdir)), backend)
|
||||||
|
CFLAGS+= -DBUILDING_DLL=1
|
||||||
|
endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user