| 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: | Whole Thread | Raw Message | 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/>
| 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 |