summaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistget.c
Commit message (Collapse)AuthorAgeFilesLines
...
* WAL for GiST. It work for online backup and so on, but onTeodor Sigaev2005-06-141-2/+2
| | | | | | | recovery after crash (power loss etc) it may say that it can't restore index and index should be reindexed. Some refactoring code.
* Cleanup GiST header files. Since GiST extensions are often written asNeil Conway2005-05-171-2/+3
| | | | | | | | | | | | external projects, we should be careful about what parts of the GiST API are considered implementation details, and which are part of the public API. Therefore, I've moved internal-only declarations into gist_private.h -- future backward-incompatible changes to gist.h should be made with care, to avoid needlessly breaking external GiST extensions. Also did some related header cleanup: remove some unnecessary #includes from gist.h, and remove some unused definitions: isAttByVal(), _gistdump(), and GISTNStrategies.
* GiST improvements:Neil Conway2005-05-171-193/+184
| | | | | | | | | | | | | | | | | | | - make sure we always invoke user-supplied GiST methods in a short-lived memory context. This means the backend isn't exposed to any memory leaks that be in those methods (in fact, it is probably a net loss for most GiST methods to bother manually freeing memory now). This also means we can do away with a lot of ugly manual memory management in the GiST code itself. - keep the current page of a GiST index scan pinned, rather than doing a ReadBuffer() for each tuple produced by the scan. Since ReadBuffer() is expensive, this is a perf. win - implement dead tuple killing for GiST indexes (which is easy to do, now that we keep a pin on the current scan page). Now all the builtin indexes implement dead tuple killing. - cleanup a lot of ugly code in GiST
* First steps towards index scans with heap access decoupled from indexTom Lane2005-03-271-1/+28
| | | | | | | | | | access: define new index access method functions 'amgetmulti' that can fetch multiple TIDs per call. (The functions exist but are totally untested as yet.) Since I was modifying pg_am anyway, remove the no-longer-needed 'rel' parameter from amcostestimate functions, and also remove the vestigial amowner column that was creating useless work for Alvaro's shared-object-dependencies project. Initdb forced due to changes in pg_am.
* Marginal hack to merge adjacent ReleaseBuffer/ReadBuffer calls intoTom Lane2005-02-051-16/+22
| | | | | ReleaseAndReadBuffer during GIST index searches. We already did this in btree and rtree, might as well do it here too.
* Tag appropriate files for rc3PostgreSQL Daemon2004-12-311-2/+2
| | | | | | | | Also performed an initial run through of upgrading our Copyright date to extend to 2005 ... first run here was very simple ... change everything where: grep 1996-2004 && the word 'Copyright' ... scanned through the generated list with 'less' first, and after, to make sure that I only picked up the right entries ...
* Pgindent run for 8.0.Bruce Momjian2004-08-291-4/+5
|
* Update copyright to 2004.Bruce Momjian2004-08-291-2/+2
|
* More janitorial work: remove the explicit casting of NULL literals to aNeil Conway2004-01-071-3/+3
| | | | | | | | pointer type when it is not necessary to do so. For future reference, casting NULL to a pointer type is only necessary when (a) invoking a function AND either (b) the function has no prototype OR (c) the function is a varargs function.
* $Header: -> $PostgreSQL Changes ...PostgreSQL Daemon2003-11-291-1/+1
|
* Cross-data-type comparisons are now indexable by btrees, pursuant to myTom Lane2003-11-121-16/+27
| | | | | | | | | | pghackers proposal of 8-Nov. All the existing cross-type comparison operators (int2/int4/int8 and float4/float8) have appropriate support. The original proposal of storing the right-hand-side datatype as part of the primary key for pg_amop and pg_amproc got modified a bit in the event; it is easier to store zero as the 'default' case and only store a nonzero when the operator is actually cross-type. Along the way, remove the long-since-defunct bigbox_ops operator class.
* Add operator strategy and comparison-value datatype fields to ScanKey.Tom Lane2003-11-091-16/+6
| | | | | | | | | | | Remove the 'strategy map' code, which was a large amount of mechanism that no longer had any use except reverse-mapping from procedure OID to strategy number. Passing the strategy number to the index AM in the first place is simpler and faster. This is a preliminary step in planned support for cross-datatype index operations. I'm committing it now since the ScanKeyEntryInitialize() API change touches quite a lot of files, and I want to commit those changes before the tree drifts under me.
* Update copyrights to 2003.Bruce Momjian2003-08-041-2/+2
|
* pgindent run.Bruce Momjian2002-09-041-2/+2
|
* Update copyright to 2002.Bruce Momjian2002-06-201-2/+2
|
* Restructure indexscan API (index_beginscan, index_getnext) perTom Lane2002-05-201-75/+37
| | | | | | | 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.
* I was digging through the GiST code, and figured I'd fix up some of theBruce Momjian2002-03-051-4/+2
| | | | | | | | | | | | "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
* pgindent run on all C files. Java run to follow. initdb/regressionBruce Momjian2001-10-251-5/+5
| | | | tests pass.
* Update GiST for new pg_opclass arrangement (finally a clean solutionTom Lane2001-08-221-3/+3
| | | | | | for haskeytype). Update GiST contrib modules too. Add linear-time split algorithm for R-tree GiST opclass. From Oleg Bartunov and Teodor Sigaev.
* 1. null-safe interface to GiSTBruce Momjian2001-08-101-2/+2
| | | | | | | | | | | | | | (as proposed in http://fts.postgresql.org/db/mw/msg.html?mid=1028327) 2. support for 'pass-by-value' arguments - to test this we used special opclass for int4 with values in range [0-2^15] More testing will be done after resolving problem with index_formtuple and implementation of B-tree using GiST 3. small patch to contrib modules (seg,cube,rtree_gist,intarray) - mark functions as 'isstrict' where needed. Oleg Bartunov
* Updates to make GIST work with multi-key indexes (from Oleg BartunovTom Lane2001-05-311-11/+16
| | | | | and Teodor Sigaev). Declare key values as Datum where appropriate, rather than char* (Tom Lane).
* Tweak StrategyEvaluation data structure to eliminate hardwired limit onTom Lane2001-05-301-3/+3
| | | | | number of strategies supported by an index AM. Add missing copyright notices and CVS $Header$ markers to GIST source files.
* we found a problem in GiST with massive insert/update operationsBruce Momjian2001-05-151-5/+8
| | | | | | | | | | | with many NULLs ( inserting of NULL into indexed field cause ERROR: MemoryContextAlloc: invalid request size) As a workaround 'vacuum analyze' could be used. This patch resolves the problem, please upply to 7.1.1 sources and current cvs tree. Oleg Bartunov
* pgindent run. Make it all clean.Bruce Momjian2001-03-221-2/+2
|
* Another batch of fmgr updates. I think I have gotten all old-styleTom Lane2000-06-131-4/+6
| | | | | functions that take pass-by-value datatypes. Should be ready for port testing ...
* Third round of fmgr updates: eliminate calls using fmgr() andTom Lane2000-05-301-9/+10
| | | | | fmgr_faddr() in favor of new-style calls. Lots of cleanup of sloppy casts to use XXXGetDatum and DatumGetXXX ...
* Move some system includes into c.h, and remove duplicates.Bruce Momjian1999-07-171-5/+0
|
* Final cleanup.Bruce Momjian1999-07-161-0/+1
|
* Change #include's to use <> and "" as appropriate.Bruce Momjian1999-07-151-3/+3
|
* Remove unused #includes in *.c files.Bruce Momjian1999-07-151-6/+0
|
* Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian1999-02-131-1/+1
|
* OK, folks, here is the pgindent output.Bruce Momjian1998-09-011-4/+2
|
* Renaming cleanup, no pgindent yet.Bruce Momjian1998-09-011-14/+14
|
* Remove un-needed braces around single statements.Bruce Momjian1998-06-151-28/+0
|
* Thank god for searchable mail archives.PostgreSQL Daemon1998-01-151-2/+2
| | | | | | | | | Patch by: wieck@sapserv.debis.de (Jan Wieck) One of the design rules of PostgreSQL is extensibility. And to follow this rule means (at least for me) that there should not only be a builtin PL. Instead I would prefer a defined interface for PL implemetations.
* Used modified version of indent that understands over 100 typedefs.Bruce Momjian1997-09-081-2/+2
|
* Another PGINDENT run that changes variable indenting and case label ↵Bruce Momjian1997-09-081-39/+39
| | | | indenting. Also static variable indenting.
* Massive commit to run PGINDENT on all *.c and *.h files.Bruce Momjian1997-09-071-301/+343
|
* Make functions static where possible, enclose unused functions in #ifdef ↵Bruce Momjian1997-08-191-1/+4
| | | | NOT_USED.
* From: Dan McGuirk <mcguirk@indirect.com>Marc G. Fournier1997-03-121-4/+4
| | | | | | | | | | Subject: [HACKERS] linux/alpha patches These patches lay the groundwork for a Linux/Alpha port. The port doesn't actually work unless you tweak the linker to put all the pointers in the first 32 bits of the address space, but it's at least a start. It implements the test-and-set instruction in Alpha assembly, and also fixes a lot of pointer-to-integer conversions, which is probably good anyway.
* Fix memory overhelding while forming index' result:Vadim B. Mikheev1996-11-211-14/+8
| | | | | memory allocation for ItemPointerData of heap' tuple is useless because of FormRetrieveIndexResult makes neccessary palloc.
* More cleaned out #include filesMarc G. Fournier1996-11-051-13/+9
| | | | Makefile fixed for fmgr.h
* More include file cleanupsMarc G. Fournier1996-11-031-33/+1
|
* Add a couple of missing includesMarc G. Fournier1996-10-311-2/+5
|
* -Wall cleanup of gist subdirectory:Marc G. Fournier1996-10-211-1/+14
| | | | | | | | | | | - cleaned out unused variables - added missing prototype headers One outstanding -Werror failure: /home/staff/scrappy/postgres/2.0/cvs/postgres95/src/backend/access/gist/giststra t.c:117: warning: missing braces around initializer for `GISTEvaluationData.expr ession'
* First pass at fixing my own mistakesMarc G. Fournier1996-10-201-0/+26
| | | | | | Mainly...fix up the includes I removed, as well as prototypes Pointed out by D'Arcy
* Welp, another subdirectory cleaned out of redundant/unused #includeMarc G. Fournier1996-10-191-12/+6
| | | | files
* Oops, thanks to Dan McGuirk for pointing out that I missed part ofMarc G. Fournier1996-08-261-0/+374
the commit :( Here's the rest of the GiST code thta was missing...