Sujet : Développement de fonction C sous Postgre pour renvoyer des RECORD et des SET OF
Configuration : Postgre 8.2 (et 8.3) sur OS Windows XP, compilation sous Dev Cpp
Bonjour,
Lorsque je cherche à compiler ma dll (pour créer mes fonctions C sous PostGre) j'ai un problème récurrent avec les fonctions définies dans palloc.h
Ainsi lorsque j'utilisais palloc() j'avais l'erreur suivante :
En parcourant des forums j'ai vu qu'il était possible d'utiliser pgport_palloc à la place de palloc. Cela m'a permis de résoudre mon problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [Linker error] undefined reference to `libpostgres_a_iname' [Linker error] undefined reference to `libpostgres_a_iname' [Linker error] undefined reference to `_nm__CurrentMemoryContext'
Mais maintenant que je cherches à utiliser des SRF pour renvoyer des SET OF, j'ai le même problème qui survient avec l'utilisation de :
MemoryContextSwitchTo()
Quelqu'un aurait-il une idée ?
Notes :
1- MemoryContext monContext; ne pose pas de problème par contre.
2- Dans palloc.h on peut lire :
3- Normalement je linke avec libpostgres.a uniquement mais pour tester j'ai linké avec toutes celles présentes dans le repertoire lib de postgre. Ca ne change rien.
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 /* * MemoryContextSwitchTo can't be a macro in standard C compilers. * But we can make it an inline function when using GCC. */ #ifdef __GNUC__ static __inline__ MemoryContext MemoryContextSwitchTo(MemoryContext context) { MemoryContext old = CurrentMemoryContext; CurrentMemoryContext = context; return old; } #else extern MemoryContext MemoryContextSwitchTo(MemoryContext context); #endif /* __GNUC__ */
Si ça inspire quelqu'un ????
Cordialement,
Partager