On Tue, May 01, 2007 at 08:18:16PM +0800, shieldy wrote: > but the method, you said, is adding a alias name, so it can not work. > and as i need to add many functions likes this, so the best way is to > compile the whole postgresql. eventhough, i did, it didnot work, so i am > puzzled, can add a function directly in the source file, and compile it, can > it work?? Please read the documentation. What it says there can *also* be used for aliases but is *primarily* for declaring functions you want to use. i.e. it solves exactly your problem. Just cut and paste the example, fill in your function name. > BTW: I have just seach the source for addingthe built-in function, and found > it need to add declaration in the include geo_decls.h, and add the function > in the geo_ops.c. can it not be enough?? No, adding functions to the source does not magically make then usable, you have to also do CREATE FUNCTION box_add2(...) etc... You will save yourself much effort by not compiling it into the backend, take a look at the cube example in contrib. Have a nice day, > On 5/1/07, Martijn van Oosterhout <kleptog@xxxxxxxxx> wrote: > > > >On Mon, Apr 30, 2007 at 11:05:35AM +0800, shieldy wrote: > >> thankyou for your reply. > >> I added it to the backend, because the internal ones such as > >box_intersect() > >> function is keeped at there. so in my opinion, I just need to add a > >function > >> to the files, and then compile it. then we can use it as the internal > >ones. > >> bytheway, what's the backend file used for? I just didnot quite > >understand > >> the postgresql. and your meaning " place it in a module" , how should i > >> do?? > > > >First, please reply to the list, not to me directly. > > > >Secondly, just because you add it to the backend doesn't mean you can > >use it straight away. There are thousands of functions in postgresql you > >can't access from SQL, you have to declare them. See here: > > > >http://www.postgresql.org/docs/8.2/interactive/xfunc-internal.html > > > >Finally, by putting it in the backend you have to rebuild postgres > >every time you want to change a function. Complete waste of time as > >postgres can load external modules. See here: > > > >http://www.postgresql.org/docs/8.2/interactive/xfunc-c.html > > > >Or better, just read the whole "Extending SQL" section. > > > >http://www.postgresql.org/docs/8.2/interactive/extend.html > > > >Have a nice day, > >-- > >Martijn van Oosterhout <kleptog@xxxxxxxxx> http://svana.org/kleptog/ > >> From each according to his ability. To each according to his ability to > >litigate. > > > >-----BEGIN PGP SIGNATURE----- > >Version: GnuPG v1.4.1 (GNU/Linux) > > > >iD8DBQFGNwoKIB7bNG8LQkwRAjXuAJ9atldhI9Q81lIuRpD8Egguv5ojvgCcCk4v > >/Jkr0WGrKP9mxN94iw9X3/U= > >=Swve > >-----END PGP SIGNATURE----- > > > > -- Martijn van Oosterhout <kleptog@xxxxxxxxx> http://svana.org/kleptog/ > From each according to his ability. To each according to his ability to litigate.
Attachment:
signature.asc
Description: Digital signature