summaryrefslogtreecommitdiff
path: root/contrib/pg_trgm/trgm_gist.c
Commit message (Collapse)AuthorAgeFilesLines
* pgindent run before PG 9.1 beta 1.Bruce Momjian2011-04-101-22/+24
|
* Support LIKE and ILIKE index searches via contrib/pg_trgm indexes.Tom Lane2011-01-311-12/+83
| | | | | | | | | | Unlike Btree-based LIKE optimization, this works for non-left-anchored search patterns. The effectiveness of the search depends on how many trigrams can be extracted from the pattern. (The worst case, with no trigrams, degrades to a full-table scan, so this isn't a panacea. But it can be very useful.) Alexander Korotkov, reviewed by Jan Urbanski
* Add KNNGIST support to contrib/pg_trgm.Tom Lane2010-12-041-30/+110
| | | | Teodor Sigaev, with some revision by Tom
* Remove cvs keywords from all files.Magnus Hagander2010-09-201-1/+1
|
* 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef listBruce Momjian2009-06-111-13/+14
| | | | provided by Andrew.
* Add caching of query to GIN/GiST consistent function.Teodor Sigaev2008-07-111-2/+20
| | | | Per performance gripe from nomao.com
* Add $PostgreSQL$ markers to a lot of files that were missing them.Andrew Dunstan2008-05-171-0/+3
| | | | | | | | | | This particular batch was just for *.c and *.h file. The changes were made with the following 2 commands: find . \( \( -name 'libstemmer' -o -name 'expected' -o -name 'ppport.h' \) -prune \) -o \( -name '*.[ch]' \) \( -exec grep -q '\$PostgreSQL' {} \; -o -print \) | while read file ; do head -n 1 < $file | grep -q '^/\*' && echo $file; done | xargs -l sed -i -e '1s/^\// /' -e '1i/*\n * $PostgreSQL:$ \n *' find . \( \( -name 'libstemmer' -o -name 'expected' -o -name 'ppport.h' \) -prune \) -o \( -name '*.[ch]' \) \( -exec grep -q '\$PostgreSQL' {} \; -o -print \) | xargs -l sed -i -e '1i/*\n * $PostgreSQL:$ \n */'
* Push index operator lossiness determination down to GIST/GIN opclassTom Lane2008-04-141-4/+11
| | | | | | | | | | | "consistent" functions, and remove pg_amop.opreqcheck, as per recent discussion. The main immediate benefit of this is that we no longer need 8.3's ugly hack of requiring @@@ rather than @@ to test weight-using tsquery searches on GIN indexes. In future it should be possible to optimize some other queries better than is done now, by detecting at runtime whether the index match is exact or not. Tom Lane, after an idea of Heikki's, and with some help from Teodor.
* Run pgindent on remaining files now that LOOPBYTE is a usable macro.Bruce Momjian2007-11-161-9/+9
|
* Modify LOOPBYTE/LOOPBIT macros to be more logical; rather than have theBruce Momjian2007-11-161-25/+24
| | | | | | | for() body passed as a parameter, make the macros act as simple headers to code blocks. This allows pgindent to be run on these files.
* Support varlena fields with single-byte headers and unaligned storage.Tom Lane2007-04-061-2/+20
| | | | | | | | | This commit breaks any code that assumes that the mere act of forming a tuple (without writing it to disk) does not "toast" any fields. While all available regression tests pass, I'm not totally sure that we've fixed every nook and cranny, especially in contrib. Greg Stark with some help from Tom Lane
* Fix up several contrib modules that were using varlena datatypes in ↵Tom Lane2007-02-281-6/+7
| | | | | | | not-so-obvious ways. I'm not totally sure that I caught everything, but at least now they pass their regression tests with VARSIZE/SET_VARSIZE defined to reverse byte order.
* pgindent run for 8.2.Bruce Momjian2006-10-041-4/+4
|
* ChangesTeodor Sigaev2006-06-281-2/+2
| | | | | | | | | | | | | | | | | | | | * new split algorithm (as proposed in http://archives.postgresql.org/pgsql-hackers/2006-06/msg00254.php) * possible call pickSplit() for second and below columns * add spl_(l|r)datum_exists to GIST_SPLITVEC - pickSplit should check its values to use already defined spl_(l|r)datum for splitting. pickSplit should set spl_(l|r)datum_exists to 'false' (if they was 'true') to signal to caller about using spl_(l|r)datum. * support for old pickSplit(): not very optimal but correct split * remove 'bytes' field from GISTENTRY: in any case size of value is defined by it's type. * split GIST_SPLITVEC to two structures: one for using in picksplit and second - for internal use. * some code refactoring * support of subsplit to rtree opclasses TODO: add support of subsplit to contrib modules
* This patch makes the error message strings throughout the backendNeil Conway2006-03-011-2/+2
| | | | | | | | more compliant with the error message style guide. In particular, errdetail should begin with a capital letter and end with a period, whereas errmsg should not. I also fixed a few related issues in passing, such as fixing the repeated misspelling of "lexeme" in contrib/tsearch2 (per Tom's suggestion).
* Replace bitwise looping with bytewise looping in hemdistsign andTom Lane2006-01-201-15/+24
| | | | | | | sizebitvec of tsearch2, as well as identical code in several other contrib modules. This provided about a 20X speedup in building a large tsearch2 index ... didn't try to measure its effects for other operations. Thanks to Stephan Vollmer for providing a test case.
* R-tree is dead ... long live GiST.Tom Lane2005-11-071-5/+2
|
* Cleanup of GiST extensions in contrib/: now that we always invoke GiSTNeil Conway2005-05-211-9/+0
| | | | | methods in a short-lived memory context, there is no need for GiST methods to do their own manual (and error-prone) memory management.
* Pgindent run for 8.0.Bruce Momjian2004-08-291-110/+156
|
* trgm - Trigram matching for PostgreSQLTeodor Sigaev2004-05-311-0/+566
-------------------------------------- The pg_trgm contrib module provides functions and index classes for determining the similarity of text based on trigram matching.