Search Postgresql Archives

Re: [HACKERS] SOS, help me please, one problem towards the postgresql developement on windows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux