postgresql/src/backend
Tom Lane c66e4f138b Improve GiST range-contained-by searches by adding a flag for empty ranges.
In the original implementation, a range-contained-by search had to scan
the entire index because an empty range could be lurking anywhere.
Improve that by adding a flag to upper GiST entries that says whether the
represented subtree contains any empty ranges.

Also, make a simple mod to the penalty function to discourage empty ranges
from getting pushed into subtrees without any.  This needs more work, and
the picksplit function should be taught about it too, but that code can be
improved without causing an on-disk compatibility break; so we'll leave it
for another day.

Since we're breaking on-disk compatibility of range values anyway, I took
the opportunity to reorganize the range flags bits; the unused
RANGE_xB_NULL bits are now adjacent, which might open the door for using
them in some other way later.

In passing, remove the GiST range opclass entry for <>, which doesn't seem
like it can really be indexed usefully.

Alexander Korotkov, with some editorializing by Tom
2011-11-27 16:51:29 -05:00
..
access Take fillfactor into account in the new COPY bulk heap insert code. 2011-11-26 12:11:00 +02:00
bootstrap Refactor xlog.c to create src/backend/postmaster/startup.c 2011-11-02 14:25:01 +00:00
catalog Further code review for range types patch. 2011-11-20 23:50:27 -05:00
commands Improve logging of autovacuum I/O activity 2011-11-25 16:34:32 -03:00
executor Fix unsupported options in CREATE TABLE ... AS EXECUTE. 2011-11-24 23:21:45 -05:00
foreign deflist_to_tuplestore dumped core on an option with no value. 2011-09-13 11:36:49 -04:00
lib Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
libpq Do not treat a superuser as a member of every role for HBA purposes. 2011-11-03 12:45:02 -04:00
main Add postmaster -C option to query configuration parameters, and have 2011-10-06 09:38:39 -04:00
nodes Fix unsupported options in CREATE TABLE ... AS EXECUTE. 2011-11-24 23:21:45 -05:00
optimizer Wrap appendrel member outputs in PlaceHolderVars in additional cases. 2011-11-08 21:14:21 -05:00
parser Fix unsupported options in CREATE TABLE ... AS EXECUTE. 2011-11-24 23:21:45 -05:00
po Translation updates 2011-08-17 14:07:46 +03:00
port Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
postmaster Move "hot" members of PGPROC into a separate PGXACT array. 2011-11-25 08:02:10 -05:00
regex Add markers for skips. 2011-08-26 18:15:13 -04:00
replication Move "hot" members of PGPROC into a separate PGXACT array. 2011-11-25 08:02:10 -05:00
rewrite Further consolidation of DROP statement handling. 2011-11-17 21:32:34 -05:00
snowball Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
storage Improve logging of autovacuum I/O activity 2011-11-25 16:34:32 -03:00
tcop Further code review for range types patch. 2011-11-20 23:50:27 -05:00
tsearch Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
utils Improve GiST range-contained-by searches by adding a flag for empty ranges. 2011-11-27 16:51:29 -05:00
.gitignore Add gitignore for mingw/cygwin build outputs 2011-06-09 18:11:47 +02:00
common.mk Workaround for recursive make breakage 2011-01-13 09:32:06 +02:00
Makefile Fix symlink for errcodes.h so it works in VPATH builds from tarballs. 2011-06-22 13:08:08 -04:00
nls.mk Clean gettext-files file in clean target 2011-11-09 20:56:19 +02:00