Salut,
Je cherche à faire un trigger fonction en C.
J'ai récupéré le code suivant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "postgres.h"
#include "executor/spi.h"       /* nécessaire pour fonctionner avec SPI */
#include "commands/trigger.h"   /* ... et les déclencheurs */
 
extern Datum trigf(PG_FUNCTION_ARGS);
 
PG_FUNCTION_INFO_V1(trigf);
 
Datum
trigf(PG_FUNCTION_ARGS)
{
    TriggerData *trigdata = (TriggerData *) fcinfo->context;
    TupleDesc   tupdesc;
    HeapTuple   rettuple;
    char       *when;
    bool        checknull = false;
    bool        isnull;
    int         ret, i;
 
    /* on s'assure que la fonction est appelée en tant que déclencheur */
    if (!CALLED_AS_TRIGGER(fcinfo))
        elog(ERROR, "trigf: not called by trigger manager");
 
    /* nuplet à retourner à l'exécuteur */
    if (TRIGGER_FIRED_BY_UPDATE(trigdata->tg_event))
        rettuple = trigdata->tg_newtuple;
    else
        rettuple = trigdata->tg_trigtuple;
 
 
 
    tupdesc = trigdata->tg_relation->rd_att;
 
        SPI_getbinval(rettuple, tupdesc, 1, &isnull);
        if (isnull)
            rettuple = NULL;
 
 
    return PointerGetDatum(rettuple);
}
Seulement j'ai une erreur de compil

error LNK2001: unresolved external symbol _SPI_getbinval
En gros je ne sait pas comment et ou trouver la fonction SPI_getbinval. Quelqu'un pourrait il me débloquer?

Merci d'avance
Windows 2000, VC++ 6.0, PostgreSQL 8.0.1 natif et 7.4.2 sous cygwin.