GiST: Bug In gistdoinsert() ?

From: Itai Zukerman <zukerman(at)math-hat(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: GiST: Bug In gistdoinsert() ?
Date: 2003-03-01 15:11:35
Message-ID: 87llzzdsuw.fsf@matt.w80.math-hat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I'm looking over the code in backends/access/gist, and I noticed this
in gist.c, in gistdoinsert():

instup = (IndexTuple *) palloc(sizeof(IndexTuple));
instup[0] = (IndexTuple) palloc(IndexTupleSize(itup));
memcpy(instup[0], itup, IndexTupleSize(itup));

ret = gistlayerinsert(r, GISTP_ROOT, &instup, &len, res, giststate);
if (ret & SPLITED)
gistnewroot(r, instup, len);

for (i = 0; i < len; i++)
pfree(instup[i]);
pfree(instup);

I only understand maybe 5% of what's going on here, but won't it be a
problem if len > 1 after the call to gistlayerinsert()? It looked like
it might be possible that len > 1 if gistSplit() happens.

--
Itai Zukerman <http://www.math-hat.com/~zukerman/>

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephan Szabo 2003-03-01 16:06:07 Re: Foreign key quandries
Previous Message Rod Taylor 2003-03-01 14:39:20 Re: Foreign key quandries