runtime error on SPGIST, needed help
От
Simone Campora
Тема
runtime error on SPGIST, needed help
Дата
Msg-id
177b806f0804120818j72fadc8co914572bb4ba5084e@mail.gmail.com
Список
Дерево обсуждения
runtime error on SPGIST, needed help "Simone Campora" <simone.campora@gmail.com>
Re: runtime error on SPGIST, needed help Tom Lane <tgl@sss.pgh.pa.us>
Re: runtime error on SPGIST, needed help "Simone Campora" <simone.campora@gmail.com>
Hello to all of you! I'm new of this newsletter but I hope that this is the good place to send this help request!
I'm a student and I'm developing a quadtree index using postgresql 8.0.15 under Linux Ubuntu 7.10 Gusty Gibbon, but I have the following problem:
I downloaded the GIST extension SPGIST from the website http://www.cs.purdue.edu/spgist/
and I tried to modify some C functions used by the operators (for instance the == used between Point and Point)
here there is a function in the ./spgist-pquad/spgist_pquad.cc that is:
SPGIST_FUNCTION(pquad_equals_op)
{
PG_RETURN_BOOL(true);
}
That is the one that is used by the operator == defined as follows:
CREATE OR REPLACE FUNCTION pquad_equals_op(point,point) RETURNS bool AS '/usr/local/lib/libspgist_pquad' LANGUAGE 'C';
CREATE OPERATOR == ( LEFTARG = point, RIGHTARG = point, PROCEDURE = pquad_equals_op, RESTRICT = eqsel, JOIN = eqjoinsel);
I first want to implement it and to make it works, like this:
SPGIST_FUNCTION(pquad_equals_op)
{
elog (NOTICE, "1");
Point *p1 = (Point *)PG_GETARG_POINTER(0);
Point *p2 = (Point *)PG_GETARG_POINTER(1);
elog (NOTICE, "2");
if((p1->x == p2->x) && (p1->y == p2->y))
{
PG_RETURN_BOOL(true);
}
else
{
PG_RETURN_BOOL(false);
}
}
I can compile it without problem but when I use that operator in a sql query like:
select * from tablepoints p1 where p1.point == '(1,1)';
then the process simply crash by signal 11 and without any useful feedback on the motivation (it just prints out the notice "1" and "2").
Is that an already known problem? Honestly I found it very hard to discover the problem and I still don't have a solution.
Could anyone suggest me a good runtime debugger for that purpose?
Thanks to all of you!!
Simone
--
Campora Simone,
________________________
School of computer science
Swiss Federal Institute of Technology, Lausanne
EPFL
E-MAIL: simone.campora@gmail.com
simone.campora@epfl.ch
WWW: www.simonecampora.com
MOBILE: +41 762 563466
+39 347 8036605
SKYPE: sim0ne.
В списке pgsql-hackers по дате отправления