- Feb 10, 2013
-
-
Tom Lane authored
Not only is this implementation of secondary-split not better than the default implementation in gistsplit.c, it's actually worse. The gistsplit.c code at least looks to see if switching the left and right sides would make a better merge with the previously-split tuples, while this doesn't. In any case it's rather useless to support secondary split only in an edge case. There used to be more complete support for it here (in chooseLR()), but that was removed in commit 7f3bd868. It appears to me though that the chooseLR() code was really isomorphic to the default implementation, since it was still based on choosing the cheaper way of adding two sub-split vectors that had been chosen without regard to the primary split initially. I think an implementation of secondary split that could beat the default implementation would have to be pretty fully integrated into the split algorithm, not plastered on at the end. Back-patch to 9.2, but not further; previous branches have the chooseLR() code which I don't feel a great need to mess with. This is mainly so we just have two behaviors and not three among the various branches (IOW, this patch is cleanup for commit 7f3bd868's incomplete removal of secondary-split support).
-
- Feb 09, 2013
-
-
Tom Lane authored
While there's considerable doubt that we want fuzzy behavior in the geometric operators at all (let alone as currently implemented), nobody is stepping forward to redesign that stuff. In the meantime it behooves us to make sure that index searches agree with the behavior of the underlying operators. This patch fixes two problems in this area. First, gist_box_same was using fuzzy equality, but it really needs to use exact equality to prevent not-quite-identical upper index keys from being treated as identical, which for example would prevent an existing upper key from being extended by an amount less than epsilon. This would result in inconsistent indexes. (The next release notes will need to recommend that users reindex GiST indexes on boxes, polygons, circles, and points, since all four opclasses use gist_box_same.) Second, gist_point_consistent used exact comparisons for upper-page comparisons in ~= searches, when it needs to use fuzzy comparisons to ensure it finds all matches; and it used fuzzy comparisons for point <@ box searches, when it needs to use exact comparisons because that's what the <@ operator (rather inconsistently) does. The added regression test cases illustrate all three misbehaviors. Back-patch to all active branches. (8.4 did not have GiST point_ops, but it still seems prudent to apply the gist_box_same patch to it.) Alexander Korotkov, reviewed by Noah Misch
-
- Jan 01, 2013
-
-
Bruce Momjian authored
Fully update git head, and update back branches in ./COPYRIGHT and legal.sgml files.
-
- Jun 10, 2012
-
-
Bruce Momjian authored
commit-fest.
-
- May 12, 2012
-
-
Peter Eisentraut authored
gcc -Wextra/-Wold-style-declaration thinks that "inline" should go before the function return type.
-
- Feb 28, 2012
-
-
Peter Eisentraut authored
This only produces warnings under -Wcast-qual, but it's more correct and consistent in any case.
-
- Jan 30, 2012
-
-
Tom Lane authored
YAMAMOTO Takashi
-
- Jan 02, 2012
-
-
Bruce Momjian authored
-
- Oct 09, 2011
-
-
Heikki Linnakangas authored
The original idea of this patch was to make box picksplit run faster, by eliminating unnecessary palloc() overhead, but that was obsoleted by the new double-sorting split algorithm that doesn't call these functions so heavily anymore. Nevertheless, the code looks better this way. Original patch by me, reviewed and tidied up after the double-sorting patch by Kevin Grittner.
-
- Oct 06, 2011
-
-
Heikki Linnakangas authored
new double-sorting algorithm. The new algorithm produces better quality trees, making searches faster. Alexander Korotkov
-
- Apr 10, 2011
-
-
Bruce Momjian authored
-
- Jan 01, 2011
-
-
Bruce Momjian authored
-
- Dec 04, 2010
-
-
Tom Lane authored
This commit represents a rather heavily editorialized version of Teodor's builtin_knngist_itself-0.8.2 and builtin_knngist_proc-0.8.1 patches. I redid the opclass API to add a separate Distance method instead of turning the Consistent method into an illogical mess, fixed some bit-rot in the rbtree interfaces, and generally worked over the code style and comments. There's still no non-code documentation to speak of, but I'll work on that separately. Some contrib-module changes are also yet to come (right now, point <-> point is the only KNN-ified operator). Teodor Sigaev and Tom Lane
-
- Nov 15, 2010
-
-
Robert Haas authored
Itagaki Takahiro, with slight modifications.
-
- Sep 20, 2010
-
-
Magnus Hagander authored
-
- Feb 26, 2010
-
-
Bruce Momjian authored
-
- Jan 14, 2010
-
-
Teodor Sigaev authored
-
- Jan 02, 2010
-
-
Bruce Momjian authored
-
- Sep 18, 2009
-
-
Teodor Sigaev authored
only for secondary page split (i.e. for non-first columns of index) Patch by Paul Ramsey <pramsey@opengeo.org>
-
- Jun 11, 2009
-
-
Bruce Momjian authored
provided by Andrew.
-
- Apr 06, 2009
-
-
Teodor Sigaev authored
from buggy user-defined picksplit to GiST.
-
- Jan 01, 2009
-
-
Bruce Momjian authored
-
- Apr 14, 2008
-
-
Tom Lane authored
"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.
-
- Jan 01, 2008
-
-
Bruce Momjian authored
-
- Nov 15, 2007
-
-
Bruce Momjian authored
-
- Sep 07, 2007
-
-
Teodor Sigaev authored
big misalignement, then it tries to split page basing on distribution of boxe's centers. Per report from Dolafi, Tom <dolafit@janelia.hhmi.org> Backpatch is needed, change doesn't affect on-disk storage.
-
- Jan 05, 2007
-
-
Bruce Momjian authored
back-stamped for this.
-
- Oct 04, 2006
-
-
Bruce Momjian authored
-
- Sep 10, 2006
-
-
Tom Lane authored
agreed these symbols are less easily confused. I made new pg_operator entries (with new OIDs) for the old names, so as to provide backward compatibility while making it pretty easy to remove the old names in some future release cycle. This commit only touches the core datatypes, contrib will be fixed separately.
-
- Jul 14, 2006
-
-
Bruce Momjian authored
-
- Jun 28, 2006
-
-
Teodor Sigaev authored
* 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
-
- Mar 05, 2006
-
-
Bruce Momjian authored
-
- Nov 07, 2005
-
-
Tom Lane authored
-
- Oct 15, 2005
-
-
Bruce Momjian authored
-
- Sep 22, 2005
-
-
Bruce Momjian authored
-
- Jul 01, 2005
-
-
Tom Lane authored
basic regression tests for GiST to the standard regression tests. I took the opportunity to add an rtree-equivalent gist opclass for circles; the contrib version only covered boxes and polygons, but indexing circles is very handy for distance searches.
-
- Jun 24, 2005
-
-
Tom Lane authored
to the existing X-direction tests. An rtree class now includes 4 actual 2-D tests, 4 1-D X-direction tests, and 4 1-D Y-direction tests. This involved adding four new Y-direction test operators for each of box and polygon; I followed the PostGIS project's lead as to the names of these operators. NON BACKWARDS COMPATIBLE CHANGE: the poly_overleft (&<) and poly_overright (&>) operators now have semantics comparable to box_overleft and box_overright. This is necessary to make r-tree indexes work correctly on polygons. Also, I changed circle_left and circle_right to agree with box_left and box_right --- formerly they allowed the boundaries to touch. This isn't actually essential given the lack of any r-tree opclass for circles, but it seems best to sync all the definitions while we are at it.
-
Tom Lane authored
polygon operators (<<, &<, >>, &>). Per ideas originally put forward by andrew@supernews and later rediscovered by moi. This patch just fixes the existing opclasses, and does not add any new behavior as I proposed earlier; that can be sorted out later. In principle this could be back-patched, since it changes only search behavior and not system catalog entries nor rtree index contents. I'm not currently planning to do that, though, since I think it could use more testing.
-
- May 25, 2005
-
-
Bruce Momjian authored
them, the executation behavior could be unexpected.
-
- May 21, 2005
-
-
Neil Conway authored
methods in a short-lived memory context, there is no need for GiST methods to do their own manual (and error-prone) memory management.
-