my postgresql source code is at c:/mingw/postgresql and instal to C:/msys/1.0/local/pgsql/ I add a function to src\backend\utils\adt\geo_ops.c as the following: *Datum box_add2(PG_FUNCTION_ARGS) { BOX *box = PG_GETARG_BOX_P(0); Point *p = PG_GETARG_POINT_P(1);*
* PG_RETURN_BOX_P(box_construct((box->high.x + 2* p->x), (box->low.x + 2* p->x), (box->high.y +2* p->y), (box->low.y + 2* p->y))); } *there is another similar one(this is the original one): *Datum box_add(PG_FUNCTION_ARGS) { BOX *box = PG_GETARG_BOX_P(0); Point *p = PG_GETARG_POINT_P(1);* * PG_RETURN_BOX_P(box_construct((box->high.x + p->x), (box->low.x + p->x), (box->high.y + p->y), (box->low.y + p->y))); }* And i also add the declaration to the src\include\utils\geo_decls.h like this: extern Datum box_add2(PG_FUNCTION_ARGS); and then I did the following like step by step: $ cd /c/mingw/postgresql $ ./configure .... ///as i download the alib, but don't kown where it should be put. so i ignore this, does it matter???? configure: error: zlib library not found If you have zlib already installed, see config.log for details on the failure. It is possible the compiler isn't looking in the proper directory. Use --without-zlib to disable zlib support. $ make ... All of PostgreSQL successfully made. Ready to install. $ make install .... PostgreSQL installation complete. $ initdb -D /usr/local/pgsql/data //before this i add the environments variableslike this: PGDATA=C:/msys/1.0/local/pgsql/data PGHOME=C:/msys/1.0/local/pgsql PGHOST=localhost PGPORT=5434 PATH= C:/msys/1.0/local/pgsql/bin ..... Success. You can now start the database server using: "C:\msys\1.0\local\pgsql\bin\postgres" -D "C:/msys/1.0/local/pgsql/data" or "C:\msys\1.0\local\pgsql\bin\pg_ctl" -D "C:/msys/1.0/local/pgsql/data" -l logfile start $ pg_ctl start -l logfile server starting $ createdb testdb CREATE DATABASE then I use pgadminIII to open the database: just run the scripts: *select box_add(box '((0,0),(1,1))',point'(2,2)')* got: (3,3),(2,2) *select box_add2(box '((0,0),(1,1))',point'(2,2)')* got: *ERROR: function box_add2(box, point) does not exist SQL state: 42883 advice:No function matches the given name and argument types. You may need to add explicit **type casts. chars:8* anyone know this??? why this happened? what should I do? thankyou very much!!!