postgresql/src/backend
Tom Lane 37ee4b75db Restructure function-internal caching in the range type code.
Move the responsibility for caching specialized information about range
types into the type cache, so that the catalog lookups only have to occur
once per session.  Rearrange APIs a bit so that fn_extra caching is
actually effective in the GiST support code.  (Use of OidFunctionCallN is
bad enough for performance in itself, but it also prevents the function
from exploiting fn_extra caching.)

The range I/O functions are still not very bright about caching repeated
lookups, but that seems like material for a separate patch.

Also, avoid unnecessary use of memcpy to fetch/store the range type OID and
flags, and don't use the full range_deserialize machinery when all we need
to see is the flags value.

Also fix API error in range_gist_penalty --- it was failing to set *penalty
for any case involving an empty range.
2011-11-15 13:05:45 -05:00
..
access Wakeup WALWriter as needed for asynchronous commit performance. 2011-11-13 09:00:57 +00:00
bootstrap Refactor xlog.c to create src/backend/postmaster/startup.c 2011-11-02 14:25:01 +00:00
catalog Fix copyright notices, other minor editing in new range-types code. 2011-11-14 13:59:34 -05:00
commands Fix alignment and toasting bugs in range types. 2011-11-14 21:42:04 -05:00
executor Support range data types. 2011-11-03 13:42:15 +02: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 Support range data types. 2011-11-03 13:42:15 +02:00
optimizer Wrap appendrel member outputs in PlaceHolderVars in additional cases. 2011-11-08 21:14:21 -05:00
parser Support range data types. 2011-11-03 13:42:15 +02: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 Wakeup WALWriter as needed for asynchronous commit performance. 2011-11-13 09:00:57 +00:00
regex Add markers for skips. 2011-08-26 18:15:13 -04:00
replication Refactor xlog.c to create src/backend/postmaster/startup.c 2011-11-02 14:25:01 +00:00
rewrite More cleanup after failed reduced-lock-levels-for-DDL feature. 2011-10-21 13:50:30 -04:00
snowball Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
storage Revert removal of trace_userlocks, because userlocks aren't gone. 2011-11-10 17:54:27 -05:00
tcop Support range data types. 2011-11-03 13:42:15 +02:00
tsearch Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
utils Restructure function-internal caching in the range type code. 2011-11-15 13:05:45 -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