summaryrefslogtreecommitdiff
path: root/contrib/ltree/ltree_gist.c
AgeCommit message (Collapse)Author
2012-06-25Replace int2/int4 in C code with int16/int32Peter Eisentraut
The latter was already the dominant use, and it's preferable because in C the convention is that intXX means XX bits. Therefore, allowing mixed use of int2, int4, int8, int16, int32 is obviously confusing. Remove the typedefs for int2 and int4 for now. They don't seem to be widely used outside of the PostgreSQL source tree, and the few uses can probably be cleaned up by the time this ships.
2012-02-28Add const qualifiers where they are accidentally cast awayPeter Eisentraut
This only produces warnings under -Wcast-qual, but it's more correct and consistent in any case.
2011-09-01Remove unnecessary #include references, per pgrminclude script.Bruce Momjian
2011-01-09Use array_contains_nulls instead of ARR_HASNULL on user-supplied arrays.Tom Lane
This applies the fix for bug #5784 to remaining places where we wish to reject nulls in user-supplied arrays. In all these places, there's no reason not to allow a null bitmap to be present, so long as none of the current elements are actually null. I did not change some other places where we are looking at system catalog entries or aggregate transition values, as the presence of a null bitmap in such an array would be suspicious.
2010-12-21Use memcmp() rather than strncmp() when shorter string length is known.Robert Haas
It appears that this will be faster for all but the shortest strings; at least one some platforms, memcmp() can use word-at-a-time comparisons. Noah Misch, somewhat pared down.
2010-09-20Remove cvs keywords from all files.Magnus Hagander
2010-02-24Allow zero-dimensional (ie, empty) arrays in contrib/ltree operations.Tom Lane
The main motivation for changing this is bug #4921, in which it's pointed out that it's no longer safe to apply ltree operations to the result of ARRAY(SELECT ...) if the sub-select might return no rows. Before 8.3, the ARRAY() construct would return NULL, which might or might not be helpful but at least it wouldn't result in an error. Now it returns an empty array which results in a failure for no good reason, since the ltree operations are all perfectly capable of dealing with zero-element arrays. As far as I can find, these ltree functions are the only places where zero array dimensionality is rejected unnecessarily. Back-patch to 8.3 to prevent behavioral regression of queries that worked in older releases.
2009-06-118.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef listBruce Momjian
provided by Andrew.
2008-05-12Restructure some header files a bit, in particular heapam.h, by removing someAlvaro Herrera
unnecessary #include lines in it. Also, move some tuple routine prototypes and macros to htup.h, which allows removal of heapam.h inclusion from some .c files. For this to work, a new header file access/sysattr.h needed to be created, initially containing attribute numbers of system columns, for pg_dump usage. While at it, make contrib ltree, intarray and hstore header files more consistent with our header style.
2008-04-14Push index operator lossiness determination down to GIST/GIN opclassTom Lane
"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.
2007-11-16Run pgindent on remaining files now that LOOPBYTE is a usable macro.Bruce Momjian
2007-11-16Modify LOOPBYTE/LOOPBIT macros to be more logical; rather than have theBruce Momjian
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.
2007-02-28Fix up several contrib modules that were using varlena datatypes in ↵Tom Lane
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.
2006-10-04pgindent run for 8.2.Bruce Momjian
2006-08-08Fix bug introduced by last patch, thanks again to Mario Weilguni ↵Teodor Sigaev
<mweilguni@sime.com>
2006-08-07fix bug about modifying value in shared buffer,Teodor Sigaev
what was a reason to corrupt index. Thank to Mario Weilguni <mweilguni@sime.com> to discover a bug.
2006-07-11Fix bug corrupting query in gist consistent function.Teodor Sigaev
Thank to Mario Weilguni <mweilguni@sime.com> to discover a bug.
2006-06-28ChangesTeodor Sigaev
* 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
2006-03-11Add CVS tag lines to files that were lacking them.Bruce Momjian
2006-01-08Fix the assert_enabled issue properly. This eliminates the former ABITom Lane
difference between USE_ASSERT_CHECKING and not: the assert_enabled variable is always there.
2005-11-19Add defenses against nulls-in-arrays to contrib/ltree. Possibly it'dTom Lane
be useful to actually do something with nulls, rather than reject them, but I'll just close the hole for now.
2005-11-07R-tree is dead ... long live GiST.Tom Lane
2005-10-15Standard pgindent run for 8.1.Bruce Momjian
2005-05-21Cleanup of GiST extensions in contrib/: now that we always invoke GiSTNeil Conway
methods in a short-lived memory context, there is no need for GiST methods to do their own manual (and error-prone) memory management.
2004-10-21Standardize on using the Min, Max, and Abs macros that are in our c.h file,Tom Lane
getting rid of numerous ad-hoc versions that have popped up in various places. Shortens code and avoids conflict with Windows min() and max() macros.
2004-08-29Pgindent run for 8.0.Bruce Momjian
2004-03-30Cleanup vectors of GISTENTRY and eliminate problem with 64-bit strict-alignedTeodor Sigaev
boxes. Change interface to user-defined GiST support methods union and picksplit. Now instead of bytea struct it used special GistEntryVector structure.
2003-07-24Error message editing in contrib (mostly by Joe Conway --- thanks Joe!)Tom Lane
2003-02-19Please apply patches for contrib/ltree.Bruce Momjian
ltree_73.patch.gz - for 7.3 : Fix ~ operation bug: eg '1.1.1' ~ '*.1' ltree_74.patch.gz - for current CVS Fix ~ operation bug: eg '1.1.1' ~ '*.1' Add ? operation Optimize index storage Last change needs drop/create all ltree indexes, so only for 7.4 Teodor Sigaev
2002-09-04pgindent run.Bruce Momjian
2002-08-10Fixed very stupid but important bug: mixing calls of some founctions fromBruce Momjian
contrib/tsearch and contrib/ltree :) Teodor Sigaev
2002-07-30Add ltree data type to contrib, from Teodor Sigaev and Oleg Bartunov.Bruce Momjian