summaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistscan.c
AgeCommit message (Collapse)Author
2002-06-20Update copyright to 2002.Bruce Momjian
2002-05-20Restructure indexscan API (index_beginscan, index_getnext) perTom Lane
yesterday's proposal to pghackers. Also remove unnecessary parameters to heap_beginscan, heap_rescan. I modified pg_proc.h to reflect the new numbers of parameters for the AM interface routines, but did not force an initdb because nothing actually looks at those fields.
2002-03-05I was digging through the GiST code, and figured I'd fix up some of theBruce Momjian
"bad smell" in that code. Stuff like function parameters that aren't used, typos in the comments, comparison between signed and unsigned ints, etc. Attached is a pretty trivial patch; it compiles, but beyond that completely untested. Unless anyone sees any problems, please apply for 7.3. Neil Conway
2001-10-25pgindent run on all C files. Java run to follow. initdb/regressionBruce Momjian
tests pass.
2001-08-22Update GiST for new pg_opclass arrangement (finally a clean solutionTom Lane
for haskeytype). Update GiST contrib modules too. Add linear-time split algorithm for R-tree GiST opclass. From Oleg Bartunov and Teodor Sigaev.
2001-07-15Restructure index AM interface for index building and index tuple deletion,Tom Lane
per previous discussion on pghackers. Most of the duplicate code in different AMs' ambuild routines has been moved out to a common routine in index.c; this means that all index types now do the right things about inserting recently-dead tuples, etc. (I also removed support for EXTEND INDEX in the ambuild routines, since that's about to go away anyway, and it cluttered the code a lot.) The retail indextuple deletion routines have been replaced by a "bulk delete" routine in which the indexscan is inside the access method. I haven't pushed this change as far as it should go yet, but it should allow considerable simplification of the internal bookkeeping for deletions. Also, add flag columns to pg_am to eliminate various hardcoded tests on AM OIDs, and remove unused pg_am columns. Fix rtree and gist index types to not attempt to store NULLs; before this, gist usually crashed, while rtree managed not to crash but computed wacko bounding boxes for NULL entries (which might have had something to do with the performance problems we've heard about occasionally). Add AtEOXact routines to hash, rtree, and gist, all of which have static state that needs to be reset after an error. We discovered this need long ago for btree, but missed the other guys. Oh, one more thing: concurrent VACUUM is now the default.
2001-06-28Repair logic error for multi-key indexes. From Oleg Bartunov.Tom Lane
2001-06-09Remove RelationGetBufferWithBuffer(), which is horribly confused aboutTom Lane
appropriate pin-count manipulation, and instead use ReleaseAndReadBuffer. Make use of the fact that the passed-in buffer (if there is one) must be pinned to avoid grabbing the bufmgr spinlock when we are able to return this same buffer. Eliminate unnecessary 'previous tuple' and 'next tuple' fields of HeapScanDesc and IndexScanDesc, thereby removing a whole lot of bookkeeping from heap_getnext() and related routines.
2001-05-31Updates to make GIST work with multi-key indexes (from Oleg BartunovTom Lane
and Teodor Sigaev). Declare key values as Datum where appropriate, rather than char* (Tom Lane).
2001-05-30Tweak StrategyEvaluation data structure to eliminate hardwired limit onTom Lane
number of strategies supported by an index AM. Add missing copyright notices and CVS $Header$ markers to GIST source files.
2001-03-23Fix comments that were mis-wrapped, for Tom Lane.Bruce Momjian
2001-03-22pgindent run. Make it all clean.Bruce Momjian
2000-06-14I had overlooked the fact that some fmgr-callable functions return voidTom Lane
--- ie, they're only called for side-effects. Add a PG_RETURN_VOID() macro and use it where appropriate. This probably doesn't change the machine code by a single bit ... it's just for documentation.
2000-06-13Another batch of fmgr updates. I think I have gotten all old-styleTom Lane
functions that take pass-by-value datatypes. Should be ready for port testing ...
2000-04-12Ye-old pgindent run. Same 4-space tabs.Bruce Momjian
2000-01-15Fixed all elog related warnings, as well as a few others.Peter Eisentraut
1999-07-17 Move some system includes into c.h, and remove duplicates.Bruce Momjian
1999-07-16Final cleanup.Bruce Momjian
1999-07-15Change #include's to use <> and "" as appropriate.Bruce Momjian
1999-07-15Remove unused #includes in *.c files.Bruce Momjian
1999-05-25pgindent run over code.Bruce Momjian
1999-02-13Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian
1998-12-15Initial MVCC code.Vadim B. Mikheev
New code for locking buffer' context.
1998-09-01OK, folks, here is the pgindent output.Bruce Momjian
1998-09-01Renaming cleanup, no pgindent yet.Bruce Momjian
1998-08-19heap_fetch requires buffer pointer, must be released; heap_getnextBruce Momjian
no longer returns buffer pointer, can be gotten from scan; descriptor; bootstrap can create multi-key indexes; pg_procname index now is multi-key index; oidint2, oidint4, oidname are gone (must be removed from regression tests); use System Cache rather than sequential scan in many places; heap_modifytuple no longer takes buffer parameter; remove unused buffer parameter in a few other functions; oid8 is not index-able; remove some use of single-character variable names; cleanup Buffer variables usage and scan descriptor looping; cleaned up allocation and freeing of tuples; 18k lines of diff;
1998-06-15Remove un-needed braces around single statements.Bruce Momjian
1998-01-07Goodbye ABORT. Hello ERROR for all errors.Bruce Momjian
1998-01-05Change elog(WARN) to elog(ERROR) and elog(ABORT).Bruce Momjian
1997-09-08Used modified version of indent that understands over 100 typedefs.Bruce Momjian
1997-09-08Another PGINDENT run that changes variable indenting and case label ↵Bruce Momjian
indenting. Also static variable indenting.
1997-09-07Massive commit to run PGINDENT on all *.c and *.h files.Bruce Momjian
1997-05-221. Pass GISTENTRYs to giststate->penaltyFn by pointers, not by vals.Vadim B. Mikheev
2. Re-initialize keys in gistrescan (if gist used in inner scan).
1996-11-15Unallocate opaque.Bruce Momjian
1996-11-10All external function definitions now have prototypes that are checked.Bruce Momjian
1996-11-05More cleaned out #include filesMarc G. Fournier
Makefile fixed for fmgr.h
1996-11-03More include file cleanupsMarc G. Fournier
1996-10-31Add a couple of missing includesMarc G. Fournier
1996-10-21-Wall Cleanup of gist subdirectoryMarc G. Fournier
1996-10-20First pass at fixing my own mistakesMarc G. Fournier
Mainly...fix up the includes I removed, as well as prototypes Pointed out by D'Arcy
1996-10-19Welp, another subdirectory cleaned out of redundant/unused #includeMarc G. Fournier
files
1996-08-27Remove all traces of machine.h and redundant calls to c.h whereMarc G. Fournier
postgres.h already pulled in (postgres.h includes c.h)
1996-08-26Oops, thanks to Dan McGuirk for pointing out that I missed part ofMarc G. Fournier
the commit :( Here's the rest of the GiST code thta was missing...