postgresql/src/backend/parser
Tom Lane 0a469c8769 Remove old-style VACUUM FULL (which was known for a little while as
VACUUM FULL INPLACE), along with a boatload of subsidiary code and complexity.
Per discussion, the use case for this method of vacuuming is no longer large
enough to justify maintaining it; not to mention that we don't wish to invest
the work that would be needed to make it play nicely with Hot Standby.

Aside from the code directly related to old-style VACUUM FULL, this commit
removes support for certain WAL record types that could only be generated
within VACUUM FULL, redirect-pointer removal in heap_page_prune, and
nontransactional generation of cache invalidation sinval messages (the last
being the sticking point for Hot Standby).

We still have to retain all code that copes with finding HEAP_MOVED_OFF and
HEAP_MOVED_IN flag bits on existing tuples.  This can't be removed as long
as we want to support in-place update from pre-9.0 databases.
2010-02-08 04:33:55 +00:00
..
.cvsignore Remove all traces that suggest that a non-Bison yacc might be supported, and 2008-08-29 13:02:33 +00:00
analyze.c Do parse analysis of an EXPLAIN's contained statement during the normal 2010-01-15 22:36:35 +00:00
gram.y Remove old-style VACUUM FULL (which was known for a little while as 2010-02-08 04:33:55 +00:00
keywords.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
kwlookup.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
Makefile Fix a few places where we needed -I. in CPPFLAGS to work properly in 2010-01-05 03:56:52 +00:00
parse_agg.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
parse_clause.c Create a "relation mapping" infrastructure to support changing the relfilenodes 2010-02-07 20:48:13 +00:00
parse_coerce.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
parse_cte.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
parse_expr.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
parse_func.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
parse_node.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
parse_oper.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
parse_param.c Make fixed_paramref_hook behave properly when there are 'unused' slots 2010-01-13 01:17:07 +00:00
parse_relation.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
parse_target.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
parse_type.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
parse_utilcmd.c Fix unwarranted assumption that a cached rowtype would stick around 2010-02-03 05:46:37 +00:00
parser.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
README Implement parser hooks for processing ColumnRef and ParamRef nodes, as per my 2009-10-31 01:41:31 +00:00
scan.l Fix unportable use of isxdigit() with char (rather than unsigned char) 2010-01-16 17:39:55 +00:00
scansup.c Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00

$PostgreSQL: pgsql/src/backend/parser/README,v 1.11 2009/10/31 01:41:31 tgl Exp $

Parser
======

This directory does more than tokenize and parse SQL queries.  It also
creates Query structures for the various complex queries that are passed
to the optimizer and then executor.

parser.c	things start here
scan.l		break query into tokens
scansup.c	handle escapes in input strings
kwlookup.c	turn keywords into specific tokens
keywords.c	table of standard keywords (passed to kwlookup.c)
gram.y		parse the tokens and produce a "raw" parse tree
analyze.c	top level of parse analysis for optimizable queries
parse_agg.c	handle aggregates, like SUM(col1),  AVG(col2), ...
parse_clause.c	handle clauses like WHERE, ORDER BY, GROUP BY, ...
parse_coerce.c	handle coercing expressions to different data types
parse_cte.c	handle Common Table Expressions (WITH clauses)
parse_expr.c	handle expressions like col, col + 3, x = 3 or x = 4
parse_func.c	handle functions, table.column and column identifiers
parse_node.c	create nodes for various structures
parse_oper.c	handle operators in expressions
parse_param.c	handle Params (for the cases used in the core backend)
parse_relation.c support routines for tables and column handling
parse_target.c	handle the result list of the query
parse_type.c	support routines for data type handling
parse_utilcmd.c	parse analysis for utility commands (done at execution time)