postgresql/src/backend/parser
Tom Lane 2f63232d30 Promote row expressions to full-fledged citizens of the expression syntax,
rather than allowing them only in a few special cases as before.  In
particular you can now pass a ROW() construct to a function that accepts
a rowtype parameter.  Internal generation of RowExprs fixes a number of
corner cases that used to not work very well, such as referencing the
whole-row result of a JOIN or subquery.  This represents a further step in
the work I started a month or so back to make rowtype values into
first-class citizens.
2004-05-10 22:44:49 +00:00
..
.cvsignore
analyze.c ALTER TABLE rewrite. New cool stuff: 2004-05-05 04:48:48 +00:00
gram.y Promote row expressions to full-fledged citizens of the expression syntax, 2004-05-10 22:44:49 +00:00
keywords.c Change COPY CSV keyword to be: 2004-04-21 00:34:18 +00:00
Makefile $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
parse_agg.c Fix oversight in check_ungrouped_columns optimization that avoids 2004-01-28 07:46:44 +00:00
parse_clause.c Tweak findTargetlistEntry so that bare names occurring in GROUP BY clauses 2004-04-18 18:12:58 +00:00
parse_coerce.c Promote row expressions to full-fledged citizens of the expression syntax, 2004-05-10 22:44:49 +00:00
parse_expr.c Promote row expressions to full-fledged citizens of the expression syntax, 2004-05-10 22:44:49 +00:00
parse_func.c Fix poor choice of error message in corner cases. 2004-04-02 21:30:44 +00:00
parse_node.c $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
parse_oper.c $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
parse_relation.c Tweak findTargetlistEntry so that bare names occurring in GROUP BY clauses 2004-04-18 18:12:58 +00:00
parse_target.c Promote row expressions to full-fledged citizens of the expression syntax, 2004-05-10 22:44:49 +00:00
parse_type.c Revise syntax-error reporting behavior to give pleasant results for 2004-03-21 22:29:11 +00:00
parser.c Replace max_expr_depth parameter with a max_stack_depth parameter that 2004-03-24 22:40:29 +00:00
README
scan.l Implement dollar-quoting in the backend lexer and psql. Documentation 2004-02-24 21:45:18 +00:00
scansup.c Implement a solution to the 'Turkish locale downcases I incorrectly' 2004-02-21 00:34:53 +00:00

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

parser.c	things start here
scan.l		break query into tokens
scansup.c	handle escapes in input
keywords.c	turn keywords into specific tokens
gram.y		parse the tokens and fill query-type-specific structures
analyze.c	handle post-parse processing for each query type
parse_clause.c	handle clauses like WHERE, ORDER BY, GROUP BY, ...
parse_coerce.c	used for coercing expressions of different types
parse_expr.c	handle expressions like col, col + 3, x = 3 or x = 4
parse_oper.c	handle operations in expressions
parse_agg.c	handle aggregates, like SUM(col1),  AVG(col2), ...
parse_func.c	handle functions, table.column and column identifiers
parse_node.c	create nodes for various structures
parse_target.c	handle the result list of the query
parse_relation.c support routines for tables and column handling
parse_type.c	support routines for type handling