postgresql/src/include/utils
Tom Lane e006a24ad1 Implement SEMI and ANTI joins in the planner and executor. (Semijoins replace
the old JOIN_IN code, but antijoins are new functionality.)  Teach the planner
to convert appropriate EXISTS and NOT EXISTS subqueries into semi and anti
joins respectively.  Also, LEFT JOINs with suitable upper-level IS NULL
filters are recognized as being anti joins.  Unify the InClauseInfo and
OuterJoinInfo infrastructure into "SpecialJoinInfo".  With that change,
it becomes possible to associate a SpecialJoinInfo with every join attempt,
which permits some cleanup of join selectivity estimation.  That needs to be
taken much further than this patch does, but the next step is to change the
API for oprjoin selectivity functions, which seems like material for a
separate patch.  So for the moment the output size estimates for semi and
especially anti joins are quite bogus.
2008-08-14 18:48:00 +00:00
..
acl.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
array.h Add array_fill() to create arrays initialized with a value. 2008-07-16 00:48:54 +00:00
ascii.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
builtins.h Implement SQL-spec RETURNS TABLE syntax for functions. 2008-07-18 03:32:53 +00:00
cash.h Add $PostgreSQL$ markers to a lot of files that were missing them. 2008-05-17 01:28:26 +00:00
catcache.h Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
combocid.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
date.h Get rid of a bunch of #ifdef HAVE_INT64_TIMESTAMP conditionals by inventing 2008-03-21 01:31:43 +00:00
datetime.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
datum.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
dynahash.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
dynamic_loader.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
elog.h Repair two places where SIGTERM exit could leave shared memory state 2008-04-16 23:59:40 +00:00
errcodes.h Support SQL/PSM-compatible CASE statement in plpgsql. 2008-05-15 22:39:49 +00:00
flatfiles.h Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
fmgrtab.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
formatting.h Const-ify the arguments of str_tolower() and friends to suppress compile 2008-07-12 00:44:38 +00:00
geo_decls.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
guc.h Use guc.c's parse_int() instead of pg_atoi() to parse fillfactor in 2008-07-23 17:29:53 +00:00
guc_tables.h Fix postgres --describe-config for guc enums, breakage noted by Alvaro. 2008-03-17 17:45:09 +00:00
help_config.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
hsearch.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
inet.h Change the declaration of struct varlena so that the length word is 2008-02-23 19:11:45 +00:00
int8.h Clean up some problems with redundant cross-type arithmetic operators. Add 2008-06-17 19:10:56 +00:00
inval.h Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
logtape.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
lsyscache.h Rearrange the querytree representation of ORDER BY/GROUP BY/DISTINCT items 2008-08-02 21:32:01 +00:00
memutils.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
nabstime.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
numeric.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
palloc.h If pnstrdup is going to be promoted to a generally available function, 2008-06-28 16:45:22 +00:00
pg_crc.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
pg_locale.h Make to_char()'s localized month/day names depend on LC_TIME, not LC_MESSAGES. 2008-05-19 18:08:16 +00:00
pg_lzcompress.h This patch addresses some issues in TOAST compression strategy that 2008-03-07 23:20:21 +00:00
pg_rusage.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
plancache.h Adjust things so that the query_string of a cached plan and the sourceText of 2008-07-18 20:26:06 +00:00
portal.h Adjust things so that the query_string of a cached plan and the sourceText of 2008-07-18 20:26:06 +00:00
ps_status.h Add GUC update_process_title to control whether 'ps' display is updated 2006-06-27 22:16:44 +00:00
rel.h Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
relcache.h Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
resowner.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
selfuncs.h Implement SEMI and ANTI joins in the planner and executor. (Semijoins replace 2008-08-14 18:48:00 +00:00
snapmgr.h Improve snapshot manager by keeping explicit track of snapshots. 2008-05-12 20:02:02 +00:00
snapshot.h Improve snapshot manager by keeping explicit track of snapshots. 2008-05-12 20:02:02 +00:00
syscache.h Convert the list of syscache names from a series of #define's into an enum, 2008-05-07 01:04:49 +00:00
timestamp.h Add timestamp and timestamptz versions of generate_series(). 2008-05-04 23:19:24 +00:00
tqual.h Move the HTSU_Result enum definition into snapshot.h, to avoid including 2008-03-26 21:10:39 +00:00
tuplesort.h Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
tuplestore.h Add a new tuplestore API function, tuplestore_putvalues(). This is 2008-03-25 19:26:54 +00:00
typcache.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
tzparser.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
uuid.h Fix some missed copyright updates. 2008-01-01 20:31:21 +00:00
varbit.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
xml.h Turn xmlbinary and xmloption GUC variables into enumsTurn xmlbinary and 2008-04-04 08:33:15 +00:00