Thread: Missing types in C header files
Hi, I'm trying to start to program with the PostgreSQL's geometric primitive types, and have started to write some code using them (PostgreSQL version 7.1.3, installed from source). However when I include the file utils/geo_decls.h I get an error starting that the type PGFunction (found in a file included from geo_decls.h) cannot be found. I've done a search of all the header files in my installation (and also all the source files that I compiled), and cannot find the definition of the PGFunction type. Does anyone have any idea of where I can find this definition, or of why it might be missing. -- Tony --------------------------------- Dr. Tony Griffiths Research Fellow Information Management Group, Department of Computer Science, The University of Manchester, Oxford Road, Manchester M13 9PL, United Kingdom Tel. +44 (0) 161 275 6139 Fax +44 (0) 161 275 6236 email tony.griffiths@cs.man.ac.uk ---------------------------------
Tony Griffiths writes: > I've done a search of all the header files in my installation (and also > all the source files that I compiled), and cannot find the definition of > the PGFunction type. Does anyone have any idea of where I can find this > definition, or of why it might be missing. fmgr.h -- Peter Eisentraut peter_e@gmx.net
Tony Griffiths wrote: > > Hi, > I'm trying to start to program with the PostgreSQL's geometric primitive > types, and have started to write some code using them (PostgreSQL > version 7.1.3, installed from source). However when I > include the file utils/geo_decls.h I get an error starting that the type > PGFunction (found in a file included from geo_decls.h) cannot be found. > > I've done a search of all the header files in my installation (and also > all the source files that I compiled), and cannot find the definition of > the PGFunction type. Does anyone have any idea of where I can find this > definition, or of why it might be missing. Hmm. I'm not sure (having not integrated client-side handling of these types using Postgres' own definition of the structures) but I think that these definitions are not intended for you to use directly. There is a set of include files intended for client-side programs, and perhaps this data type needs to be mentioned there. Or perhaps we make no provision for that (yet) and you are on your own. Perhaps someone else will speak up on The Right Way To Do This? - Thomas
I've looked in fmgr.h and there is no definition of this type there - it uses the type, but does not define it. Peter Eisentraut wrote: > > Tony Griffiths writes: > > > I've done a search of all the header files in my installation (and also > > all the source files that I compiled), and cannot find the definition of > > the PGFunction type. Does anyone have any idea of where I can find this > > definition, or of why it might be missing. > > fmgr.h > > -- > Peter Eisentraut peter_e@gmx.net > > ---------------------------(end of broadcast)--------------------------- > TIP 6: Have you searched our list archives? > > http://archives.postgresql.org -- Tony --------------------------------- Dr. Tony Griffiths Research Fellow Information Management Group, Department of Computer Science, The University of Manchester, Oxford Road, Manchester M13 9PL, United Kingdom Tel. +44 (0) 161 275 6139 Fax +44 (0) 161 275 6236 email tony.griffiths@cs.man.ac.uk ---------------------------------
I've found the mistake - as usual it's down to me! I didn't realise that I had to include postgres.h before including geo_decls.h All now compiles ok.<br /><br /> Tony<br /><br /> Tony Griffiths wrote:<br /><blockquote cite="mid:3D03D9BC.B2BFCC51@cs.man.ac.uk"type="cite"><pre wrap="">I've looked in fmgr.h and there is no definition of thistype there - it<br />uses the type, but does not define it.<br /><br />Peter Eisentraut wrote:<br /></pre><blockquotetype="cite"><pre wrap="">Tony Griffiths writes:<br /><br /></pre><blockquote type="cite"><pre wrap="">I'vedone a search of all the header files in my installation (and also<br />all the source files that I compiled),and cannot find the definition of<br />the PGFunction type. Does anyone have any idea of where I can find this<br/>definition, or of why it might be missing.<br /></pre></blockquote><pre wrap="">fmgr.h<br /><br />--<br />PeterEisentraut <a class="moz-txt-link-abbreviated" href="mailto:peter_e@gmx.net">peter_e@gmx.net</a><br /><br />---------------------------(endof broadcast)---------------------------<br />TIP 6: Have you searched our list archives?<br/><br /><a class="moz-txt-link-freetext" href="http://archives.postgresql.org">http://archives.postgresql.org</a><br/></pre></blockquote><pre wrap=""><br /></pre></blockquote><br/>
Tony Griffiths <tony.griffiths@cs.man.ac.uk> writes: > I've looked in fmgr.h and there is no definition of this type there - it > uses the type, but does not define it. Eh? typedef Datum (*PGFunction) (FunctionCallInfo fcinfo); Looks like a definition to me ... regards, tom lane