runtime error on SPGIST, needed help

From: "Simone Campora" <simone(dot)campora(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: runtime error on SPGIST, needed help
Date: 2008-04-12 15:18:22
Message-ID: 177b806f0804120818j72fadc8co914572bb4ba5084e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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(dot)campora(at)gmail(dot)com
simone(dot)campora(at)epfl(dot)ch

WWW: www.simonecampora.com

MOBILE: +41 762 563466
+39 347 8036605

SKYPE: sim0ne.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2008-04-12 15:32:00 Re: [HACKERS] Terminating a backend
Previous Message Bruce Momjian 2008-04-12 14:04:09 Re: [HACKERS] Terminating a backend